Um aplicativo moderno de controle financeiro pessoal que ajuda você a gerenciar despesas, categorizar transações e visualizar padrões de gastos com uma interface elegante e intuitiva.
Fintrack is a modern personal finance tracking application built with React, Vite, and Supabase. It helps users manage expenses, categorize transactions, and visualize spending patterns through an elegant and intuitive dark-themed interface. Features include secure authentication, interactive dashboard, transaction management, category system, and responsive design.
- 🔐 Autenticação Segura: Login e cadastro com Supabase Auth
- 📊 Dashboard Interativo: Visão geral das finanças com gráficos e estatísticas
- 💳 Gerenciamento de Transações: Adicione, edite e exclua transações facilmente
- 🏷️ Sistema de Categorias: Organize suas despesas e receitas por categoria
- 🎨 Interface Moderna: Design dark com Tailwind CSS e Lucide icons
- 📱 Responsivo: Funciona perfeitamente em desktop e mobile
- 🔒 Segurança: Row Level Security (RLS) no Supabase para proteção de dados
- React 18 - Biblioteca JavaScript para interfaces
- Vite - Build tool rápido e moderno
- Tailwind CSS - Framework CSS utilitário
- Lucide React - Ícones modernos e consistentes
- React Router - Roteamento para SPA
- Supabase - Plataforma backend-as-a-service
- PostgreSQL - Banco de dados relacional
- Supabase Auth - Autenticação e autorização
- Row Level Security - Segurança a nível de linha
- ESLint - Linting e formatação de código
- Vite Plugin React - Integração React com Vite
Antes de começar, você vai precisar ter instalado em sua máquina:
git clone https://github.com/seu-usuario/fintrack.git
cd fintracknpm install
# ou
yarn installCrie um arquivo .env.local na raiz do projeto com suas credenciais do Supabase:
VITE_SUPABASE_URL=https://seu-projeto.supabase.co
VITE_SUPABASE_ANON_KEY=sua-chave-anonima-aqui- Acesse seu painel do Supabase
- Crie um novo projeto ou use um existente
- Vá para o SQL Editor
- Execute o script de políticas em
SUPABASE_POLICY.mdpara configurar a segurança das tabelas
npm run dev
# ou
yarn devO aplicativo estará disponível em http://localhost:5173
fintrack/
├── public/ # Arquivos estáticos
├── src/
│ ├── assets/ # Imagens e recursos
│ ├── components/ # Componentes reutilizáveis
│ │ └── ProtectedRoute.jsx
│ ├── contexts/ # Contextos React
│ │ └── AuthContext.jsx
│ ├── lib/ # Utilitários e configurações
│ │ └── supabase.js
│ ├── pages/ # Páginas da aplicação
│ │ ├── Categories.jsx
│ │ ├── Dashboard.jsx
│ │ ├── Login.jsx
│ │ └── Transactions.jsx
│ ├── App.css # Estilos globais
│ ├── App.jsx # Componente principal
│ └── main.jsx # Ponto de entrada
├── SUPABASE_POLICY.md # Políticas de segurança do Supabase
├── package.json # Dependências e scripts
├── vite.config.js # Configuração do Vite
└── README.md # Este arquivo
npm run dev- Inicia o servidor de desenvolvimentonpm run build- Cria build de produçãonpm run preview- Visualiza o build de produção localmentenpm run lint- Executa o linter ESLint
Para que o aplicativo funcione corretamente, é necessário configurar as políticas de segurança no Supabase. Consulte o arquivo SUPABASE_POLICY.md para obter as instruções detalhadas.
As tabelas principais do projeto são:
categories- Categorias de despesas/receitastransactions- Transações financeiras
Contribuições são sempre bem-vindas! Para contribuir:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.