O Wallert Tracker é uma aplicação de controle financeiro pessoal para gerenciamento de receitas, despesas e metas, com autenticação por usuário e dashboard com visão consolidada dos dados.
- Wallert Tracker
O Wallert Tracker foi desenvolvido para ajudar no acompanhamento da vida financeira por usuário, com foco em organização, previsibilidade e evolução contínua dos hábitos financeiros.
Na aplicação, o usuário encontra uma experiência dividida por telas principais:
- Dashboard: visão consolidada com saldo atual, evolução mensal das despesas, previsão de gastos e alertas de comportamento por categoria;
- Transações: tela para registrar receitas e despesas, editar lançamentos e manter o histórico financeiro atualizado;
- Metas: área dedicada ao planejamento financeiro, permitindo criar objetivos, acompanhar progresso e manter o foco em resultados.
Além do controle diário, o sistema oferece recursos analíticos para apoiar decisões com base no próprio histórico financeiro.
Nesta tela, o usuário pode cadastrar e acompanhar metas financeiras pessoais, visualizando o andamento de cada objetivo para facilitar o planejamento de curto, médio e longo prazo.
Na tela de transações, é possível registrar entradas e saídas, classificar por categoria e manter um histórico organizado para análises e ajustes de orçamento.
Entre os principais recursos do projeto, destacam-se:
- registro de transações (entrada e saída);
- organização por categorias;
- análise de comportamento de gastos;
- acompanhamento de metas financeiras.
Cada conta possui dados isolados, garantindo que transações e configurações fiquem associadas ao usuário autenticado.
- Cadastro e login de usuários com JWT.
- Configuração inicial da conta (salário, saldo inicial, categorias extras, receita automática).
- CRUD de transações:
- criar;
- listar;
- editar;
- excluir.
- Gestão de metas financeiras.
- Dashboard com:
- saldo atual;
- previsão de gastos (suavização exponencial);
- insights de aumento de gastos por categoria;
- evolução mensal de despesas.
O projeto está organizado em dois módulos principais:
wallert-tracker/
├── backend/ # API REST (Spring Boot)
├── frontend/ # SPA (React + Vite + TypeScript)
└── docker-compose.yml # PostgreSQL
- Controller: expõe endpoints REST e valida acesso por usuário autenticado.
- Service: concentra regras de negócio (insights e previsão).
- Repository: acesso a dados via Spring Data JPA.
- Model: entidades JPA.
- Security: autenticação/autorização com JWT e Spring Security stateless.
- Pages/Components para Dashboard, Transações, Metas, Login, Cadastro e Configurações.
- Context API (
AuthContext) para estado de autenticação e token. - Cliente HTTP central (
services/api.ts) com interceptor para envio automático do token JWT.
- React 18
- TypeScript
- Vite
- React Router DOM
- Axios
- Recharts
- Lucide React
- Java 21
- Spring Boot 3
- Spring Web
- Spring Data JPA
- Spring Security
- JWT (JJWT)
- PostgreSQL
- Maven
- Lombok
- Node.js + npm
- Java 21
- Maven
- Docker + Docker Compose
Na raiz do projeto:
docker compose up -dNo diretório backend, copie o arquivo de exemplo e ajuste se necessário:
cd backend
cp .env.example .envcd ../frontend
npm installcd ../backend
mvn spring-boot:runAPI padrão: http://localhost:8080
Em outro terminal:
cd frontend
npm run devAplicação web: http://localhost:5173