Visão geral
Profile Server — API multi-tenant de gestão de customers, apps, tenants e usuários com autenticação Keycloak.
O Profile Server é a API central de perfis e multi-tenancy do ecossistema Reutiliza Já / Reciclar. Ela concentra o cadastro de customers (clientes/ empresas), apps, tenants e usuários, servindo como fonte de verdade para autorização entre as demais aplicações.
Stack
| Camada | Tecnologia |
|---|---|
| Framework | NestJS 11 |
| ORM / Banco | Prisma 7 + PostgreSQL |
| Autenticação | Keycloak (JWT via JWKS, jose) |
| Cache | Redis (ioredis) |
| Validação | Zod |
| Documentação HTTP | Swagger (/docs no servidor NestJS) |
O que a API oferece
- Gestão de identidade local — vincula um
idIdentity(osubdo Keycloak) a um perfil de usuário local, com tipo (Admin,Technician,Cooperative). - Multi-tenancy — um
Customerpossui um ou maisTenants, cada um associado a umApp. - Dois modos de autenticação — usuário final (
/api/*) e app-to-app via client credentials (/service/*). - Autorização fina — cada rota declara um par resource + scope validado
contra as permissões do Keycloak (UMA), com bypass para
super_admin.
Swagger x Fumadocs
O servidor NestJS já expõe um Swagger interativo em http://localhost:3000/docs.
Esta documentação (Fumadocs) é o material conceitual e de referência —
explica arquitetura, fluxos de autenticação e o modelo de dados que o Swagger
não descreve.
Por onde começar
Começando
Rodar a API localmente e fazer a primeira chamada autenticada.
Arquitetura
Camadas, módulos e o fluxo de uma requisição.
Autenticação
Fluxos de token de usuário e de serviço via Keycloak.
Endpoints
Referência completa de todas as rotas HTTP.
Manual do usuário
Como usar o painel administrativo, tela por tela — para quem opera o sistema.