https://github.com/devguilherme-b/cashflow
Controle de despesas em ASP.NET Core (Web API + MVC) com MySQL e exportação para Excel.
https://github.com/devguilherme-b/cashflow
api-rest asp-net-core automapper bogus csharp databases dbcontext dependency-injection entity-framework-core exceptions extension-methods filters fluent-validation middlewares mysql scoped shouldly test unit-testing xunit
Last synced: 7 days ago
JSON representation
Controle de despesas em ASP.NET Core (Web API + MVC) com MySQL e exportação para Excel.
- Host: GitHub
- URL: https://github.com/devguilherme-b/cashflow
- Owner: devguilherme-b
- Created: 2025-07-05T00:21:12.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-10-08T14:43:32.000Z (8 days ago)
- Last Synced: 2025-10-08T16:31:51.527Z (8 days ago)
- Topics: api-rest, asp-net-core, automapper, bogus, csharp, databases, dbcontext, dependency-injection, entity-framework-core, exceptions, extension-methods, filters, fluent-validation, middlewares, mysql, scoped, shouldly, test, unit-testing, xunit
- Language: C#
- Homepage:
- Size: 14.5 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📘 Projeto - CashFlow

**Autor**: [Guilherme Barbosa](https://github.com/devguilherme-b)
## Sobre o projeto
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.
### Features
- **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.### Construído com
![badge-dot-net]
![badge-windows]
![badge-visual-studio]
![badge-mysql]
![badge-swagger]
## Diagrama de dependências
![]()
#### Entendendo o diagrama:
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.## Getting Started
Para obter uma cópia do projeto siga os seguintes passos:
### Requisitos
- Visual Studeo versão 2022+ ou Visual Studeo Code
- Windows 10+ ou Linux/MasOS com [.NET SDK](https://dotnet.microsoft.com/pt-br/download) instalado
- Banco de dados MySQL### Instalação
1. Clone o repositório:
```sh
git clone https://github.com/devguilherme-b/CashFlow.git
```2. Acesse o projeto e preencha as informações no arquivo `appsettings.Development.json`
3. Execute a aplicação
## Créditos
Este software é fruto de um projeto prático presente na **Formação C#** da [Rocketseat](https://www.rocketseat.com.br/). 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.## 📬 Meios de Contato
- **Email**: [devguilhermebarbos@gmail.com](mailto:devguilhermebarbos@gmail.com)
- **LinkedIn**: [linkedin.com/in/devguilhermebarbosa](https://linkedin.com/in/devguilhermebarbosa)
- **GitHub**: [github.com/devguilherme-b](https://github.com/devguilherme-b)[badge-dot-net]: https://img.shields.io/badge/.NET-512BD4?logo=dotnet&logoColor=fff&style=for-the-badge
[badge-windows]: https://img.shields.io/badge/Windows-0078D4?logo=windows&logoColor=fff&style=for-the-badge
[badge-visual-studio]: https://img.shields.io/badge/Visual%20Studio-5C2D91?logo=visualstudio&logoColor=fff&style=for-the-badge
[badge-mysql]: https://img.shields.io/badge/MySQL-4479A1?logo=mysql&logoColor=fff&style=for-the-badge
[badge-swagger]: https://img.shields.io/badge/Swagger-85EA2D?logo=swagger&logoColor=000&style=for-the-badge