Treasure é um aplicativo de controle financeiro projetado para ajudar os usuários a gerenciar suas finanças de forma eficaz e segura. Este projeto foi desenvolvido como TCC (Trabalho de Conclusão de Curso) do curso de Pós-graduação em Desenvolvimento Full Stack pela PUCRS (Pontifícia Universidade Católica do Rio Grande do Sul).
Você pode acessar o projeto "Treasure" através do seguinte link: Treasure - Controle Financeiro.
- Funcionalidades
- Tecnologias Utilizadas
- Estrutura do Projeto
- Como Rodar Localmente
- Contribuição
- Licença
- Registro de Receitas e Despesas: Permite aos usuários registrar todas as suas transações financeiras.
- Histórico de Transações: Exibe um histórico detalhado de todas as transações realizadas.
- Cálculo de Saldo em Tempo Real: Calcula automaticamente o saldo do usuário com base nas transações registradas.
- Limites de Gastos: Permite aos usuários definir limites de gastos e monitorar esses limites.
- Frontend: Next.js, ShadcnUI, Tailwind CSS
- Backend: Node.js, Express
- Banco de Dados: PostgreSQL, Prisma ORM
- Autenticação: Google OAuth 2.0
- Containerização: Docker-compose
O projeto é dividido em três principais componentes:
- Frontend: Desenvolvido com Next.js, utilizando ShadcnUI e Tailwind CSS para a interface do usuário.
- Backend: Implementado com Node.js e Express, responsável pela lógica do servidor e comunicação com o banco de dados.
- Banco de Dados: PostgreSQL, gerenciado pelo Prisma ORM, para armazenar todas as transações e informações financeiras dos usuários.
Para rodar o projeto localmente, você precisa ter instalado em sua máquina:
- Docker (certifique-se de que o Docker está rodando corretamente)
-
Clone o repositório
git clone https://github.com/seu-usuario/treasure.git cd treasure -
Configuração das Variáveis de Ambiente
Crie um arquivo
.envno diretóriobackendcom as seguintes variáveis:cd backend touch .envAbra o arquivo
.enve adicione as seguintes variáveis:DATABASE_URL=postgresql://usuario:senha@localhost:5432/treasure SALT_ROUNDS=10 GOOGLE_CLIENT_ID=seu-google-client-id GOOGLE_CLIENT_SECRET=seu-google-client-secret GOOGLE_REDIRECT_URL=http://localhost:3000/auth/google/callback PRIVATE_KEY=sua-chave-privada PUBLIC_KEY=sua-chave-publica FRONTEND_URL=http://localhost:3000 GOOGLE_EMAIL_TEST=email@teste.com
- DATABASE_URL: URL de conexão com o banco de dados PostgreSQL.
- SALT_ROUNDS: Número de rodadas para o hashing de senhas.
- GOOGLE_CLIENT_ID: ID do cliente OAuth 2.0 do Google.
- GOOGLE_CLIENT_SECRET: Segredo do cliente OAuth 2.0 do Google.
- GOOGLE_REDIRECT_URL: URL de redirecionamento após a autenticação com o Google.
- PRIVATE_KEY: Chave privada usada para criptografia de dados.
- PUBLIC_KEY: Chave pública correspondente à chave privada, usada para verificar dados criptografados.
- FRONTEND_URL: URL do frontend da aplicação, normalmente algo como
http://localhost:3000durante o desenvolvimento. - GOOGLE_EMAIL_TEST: Endereço de e-mail de teste para simular login do Google OAuth.
No diretório raiz do projeto, execute:
docker-compose up --build
Isso irá construir e iniciar os containers necessários para rodar o frontend, backend e o banco de dados PostgreSQL.
Após os containers estarem rodando, abra o seu navegador e acesse:
A aplicação estará pronta para uso.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests para melhorias ou correções de bugs.
Este projeto é licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter mais informações.
