Skip to content

MrD4rkne/owe-me-api

Repository files navigation

OweMe API Documentation

Build release Daily tests Run Smoke Tests

Overview

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.

Project Structure

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

Technologies

  • .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).

Development

Prerequisites

  • .NET 9.0 SDK
  • Docker (for local development)
  • PostgreSQL (via Docker Compose)
  • Images of relevant services (f.e. owe-me-identityserver)

Local Setup

# 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 --build

Side-note

You can find how to acquire images of the dependencies in oweme-ecosystem

CI/CD

Project has CI/CD flow for easier development and deployment. See more in CI/CD readme.

Tests

How I try to verify stuff works :)

Tests readme

License

See License file

About

Api for tracking and sharing expenses.

Resources

License

Stars

Watchers

Forks

Contributors 6