Skip to content

Módulos NestJS

Arquitetura

O backend é organizado em módulos autocontidos, cada um com sua própria responsabilidade.

Módulos

Auth

Responsabilidade: Autenticação JWT e registro de usuários.

Rotas:

  • POST /api/auth/register - Registro global (primeiro usuário → superadmin)
  • POST /api/auth/login - Login
  • GET /api/auth/me - Dados do usuário atual

Rotas por tenant:

  • POST /t/:slug/auth/register - Registro no tenant (primeiro → admin)
  • POST /t/:slug/auth/login - Login no tenant

Users

Responsabilidade: Gerenciamento de usuários.

Rotas:

  • GET /t/:slug/users - Listar usuários
  • POST /t/:slug/users - Criar usuário
  • PUT /t/:slug/users/:id - Atualizar usuário
  • DELETE /t/:slug/users/:id - Deletar usuário

Tenants

Responsabilidade: Gerenciamento de tenants (superadmin).

Rotas:

  • GET /api/superadmin/tenants - Listar todos
  • POST /api/superadmin/tenants - Criar
  • PUT /api/superadmin/tenants/:id - Atualizar
  • PUT /api/superadmin/tenants/:id/toggle - Ativar/desativar

Responsabilidade: Cardápio (categorias e itens).

Rotas:

  • GET /t/:slug/menu/categories - Categorias
  • POST /t/:slug/menu/categories - Criar categoria
  • GET /t/:slug/menu/items - Itens (público)
  • POST /t/:slug/menu/items - Criar item (admin)

Orders

Responsabilidade: Pedidos.

Rotas:

  • GET /t/:slug/orders - Listar pedidos
  • POST /t/:slug/orders - Criar pedido (público)
  • PUT /t/:slug/orders/:id - Atualizar pedido
  • PUT /t/:slug/orders/:id/status - Atualizar status

Reservations

Responsabilidade: Reservas de mesas.

Rotas:

  • GET /t/:slug/reservations - Listar
  • POST /t/:slug/reservations - Criar (público)
  • PUT /t/:slug/reservations/:id - Atualizar
  • DELETE /t/:slug/reservations/:id - Cancelar

Tables

Responsabilidade: Mesas do restaurante.

Rotas:

  • GET /t/:slug/tables - Listar
  • POST /t/:slug/tables - Criar
  • PUT /t/:slug/tables/:id - Atualizar
  • DELETE /t/:slug/tables/:id - Deletar

Filial

Responsabilidade: Filiais.

Rotas:

  • GET /t/:slug/pdvs - Listar
  • POST /t/:slug/pdvs - Criar
  • GET /t/:slug/pdvs/my - Filiais do usuário atual

Kitchen (WebSocket)

Responsabilidade: Display de cozinha em tempo real.

Namespace: /kitchen

Eventos:

  • newOrder - Novo pedido
  • orderStatusUpdate - Status atualizado

Lançado sob a licença MIT.