⚠️ Este projeto está em desenvolvimento.
Criado com o objetivo de aplicar conhecimentos em back-end com Node.js e boas práticas de segurança em APIs.
Estou seguindo um checklist de segurança que inclui validação de dados com Zod, autenticação com JWT, uso de Helmet.js, rate limiting, entre outras práticas recomendadas para proteger aplicações Node.js.
API REST para gerenciamento de finanças pessoais. Com ela, você pode cadastrar fontes de dívida (como cartão de crédito, bancos, empréstimos), registrar dívidas e organizar as parcelas. Ideal para quem quer ter controle total dos seus compromissos financeiros.
- Node.js
- Express
- Prisma ORM
- PostgreSQL
- Docker + Docker Compose
- JWT para autenticação
- Dev Container para ambiente de desenvolvimento
- Node.js
- Docker + Docker Compose
- VS Code com extensão "Dev Containers" (opcional, mas recomendado)
git clone https://github.com/seu-usuario/controle-contas.git
cd controle-contas
Crie um arquivo .env
na raiz do projeto com base no .env.example
.
docker compose up -d
Cmm o container rodando sem erros acesse o mesmo
docker exec -it backend_personal-finance-app sh
npm run db:migrate
npm run db:seed
npm run dev
A API estará disponível em: http://localhost:3000
A documentação da API (Swagger) pode ser acessada em: http://localhost:3000/api-docs. Faço o login em User, pegue o token gerado e authorize no Authorize do Swagger
Se estiver usando o VS Code com a extensão Dev Containers, clique em "Reopen in Container" para rodar o projeto em um ambiente isolado, com todas as dependências já configuradas. Depois, execute os comandos dos passos 5 e 6 dentro do terminal do container.
- Cadastro de usuários
- Login com autenticação JWT
- CRUD de fontes de dívida
- CRUD de dívidas e parcelas
- Proteção de rotas por usuário autenticado
- Documentação da API com Swagger