Skip to content

Murilohim/Plataforma-Financeira

Repository files navigation

logo Plataforma SaaS Financeira: Gestão de Rendas e Despesas

📝 Descrição

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.

🔗 Link para acessar

📚 Funcionalidades

Front-end

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

Back-end

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

🔧 Tecnologias Utilizadas

Front-end

Back-end

🚀 Rodando o Projeto

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.

🔜 Implementação Futura

  • Integração com Plaid para conexão com contas bancárias.
  • Monetização do produto utilizando Lemon Squeezy.

💡 Sugestões

Front-end

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

Back-end

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

🤝 Colaboradores

Foto de Murilo Terenciani no GitHub
Murilohim

🎯 Status do Projeto

🟢 Finalizado

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages