sinka/RULES.md
2026-09-16 04:57:09 +00:00

1.3 KiB

RULES — Sinka

Stack obrigatório do desafio. Não usar PHP. Não reintroduzir Laravel, Blade, public/index.php nem pasta app/ no estilo PHP.

Stack

  • Backend: Node.js + NestJS + TypeScript (api/)
  • Frontend: Next.js + TypeScript (web/)
  • Banco: MySQLsinka_platform + um database por empresa
  • Infra: Docker, Docker Compose, Redis

Pastas

Pasta Responsabilidade
api/ NestJS: módulos, casos de uso, Prisma, filas
web/ Next.js App Router: landing + área autenticada
docs/ Arquitetura e decisões
.cursor/rules/ Regras do agente

Como evoluir uma feature

  1. Modelar no Prisma tenant (api/prisma/tenant) se for dado da empresa; no platform se for catálogo
  2. Módulo NestJS: controller → use case/service → DTO + validação
  3. Abrir o PrismaClient do tenant do JWT — nunca consultar outro database
  4. Tela em web/src/app (App Router)
  5. Teste no módulo da API quando a regra for importante

Não fazer

  • PHP, Composer, views .php, PDO
  • Framework PHP, mesmo “só para prototipar”
  • Lógica de negócio em controller inchado ou em componente React
  • Ler/escrever dado de empresa no banco da plataforma ou no database de outro tenant