Skip to content

LucasFerrDev/wallert-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wallert Tracker

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.

Dashboard do Wallert Tracker

Índice

1. Sobre a aplicação

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.

Tela de Metas

Tela de Metas

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.

Tela de Transações

Tela de Transações

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.

2. Funcionalidades

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

3. Estrutura do projeto e arquitetura

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

Arquitetura utilizada

Backend (arquitetura em camadas)

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

Frontend (arquitetura por features/telas)

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

4. Tecnologias e bibliotecas

Frontend

  • React 18
  • TypeScript
  • Vite
  • React Router DOM
  • Axios
  • Recharts
  • Lucide React

Backend

  • Java 21
  • Spring Boot 3
  • Spring Web
  • Spring Data JPA
  • Spring Security
  • JWT (JJWT)
  • PostgreSQL
  • Maven
  • Lombok

5. Como executar o projeto

Pré-requisitos

  • Node.js + npm
  • Java 21
  • Maven
  • Docker + Docker Compose

1. Subir banco de dados

Na raiz do projeto:

docker compose up -d

2. Configurar variáveis do backend

No diretório backend, copie o arquivo de exemplo e ajuste se necessário:

cd backend
cp .env.example .env

3. Instalar dependências do frontend

cd ../frontend
npm install

4. Iniciar backend

cd ../backend
mvn spring-boot:run

API padrão: http://localhost:8080

5. Iniciar frontend

Em outro terminal:

cd frontend
npm run dev

Aplicação web: http://localhost:5173

About

Sistema de controle de gastos e receitas pessoais.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors