Sistema fullstack para gerenciamento de finanças pessoais ou compartilhadas. Permite o registro e divisão de despesas, acompanhamento de saldos individuais, geração de relatórios e sugestões inteligentes com uso de IA.
- Autenticação: Cadastro e login seguro de usuários
- Gerenciamento de Grupos: Criação e administração de grupos financeiros
- Controle de Despesas: Adição e divisão automática de gastos
- Saldos em Tempo Real: Visualização de saldo individual e do grupo
- Dashboard Intuitivo: Resumo completo de gastos e estatísticas
- Histórico de Transações: Visualização detalhada de todas as movimentações
- IA para Categorização: Classificação automática de despesas
- Sugestões Inteligentes: Recomendações personalizadas de economia
- Alertas Preditivos: Notificações sobre gastos atípicos
- Entrada por Voz: Lançamento de despesas via speech-to-text
- Leitura de QR Code: Registro automático via códigos QR
- Relatórios Avançados: Análises detalhadas com gráficos
- Integração Bancária: Sincronização com contas bancárias
- App Mobile: Aplicativo nativo para iOS e Android
- ☕ Java 17+ - Linguagem principal
- 🍃 Spring Boot 3.2+ - Framework web
- 🔐 Spring Security - Autenticação e autorização
- 🗄️ PostgreSQL - Banco de dados relacional
- 🔄 JPA / Hibernate - Mapeamento objeto-relacional
- 🧪 JUnit 5 + Mockito - Testes unitários e de integração
- 📊 Spring Data JPA - Acesso a dados simplificado
- ⚛️ React.js 18+ - Biblioteca de interface
- ⚡ Vite - Build tool e dev server
- 🎨 TailwindCSS - Framework CSS utilitário
- 📡 Axios - Cliente HTTP para requisições
- 🔐 JWT - Autenticação via tokens
- 🧪 Jest + React Testing Library - Testes de componentes
- 📊 Recharts - Gráficos e visualizações
- 🐳 Docker - Containerização
- 🔧 Maven - Gerenciamento de dependências (Backend)
- 📦 npm - Gerenciamento de pacotes (Frontend)
- 🌐 GitHub Actions - CI/CD
- 📝 ESLint + Prettier - Padronização de código
| Caminho | Conteúdo |
|-------------------|-----------------------------------------------------------------------|
| `frontend/` | Aplicação React (interface) |
| `backend/` | API REST em Spring Boot |
| `docs/` | Documentação técnica do projeto em Markdown (usada com MkDocs) |
| `project_docs/` | Documentos de planejamento, requisitos, MVPs, diagramas, atas, etc. |
| `README.md` | Apresentação geral do projeto |
- Node.js 18+ e npm
- Java 17+ e Maven
- PostgreSQL 15+
- Docker (opcional)
- Clone o repositório
git clone https://github.com/sua-organizacao/controle-financeiro.git
cd controle-financeiro- Configure o banco de dados
# Crie um banco PostgreSQL
createdb controle_financeiro
# Configure as variáveis de ambiente
cp backend/src/main/resources/application.yml.example backend/src/main/resources/application.ymlcd backend
# Instale as dependências
./mvnw clean install
# Execute a aplicação
./mvnw spring-boot:run
# A API estará disponível em http://localhost:8080cd frontend
# Instale as dependências
npm install
# Execute em modo de desenvolvimento
npm run dev
# A aplicação estará disponível em http://localhost:5173# Execute todos os serviços
docker-compose up -d
# Para parar os serviços
docker-compose downcd backend
# Executar todos os testes
./mvnw test
# Executar testes com relatório de cobertura
./mvnw test jacoco:report
# Executar apenas testes unitários
./mvnw test -Dtest="*UnitTest"
# Executar apenas testes de integração
./mvnw test -Dtest="*IntegrationTest"cd frontend
# Executar todos os testes
npm test
# Executar testes com cobertura
npm run test:coverage
# Executar testes em modo watch
npm run test:watch- Cobertura de Testes: Meta de 80%+
- Análise de Código: SonarQube
- Performance: Lighthouse Score 90+
- Acessibilidade: WCAG 2.1 AA
- Fork este repositório
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -m 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
feat:Nova funcionalidadefix:Correção de bugdocs:Documentaçãostyle:Formatação de códigorefactor:Refatoraçãotest:Testeschore:Tarefas de manutenção
| Área | Membros |
|---|---|
| 🏆 Gestão do Projeto | Alan |
| 🔧 Backend | Bruno, Cristiano, Eduardo, João |
| 🎨 Frontend | Cleiton, Ana, Ellen, Mariana, Raquel |
Este projeto foi desenvolvido como trabalho final do curso Desenvolvimento Full-Stack da Prati+. O objetivo é demonstrar competências em:
- Desenvolvimento de APIs REST com Spring Boot
- Criação de interfaces modernas com React
- Implementação de autenticação e autorização
- Trabalho em equipe e metodologias ágeis
- Boas práticas de desenvolvimento e DevOps
Este projeto é de uso educacional, desenvolvido no curso de Desenvolvimento Full-Stack Jr – +Prati & Codifica.
Para dúvidas, sugestões ou feedback:
- 💬 Discord: [Link do servidor]
- 🐛 Issues: Reporte bugs aqui