Corporate application developed to demonstrate advanced architectural patterns, financial data integrity, and high-performance read operations using CQRS.
The solution follows Clean Architecture and Domain-Driven Design (DDD), keeping business rules completely isolated from infrastructure and frameworks.
To support scalability and high throughput, the application adopts CQRS (Command Query Responsibility Segregation).
- Entity Framework Core
- Unit of Work
- Rich Domain Model
- Optimistic Concurrency
- ACID Transactions
- FluentValidation
- MediatR
Business operations pass through the domain layer, ensuring consistency and protecting financial transactions.
- Dapper
- Native SQL
- Lightweight DTOs
- Optimized Queries
Read operations bypass ORM tracking, delivering significantly faster dashboard and reporting performance.
| Pattern | Purpose |
|---|---|
| β Clean Architecture | Separation of concerns |
| β Domain-Driven Design | Rich business domain |
| β CQRS | Read/Write segregation |
| β Unit of Work | Transaction management |
| β Repository Pattern | Persistence abstraction |
| β MediatR | Decoupled application layer |
| β Result Pattern | Business validation without exceptions |
| β Dependency Injection | Loose coupling |
| β Idempotency | Prevent duplicate financial requests |
| Technology | Description |
|---|---|
| .NET 8 | Backend |
| C# | Programming Language |
| Entity Framework Core | Commands |
| Dapper | High-performance Queries |
| MediatR | CQRS |
| FluentValidation | Validation |
| LINQ | Data Manipulation |
| xUnit | Unit Tests |
| Moq | Mocking |
| Technology | Description |
|---|---|
| Angular | SPA |
| TypeScript | Language |
| SCSS | Styling |
| RxJS | Reactive Programming |
| HTTP Interceptors | Authentication & Error Handling |
| Technology | Description |
|---|---|
| Oracle Database | Relational Database |
| Docker | Containers |
| Docker Compose | Local Environment |
| Kubernetes | Deployment |
| GitHub Actions | CI/CD |
src
βββ FinancialSystem.Domain
β βββ Entities
β βββ ValueObjects
β βββ Enums
β βββ Events
β βββ Interfaces
β
βββ FinancialSystem.Application
β βββ Commands
β βββ Queries
β βββ DTOs
β βββ Validators
β βββ Behaviors
β
βββ FinancialSystem.Infrastructure
β βββ Persistence
β βββ Dapper
β βββ Repositories
β βββ Services
β
βββ FinancialSystem.API
βββ Controllers
βββ Middleware
βββ Filters
βββ Configuration
frontend
βββ financial-app
k8s
βββ deployment
- Docker Desktop
- .NET SDK 8
- Node.js
- Angular CLI
git clone https://github.com/your-user/finops-core.git
cd finops-coredocker compose up -d dbcd src/FinancialSystem.API
dotnet ef database update
dotnet runSwagger
https://localhost:5001/swagger
cd frontend/financial-app
npm install
ng servehttp://localhost:4200
cd src
dotnet test- Financial Reconciliation
- Cash Flow Management
- CQRS Architecture
- Dashboard Queries
- High Performance Reads
- Rich Domain Validation
- Transaction Management
- Optimistic Concurrency
- Idempotent Requests
- Unit Testing
Gabriel Campos
Licensed under the MIT License.