Skip to content

devguilherme-b/CashFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 Projeto - CashFlow

Status Versão

Autor: Guilherme Barbosa

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

Diagrama de dependência do projeto

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 instalado
  • Banco de dados MySQL

Instalação

  1. Clone o repositório:

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