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