This API, developed using .NET 8, follows the principles of Domain-Driven Design (DDD) to provide a well-structured and effective solution for managing personal expenses. Its main goal is to allow users to record their expanses, including details such as title, date and time, description, amount, and payment type; With the data being securely stored in a MySQL database.
The API architecture is based on REST, using standard HTTP methods for a efficient and simplified communication. Furthermore, it is complemented by Swagger documentation, which provides an interactive graphical interface that allows developers to easily explore and test the endpoints.
Among the NuGet packages used, AutoMapper is responsible for mapping between domain objects and request/response models, reducing the need for repetitive and manual code. Shouldly is used in unit tests to make assertions more readable, helping to write clear and understandable tests. For Validations, FluentValidation is used to implement intuitive validation rules within request classes, keeping the code clean and easy to maintain. Finally, Entity Framework acts as an ORM (Object-Realation Mapper), simplifying interactions with the database by allowing the use of .NET objects to manipulate data directly, without the need to deal with SQL queries.
- Domain-Driven Design (DDD): A modular structure that improves the understanding and maintainability of the application's domain.
- Unit Tests: Comprehensive tests using Shouldly to ensure functionality and quality.
- Report Generation: It is possible to export detailed reports to PDF and Excel, providing a clear and effective visual analysis of expenses.
- RESTful API with Swagger Documentation: A documented interface that makes it easy for developers to integrate and test the API.
Para obter uma cópia local funcionando, siga estes passos simples.
- Visual Studio versão 2022+ ou Visual Studio Code
- Windows 10+ ou Linux/MacOS com .NET SDK instalado
- MySql server
-
Clone o repositório:
git clone https://github.com/vitormarco/cashflow.git
-
Preencha as informações no arquivo
appsettings.Development.json -
Execute a API e aproveite o seu teste :)
