Este repositório contém um projeto full stack desenvolvido para gerenciar suas finanças pessoais. A plataforma permite o acompanhamento de rendas e despesas, categorização de transações e atribuição a contas específicas, além de importar transações através de um arquivo CSV.
- Dashboard Financeiro Interativo: Visualize suas finanças de forma clara e dinâmica.
- Tipos de Gráficos Variáveis: Alterne entre diferentes tipos de gráficos para melhor visualização dos dados.
- Filtros por Conta e Data: Filtre transações por contas específicas e intervalos de datas.
- Tabela de Transações Detalhadas: Visualize todas as transações com detalhes.
- Formulário para Adicionar Transações: Adicione novas transações facilmente.
- Componentes de Seleção Personalizáveis: Customize os componentes de seleção para melhor usabilidade.
- Alternância de Renda e Despesa: Visualize separadamente suas rendas e despesas.
- Importação de Transações via CSV: Importe transações diretamente de um arquivo CSV.
- Autenticação via Clerk: Sistema de autenticação seguro.
- Exclusão em Massa e Pesquisa de Transações: Gerencie suas transações de forma eficiente.
- Construído com Next.js 14: Framework robusto para desenvolvimento web.
- Estilizado com TailwindCSS e Shadcn UI: Interface moderna e responsiva.
- Gerenciamento de Estado com Tanstack React Query: Gerencie o estado da aplicação de forma eficiente.
- API via Hono.js: API rápida e eficiente para comunicação entre front-end e back-end.
- Banco de Dados PostgreSQL & Drizzle ORM: Persistência de dados robusta e segura.
Para rodar o projeto, siga os passos abaixo:
1. Clone o repositório em sua máquina
2. Instale as dependências com `npm install`.
3. Configure as variáveis de ambiente no arquivo `.env.local`.
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
DATABASE_URL=
NEXT_PUBLIC_APP_URL=http://localhost:3000
4. Inicie o projeto com `npm run dev`.
5. Rode o comando `npm run db:generate` para gerar os schemas das tabelas.
6. Rode o comando `npm run db:migrate` para migrar as informações.
7. Rode o comando `npm run db:seed` caso queira popular seu banco com alguns dados mockados.
- Integração com Plaid para conexão com contas bancárias.
- Monetização do produto utilizando Lemon Squeezy.
- Testes Unitários e de Integração: Desenvolver testes automatizados para garantir a estabilidade e o funcionamento correto das funcionalidades implementadas, utilizando ferramentas como Jest e React Testing Library.
- Endpoint de Estatísticas: Desenvolver um endpoint dedicado para fornecer estatísticas sobre transações financeiras.
- Endpoint de Importação/Exportação: Implementar endpoints para importar e exportar dados de transações financeiras.
|
Murilohim |
🟢 Finalizado