O Finance System é um sistema de gerenciamento financeiro pessoal desenvolvido como projeto acadêmico, mas com visão de se tornar um SaaS (Software as a Service).
O objetivo é proporcionar ao usuário uma forma simples e organizada de controlar seus gastos e receitas, com relatórios inteligentes e gráficos interativos.
- Cadastro de usuários (login/autenticação).
- Registro de receitas e despesas.
- Definição de salário fixo e rendas variáveis.
- Classificação de transações por categorias (Essencial, Lazer, Investimentos, etc).
- Relatórios mensais e semanais.
- Gráfico de Pareto para identificar os maiores gastos.
- Exportação de relatórios em PDF.
- Painel com gráficos de investimentos e evolução financeira.
finance-system/
├── financeiro.sln # Solution principal
├── backend/ # API ASP.NET Core
│ ├── Controllers/ # APIs REST
│ ├── Data/ # Contexto do EF Core
│ ├── DTOs/ # Data Transfer Objects
│ ├── Interfaces/ # Contratos (Services/Repos)
│ ├── Models/ # Entidades do sistema
│ ├── Repositories/ # Acesso a dados
│ ├── Services/ # Lógica de negócio
│ ├── Utils/ # Utilitários
│ ├── Program.cs # Configuração da aplicação
│ └── backend.csproj # Projeto C#
├── frontend/ # Aplicação React
│ ├── src/ # Código fonte React
│ └── package.json # Dependências Node.js
├── .github/ # GitHub Actions
├── docs/ # Documentação
├── docker-compose.yml # Orquestração Docker
└── README.md # Este arquivo
- Backend: ASP.NET Core 9, Entity Framework Core, PostgreSQL
- Frontend: React
- Banco de Dados: PostgreSQL
- Containerização: Docker & Docker Compose
- CI/CD: GitHub Actions
- ORM: Entity Framework Core
- .NET 9 SDK
- Node.js (para o frontend)
- Docker (obrigatório para containerização)
Para codar com hot reload:
git clone https://github.com/Juniorc027/Finance-System.git
cd Finance-System
# Usando script PowerShell (recomendado)
.\docker.ps1 dev
# Ou comando direto
docker-compose -f docker-compose.dev.yml upAcesse:
- Frontend: http://localhost:3000 (hot reload ativado! 🔥)
- Backend: http://localhost:8080
- MySQL: localhost:3307
Vantagens:
- ✅ Mudanças no código aparecem instantaneamente
- ✅ Não precisa rebuild a cada alteração
- ✅ Console.log funciona normalmente
Para apresentar ou fazer deploy:
# Usando script PowerShell (recomendado)
.\docker.ps1 prod
# Ou comando direto
docker-compose up --build -dAcesse:
- Frontend: http://localhost:3000 (build otimizado)
- Backend: http://localhost:8080
- MySQL: localhost:3307
Vantagens:
- ✅ Performance máxima
- ✅ Build otimizado e minificado
- ✅ Ambiente idêntico à produção
# Ver logs em tempo real
.\docker.ps1 logs
# Parar containers
.\docker.ps1 stop
# Limpar tudo (incluindo banco)
.\docker.ps1 clean
# Ver ajuda
.\docker.ps1 help📚 Documentação Completa: docs/development/DockerDevelopmentGuide.md
Se o dashboard mostrar tela preta após o login, consulte o guia de correção:
- 📄 Quick Fix (5 min) - Solução rápida
- 📘 Guia Completo - Explicação detalhada
- 🔧 Troubleshooting - Índice de todos os problemas
Causa: Incompatibilidade de tipos TypeScript que corrompe o bundle de produção.
Solução: Atualizar src/pages/DashboardInteligente.tsx conforme guia.
✅ Roadmap de Features Cadastro e autenticação de usuários
CRUD de transações financeiras
Relatórios em PDF
Dashboard com gráfico de Pareto
Integração com APIs de mercado financeiro