CashFlow API

Explore
CashFlow API

This API, developed using .NET 8, adopts the principles of Domain-Driven Design (DDD) to provide a structured and effective solution for managing personal expenses. The main objective is to allow users to record their expenses, detailing information such as title, date and time, description, amount, and payment type, with data securely stored in a MySQL database.

The architecture of the API is based on REST, utilizing standard HTTP methods for efficient and simplified communication. Additionally, it is complemented by Swagger documentation, providing an interactive graphical interface for developers to explore and test the endpoints easily.

Among the NuGet packages used, AutoMapper is responsible for mapping between domain objects and request/response objects, reducing the need for repetitive and manual code. FluentAssertions is used in unit tests to make assertions more readable, helping to write clear and comprehensible tests. For validations, FluentValidation is used to implement validation rules in a simple and intuitive way in request classes, keeping the code clean and easy to maintain. Finally, EntityFramework acts as an ORM (Object-Relational Mapper) that simplifies interactions with the database, allowing the use of .NET objects to manipulate data directly, without the need to deal with SQL queries.