Multi-Tenant Invoice SaaS API

A production-style SaaS backend demonstrating multi-tenant architecture with shared database and tenant isolation using global query filters. Implements Domain Events for payment processing workflows, webhook handling, and activity timeline tracking.

Project information

  • CategoryopenSource
  • Role

    Solo Developer

  • Key Contributions
    • Designed multi-tenant architecture with shared database and tenant data isolation via global query filters.
    • Implemented CQRS with MediatR for clean separation of commands and queries.
    • Built Domain Events pattern for payment processing and webhook handling workflows.
    • Developed activity timeline system tracking all invoice and payment events as audit logs.
  • Architecture & Technical Decisions
    • Centralized authentication via Keycloak SSO to decouple authentication concerns from application logic
    • Implemented application-level RBAC to allow fine-grained access control across internal modules.
    • Chose Windows Task Scheduler for predictable and reliable execution in an on-premise enterprise environment.
    • Designed the system with modular boundaries to support future feature expansion and maintenance.
  • Technology Stack
    • ASP.NET Core Web API
    • C#
    • Clean Architecture
    • CQRS
    • MediatR
    • Domain Events
    • Entity Framework Core
    • SQL Server
    • Swagger
  • ClientPersonal Project
  • Project date2026
  • Note:

    Open source project. Source code available on GitHub.

  • View