OweMe API is a .NET-based web API built with Clean Architecture principles. The application manages financial tracking and ledger operations with a focus on maintainability, testability, and scalability.
The solution follows Clean Architecture patterns with clear separation of concerns:
OweMe.Api/
├── api/src/ # Main application source code
│ ├── OweMe.Api/ # 🎯 Presentation Layer - Web API endpoints
│ ├── OweMe.Application/ # 📋 Application Layer - Business logic & use cases
│ ├── OweMe.Domain/ # 🏛️ Domain Layer - Core business entities
│ ├── OweMe.Infrastructure/ # 🔧 Infrastructure Layer - External concerns
│ └── OweMe.Persistence/ # 💾 Data Access Layer - Database operations
├── api/tests/ # Test projects
├── client/ # Client-side code generation
└── docs/ # Documentation
- .NET 9.0: Core framework for building the API.
- PostgreSQL: Database for data persistence.
- Docker: Containerization for development and deployment.
- GitHub Actions: CI/CD pipeline for automated builds and tests.
- OpenApi 3.0, Scalar, NSWag: API documentation and client code generation.
- Wolverine: as mediator (and in the future as messaging framework).
- .NET 9.0 SDK
- Docker (for local development)
- PostgreSQL (via Docker Compose)
- Images of relevant services (f.e. owe-me-identityserver)
# Clone and navigate the ecosystem
git clone https://github.com/MrD4rkne/oweme-ecosystem/
cd owe-me-api
# Start
docker compose -f ../compose.yaml -f compose.override.yaml up --buildYou can find how to acquire images of the dependencies in oweme-ecosystem
Project has CI/CD flow for easier development and deployment. See more in CI/CD readme.
How I try to verify stuff works :)
See License file