sinka/docs/ARCHITECTURE.md
armando 8e4203e4c9 sinka
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 03:56:18 -03:00

18 lines
777 B
Markdown

# Arquitetura: Sinka
```
[Next.js :3000] → [NestJS :3001/api] → [MySQL sinka_platform]
↓ ↓
[Redis] [MySQL sinka_t_<slug> …]
```
- `web/`: landing pública, login e área autenticada (`/app`, `/platform`).
- `api/`: REST NestJS, autenticação, provisionamento de tenant, regras de negócio.
- `sinka_platform`: empresas e administrador da plataforma.
- `sinka_t_<slug>`: dados isolados de cada empresa.
- Redis: rate limit, cache, filas (BullMQ) e pub/sub.
Document root de produto: o frontend Next.js. A API não serve HTML.
Login de empresa exige o slug **na URL** (`/cliente-1`, `/cliente-2`). O JWT carrega `tenantId` + papel; as queries usam o PrismaClient daquele database.