A REST API for managing personal expenses and generating .xlsx reports. Built with advanced architectural patterns and best practices.
CashFlow is a personal finance management solution that enables:
- Expense tracking and categorization.
- Automated Excel (XLSX) report generation.
- Organization based on Domain-Driven Design (DDD) and SOLID principles.
- Excel Reports: Export financial data for detailed analysis.
- Modular Architecture: Clear separation of concerns (Domain, Application, and Infrastructure layers).
- Integrated Documentation: API documented via Scalar for easy integration.
- Language: C# 13.0
- Framework: .NET 9.0 + ASP.NET Core
- Patterns: DDD, SOLID, Clean Architecture
- Tools: Entity Framework Core, ClosedXML (XLSX generation)
# Clone the repository
git clone https://github.com/your-username/CashFlow.git
# Run
dotnet run
- Recommended IDE: JetBrains Rider (or Visual Studio 2022+)
- Database: Configured MySQL server.
- Operating System: Windows 10+, Linux, or macOS.
- SDK: .NET 9.0 installed (Download).
The project uses:
- Domain-Driven Design (DDD): For financial domain modeling.
- SOLID: Principles applied across all layers.
- Repository Pattern: Data access abstraction.
- Implement user authentication.
- Integrate external auth providers (Google, Microsoft).
API documentation is auto-generated via Scalar. To access:
- Run the project.
- Navigate to
/scalar
in your browser.
While this project does not actively seek contributions, suggestions are welcome!
🔹 Submit Pull Requests with documented improvements.
🔹 Report bugs via Issues.
Distributed under the MIT License. See LICENSE for details.
- Discord: Felipellira
- Email: [email protected]
- LinkedIn: linkedin.com/in/felipellira
- Rocketseat for Dotnet training.
- Uncle Bob for his teachings on software architecture and SOLID principles.
- This project is based on a modified version of Rocketseat's Cashflow.
- If you have any questions about the project, please feel free to reach out.