Skip to content

A REST API for managing personal expenses and generating .xlsx reports. Built with advanced architectural patterns and best practices.

License

Notifications You must be signed in to change notification settings

Felipellira/CashFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CashFlow 💸

C# .NET License: MIT

A REST API for managing personal expenses and generating .xlsx reports. Built with advanced architectural patterns and best practices.


🔍 Overview

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.

🚀 Key Features

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

🛠️ Technologies

  • Language: C# 13.0
  • Framework: .NET 9.0 + ASP.NET Core
  • Patterns: DDD, SOLID, Clean Architecture
  • Tools: Entity Framework Core, ClosedXML (XLSX generation)

⚙️ Installation

# Clone the repository
git clone https://github.com/your-username/CashFlow.git

# Run
dotnet run

📋 Requirements

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

🧠 Design Patterns

The project uses:

  • Domain-Driven Design (DDD): For financial domain modeling.
  • SOLID: Principles applied across all layers.
  • Repository Pattern: Data access abstraction.

🗺️ Roadmap

  • Implement user authentication.
  • Integrate external auth providers (Google, Microsoft).

📚 Documentation

API documentation is auto-generated via Scalar. To access:

  1. Run the project.
  2. Navigate to /scalar in your browser.

🤝 Contribution

While this project does not actively seek contributions, suggestions are welcome!
🔹 Submit Pull Requests with documented improvements.
🔹 Report bugs via Issues.


📜 License

Distributed under the MIT License. See LICENSE for details.


📬 Contact


🙌 Acknowledgments

  • Rocketseat for Dotnet training.
  • Uncle Bob for his teachings on software architecture and SOLID principles.

👀 Observations

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

About

A REST API for managing personal expenses and generating .xlsx reports. Built with advanced architectural patterns and best practices.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages