Bolsa API — Arquitetura Modulada com NestJS, Prisma, Docker e PostgreSQL

Role para baixo
2025
NestJS / Node.js / Prisma ORM / PostgreSQL / Docker / Autenticação JWT / Arquitetura Modular / DevOps
Containers rodando no Docker Desktop
Swagger UI — Documentação da API
Banco de dados PostgreSQL rodando em container Docker, visualizado via DBeaver (SGBD)
Prisma Studio — Gráfico de bootstrap da api + banco + prisma studio via script.sh que inicializa ambiente dockerizado

Propósito e Objetivo

Construir uma API modular, escalável e completamente dockerizada para um simulador educacional de operações na bolsa de valores. O foco do projeto inclui autenticação robusta com JWT via Cookies HttpOnly, documentação via Swagger, módulos independentes (users, auth, assets, orders, wallet, simulation), migrations e seeds automatizados via Prisma, e um ciclo de desenvolvimento altamente otimizado com Docker, garantindo que novos membros do time possam iniciar o ambiente com apenas um comando.

Ferramentas & Tecnologias

NestJS 11, Node.js 20, TypeScript, Prisma ORM, PostgreSQL, JWT com Cookies HttpOnly, Docker & Docker Compose, Swagger OpenAPI 3, bcryptjs, Class Validator, Arquitetura Modular

Arquitetura, Autenticação e Ciclo de Desenvolvimento

Autenticação avançada com JWT via Cookies HttpOnly: login envia o token em cookie httpOnly, Secure e SameSite, prevenindo XSS e mantendo o front-end mais seguro e compatível com SSR.

Módulos de Users e Auth completamente implementados — incluindo decorators personalizados, guards (JwtAuth + Roles), CurrentUser, documentação com Swagger e responses totalmente tipadas.

Arquitetura modular escalável: cada domínio (users, auth...) possui seu próprio controller, service e regras de negócio, dentro de um único monólito organizado.

Setup de desenvolvimento profissional com Docker Compose: containers orquestrados (API, PostgreSQL, Prisma Studio), hot reload, healthchecks e volume para sincronização de código sem conflito.

Scripts .sh/.bat inteligentes para Windows, Linux e Mac: criam .env automaticamente, rodam compose, aplicam migrations, executam seeds e validam o estado dos serviços.

Prisma ORM com migrations, seeds e geração automática do client — garantindo consistência total entre ambiente local, staging e produção.

Documentação completa com Swagger, incluindo respostas 200/400/401/403/404, exemplos detalhados e rotas separadas por módulo.

Ciclo de Dev otimizado: rodar `./setup-dev.sh` ou `setup-dev.bat` inicia todo o ambiente com um clique — ideal para times iniciantes ou onboarding rápido.