Esta é uma API moderna e modular para gestão de movimentações financeiras, e visualização de métricas para análises comerciais.
Construída sobre uma stack sólida — Node.js + Express + Prisma + TypeScript — ela entrega performance, organização e extensibilidade. Tudo isso documentado com Swagger, porque projeto bom não deve ser um mistério.
- Node.js
- TypeScript
- Express
- Prisma ORM
- PostgreSQL
- Swagger (OpenAPI)
- JWT Authentication
- TSyringe (DI)
src/
├─ controllers/
├─ middlewares/
├─ schemas/
├─ errors/
├─ types/
├─ config/
├─ mappers/
├─ services/
├─ repositories/
├─ generated/prisma/
├─ routes/
├─ app.ts
└─ server.ts
prisma/
├─ seed.ts
└─ schema.prisma
- id, name, email, password
- role (
USER|ADMIN) - relacionamentos: Movements e Categories
- id, name, userId
- cada categoria pode ter vários movimentos associados
- id, useId, categoryId, description, type (
INCOME|EXPENSE), value, date - relacionamento com usuário e categoria
- Login
- Informações do usuário logado
- Listar movimentações
- Listar categorias
- Listar movimentos de uma categoria
- Buscar movimento ou categoria específica
- Métricas filtradas por data
- Criar, atualizar, deletar
- Criar, atualizar, deletar
Após iniciar a aplicação, acesse:
http://localhost:3000/docs
git clone https://github.com/seu-usuario/fluxo-de-comercio-api.git
cd fluxo-de-comercio-apiyarnCrie o arquivo na raiz:
# DOCKER COMPOSE
NODE_ENV=development
DB_USER=your_user
DB_PASSWORD=your_password
DB_DATABASE=your_database
# JWT
JWT_SECRET=
# PRISMA
DATABASE_URL="postgresql://your_user:your_password@localhost:5432/your_database"docker compose up -dyarn prisma:generate
yarn prisma:migratePopular banco de dados:
yarn seedModo desenvolvimento:
yarn devyarn prisma:generate
yarn prisma:deploy
Modo desenvolvimento:
yarn build
yarn startPing da API:
GET http://localhost:3000/api/ping
Resposta esperada:
{ "pong": true }Pull requests são bem-vindos.
Desenvolvido por Samuel Davi