Autor: Guilherme Barbosa
Esta API foi desenvolvida para o registro de despesas, permitindo que os usuários informem dados como título, data e hora, descrição, valor e forma de pagamento. Todas as informações são armazenadas de forma segura em um banco de dados MySQL.
A aplicação utiliza a stack .NET com C#, estruturada com base em Domain-Driven Design (DDD), princípios SOLID e práticas modernas de validação com FluentValidation. Conta com exceptions customizadas, com mensagens de erro traduzidas automaticamente para quatro idiomas: Inglês, Francês, Português do Brasil e Português de Portugal. A definição do idioma é feita dinamicamente por meio de middlewares e filtros de requisição, com base nas configurações do dispositivo do usuário.
A API também oferece uma documentação interativa via Swagger, facilitando a exploração e testes dos endpoints por desenvolvedores.
-
CRUD completo: Permitindo a criação, consulta, edição e delete de despesas;
-
Geração de relatórios: Exporta relatórios detalhados para PDF e Excel, oferecendo uma análise visual e eficaz das despesas;
-
RESTful API com Documentação Swagger: Interface documentada que facilita a integração e o teste por parte dos desenvolvedores.;
-
Domain-Driven Design (DDD): Estrutura modular que facilita o entendimento e a manutenção do domínio da aplicação.
-
Testes de Unidade: Testes abrangentes com FluentAssertions para garantir a funcionalidade e a qualidade.
Cada seta representa uma dependência entre projetos. Um projeto independente é aquele que não possui dependências externas, ou seja, apenas recebe setas e não aponta para outros.
Para obter uma cópia do projeto siga os seguintes passos:
- Visual Studeo versão 2022+ ou Visual Studeo Code
- Windows 10+ ou Linux/MasOS com .NET SDK instalado
- Banco de dados MySQL
-
Clone o repositório:
git clone https://github.com/devguilherme-b/CashFlow.git
-
Acesse o projeto e preencha as informações no arquivo
appsettings.Development.json
-
Execute a aplicação
Este software é fruto de um projeto prático presente na Formação C# da Rocketseat. Durante o curso, foram abordados diversos tópicos essenciais para desenvolvedores .NET Backend, e cada conhecimento foi aplicado neste projeto.
Agradecimentos especiais para:
Rocketseat – Referência em educação para desenvolvedores.
Wellison Arley – Professor e guia técnico durante o desenvolvimento do projeto.
- Email: devguilhermebarbos@gmail.com
- LinkedIn: linkedin.com/in/devguilhermebarbosa
- GitHub: github.com/devguilherme-b