1.2 KiB
1.2 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: MySQL —
sinka_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
- Modelar no Prisma tenant (
api/prisma/tenant) se for dado da empresa; no platform se for catálogo - Módulo NestJS: controller → use case/service → DTO + validação
- Abrir o PrismaClient do tenant do JWT — nunca consultar outro database
- Tela em
web/src/app(App Router) - 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