Stack tecnológico¶
TLDR: Bun + TypeScript + NestJS 11 + TypeORM 0.3 + PostgreSQL 15, Apollo Server 5 pro GraphQL, Zod 4 pra validação, Vitest 4 pros testes. Por que NestJS sobre Bun, especificamente, ver ADR-002.
| Categoria | Tecnologia | Versão |
|---|---|---|
| Runtime | Bun | latest |
| Linguagem | TypeScript | 5.9.3 |
| Framework | NestJS | 11.1.17 |
| ORM | TypeORM | 0.3.28 |
| Banco de dados | PostgreSQL | 15 (bitnamilegacy) |
| Documentação de API | Swagger/OpenAPI + Scalar | NestJS Swagger 11.2 |
| GraphQL | Apollo Server | 5.4.0 |
| Validação | Zod | 4.3.6 |
| Autenticação | Keycloak + OAuth2/OIDC | Admin Client 26.5 |
| JWT/JWKS | jsonwebtoken + jwks-rsa | 9.0.3 / 4.0.1 |
| Passport | @nestjs/passport |
11.0.5 |
| Message broker | BullMQ sobre PostgreSQL (createPostgresBackend) |
6.2.0 |
| Processamento de imagem | Sharp | 0.34.5 |
| Paginação | nestjs-paginate | 12.9.0 |
| Eventos | @nestjs/event-emitter |
3.0.1 |
| Rate limiting | @nestjs/throttler |
6.5.0 |
| Agendamento | @nestjs/schedule |
6.1.1 |
| Segurança HTTP | Helmet | 8.1.0 |
| Compressão | compression | 1.8.1 |
| Mixins | ts-mixer | 6.0.4 |
| Containerização | Docker (recomendado) / Podman | n/d |
| Task runner | just | n/d |
| Monorepo | Nx | 22.6.0 |
| Lint/formatação | Biome | 2.4.8 |
| Testes | Vitest + Supertest | 4.1.0 / 7.2.2 |
| Cobertura | @vitest/coverage-v8 |
4.1.0 |