Uma aplicação moderna de controle financeiro pessoal desenvolvida com Next.js 15, React 19 e TypeScript, oferecendo uma interface intuitiva para gerenciar suas finanças de forma eficiente.
LedgixAI é uma plataforma completa de gestão financeira que permite aos usuários controlar suas receitas, despesas e investimentos de forma organizada e visual. Com um dashboard interativo e funcionalidades avançadas de análise, a aplicação oferece insights valiosos sobre seus hábitos financeiros.
- Adicionar Transações: Registre receitas, despesas e investimentos
- Categorização Inteligente: Organize transações por categorias (Moradia, Transporte, Alimentação, etc.)
- Múltiplos Métodos de Pagamento: Suporte para cartão de crédito, débito, PIX, transferência bancária e mais
- Histórico Completo: Visualize e gerencie todas as suas transações
- Visão Geral Financeira: Saldo total, receitas e despesas em tempo real
- Gráficos Interativos: Visualização de gastos por categoria
- Estatísticas Detalhadas: Análise de padrões de gastos e receitas
- Resumo Financeiro: Insights sobre sua situação financeira atual
- Autenticação Segura: Sistema robusto com Better Auth
- Gerenciamento de Sessões: Controle seguro de acesso
- Perfil de Usuário: Gestão completa da conta
- Design Responsivo: Funciona perfeitamente em desktop e mobile
- Tema Escuro/Claro: Alternância entre temas para melhor experiência
- Componentes Reutilizáveis: Interface consistente e profissional
- Animações Suaves: Experiência de usuário aprimorada
- Next.js 15: Framework React com App Router
- React 19: Biblioteca para interfaces de usuário
- TypeScript: Tipagem estática para maior segurança
- Tailwind CSS: Framework CSS utilitário
- Radix UI: Componentes acessíveis e customizáveis
- Lucide React: Ícones modernos e consistentes
- Recharts: Biblioteca para gráficos e visualizações
- PostgreSQL: Banco de dados relacional robusto
- Drizzle ORM: ORM type-safe para TypeScript
- Better Auth: Sistema de autenticação moderno
- ESLint: Linting para qualidade de código
- Prettier: Formatação automática de código
- Husky: Git hooks para automação
- Commitizen: Padronização de commits
- TypeScript ESLint: Regras específicas para TypeScript
- React Hook Form: Gerenciamento de formulários
- Zod: Validação de schemas
- React Number Format: Formatação de valores monetários
- Sonner: Notificações elegantes
- Next Themes: Gerenciamento de temas
- Node.js 18+
- pnpm (gerenciador de pacotes recomendado)
- PostgreSQL
git clone <url-do-repositorio>
cd LedgixAIpnpm install- Crie um banco PostgreSQL
- Configure as variáveis de ambiente (veja seção abaixo)
- Execute as migrações:
pnpm db:pushCrie um arquivo .env.local na raiz do projeto:
# Banco de Dados
DATABASE_URL="url"
# Autenticação
BETTER_AUTH_SECRET="seu-secret-key-aqui"
BETTER_AUTH_URL="http://localhost:3000"
# Next.js
NEXTAUTH_URL="http://localhost:3000"# Desenvolvimento
pnpm dev
# Produção
pnpm build
pnpm startA aplicação estará disponível em http://localhost:3000
src/
├── app/ # App Router do Next.js
│ ├── (main)/ # Rotas principais
│ │ ├── dashboard/ # Dashboard financeiro
│ │ └── transactions/ # Gestão de transações
│ ├── actions/ # Server Actions
│ ├── api/ # API Routes
│ ├── auth/ # Páginas de autenticação
│ └── types/ # Tipos TypeScript
├── components/ # Componentes React
│ ├── ui/ # Componentes de interface
│ └── _constants/ # Constantes e configurações
├── db/ # Configuração do banco
│ ├── index.ts # Conexão com o banco
│ └── schema.ts # Schema das tabelas
└── lib/ # Utilitários e configurações
├── auth.ts # Configuração de autenticação
└── utils.ts # Funções utilitárias
id: Identificador úniconame: Nome do usuárioemail: Email (único)emailVerified: Status de verificaçãoimage: Avatar do usuário
id: UUID únicotype: Tipo (DEPOSIT, EXPENSE, INVESTMENT)name: Descrição da transaçãoamount: Valor (decimal)category: Categoria da transaçãopaymentMethod: Método de pagamentodate: Data da transaçãouserId: Referência ao usuário
- HOUSING (Moradia)
- TRANSPORTATION (Transporte)
- FOOD (Alimentação)
- ENTERTAINMENT (Entretenimento)
- HEALTH (Saúde)
- UTILITY (Utilidades)
- SALARY (Salário)
- EDUCATION (Educação)
- OTHER (Outros)
# Desenvolvimento
pnpm dev # Inicia servidor de desenvolvimento
# Build e Produção
pnpm build # Gera build de produção
pnpm start # Inicia servidor de produção
# Qualidade de Código
pnpm lint # Executa ESLint
pnpm commit # Commit com Commitizen
# Banco de Dados
pnpm db:push # Aplica mudanças no schema
pnpm db:studio # Interface visual do banco- Faça um fork do 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 utiliza Conventional Commits:
feat: adiciona nova funcionalidade
fix: corrige um bug
docs: atualiza documentação
style: mudanças de formatação
refactor: refatoração de código
test: adiciona ou modifica testes
chore: tarefas de manutenção
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- Integração com APIs bancárias
- Relatórios em PDF
- Metas financeiras
- Notificações push
- App mobile
- Análise de IA para insights financeiros
Desenvolvido com ❤️ para ajudar você a ter controle total sobre suas finanças.