
Estudo de caso Grupo Transire
Salas de reunião para um grupo de empresas, com cada reserva aprovada e registada.
- Cliente
- Grupo Transire
- Tipo
- Reserva de salas de reunião
- Papel
- Desenvolvimento full-stack
- Ano
- 2026
01Visão geral
Um sistema interno para o Grupo Transire reservar e gerir salas de reunião entre as suas empresas e edifícios: um fluxo de aprovação, regras de sala garantidas no servidor, relatórios executivos e um painel em tempo real para os ecrãs à porta de cada sala.
02O problema
Salas partilhadas por várias empresas e edifícios costumam ser reservadas por chat e calendários partilhados. Duas equipas acabam na mesma sala, ninguém sabe quem aprovou o quê e não fica registo do que realmente aconteceu.
02A abordagem
Modelar o grupo tal como é (empresas, unidades, blocos, pisos, salas) e fazer do servidor a única fonte de verdade. Cada reserva é uma máquina de estados com o seu próprio histórico, cada regra vive na API e a interface limita-se a refletir o que o backend permite.
03A construção
O que foi de facto construído
- 01
Uma API em NestJS, Prisma e PostgreSQL com quatro perfis garantidos no servidor, access tokens JWT e refresh tokens rotativos em cookies HttpOnly. Reutilizar um refresh token revogado termina todas as sessões desse utilizador e fica registado na auditoria.
- 02
Um ciclo de vida de reserva com nove estados (aprovação, check-in, em uso, concluída, no-show, cancelada). Todas as reservas passam pelos RH ou por um administrador, e a verificação de conflitos corre dentro de uma transação SERIALIZABLE com nova tentativa, para que duas pessoas não fiquem com o mesmo horário. As séries recorrentes podem ser diárias, semanais ou mensais.
- 03
Políticas por sala (aprovação, duração máxima, horário permitido, janela de check-in, reserva entre empresas, departamento prioritário), com histórico de estados, registo de auditoria e notificações na aplicação e por e-mail em cada transição.
- 04
Uma interface em Next.js 16 e React 19 em quatro idiomas (pt-BR, en, ja, zh-CN): um assistente de reserva em seis passos, a fila de aprovações, relatórios executivos com um índice de eficiência por sala calculado por regras fixas e um painel público em tempo real para televisores, atualizado a cada 15 segundos.
Tecnologia
- Next.js
- React
- Tailwind CSS
- Radix UI
- NestJS
- TypeScript
- Prisma
- PostgreSQL
- Docker
- Jest
04A experiência





05Em que ponto está
Em desenvolvimento como ferramenta interna do grupo. Os fluxos de reserva, aprovação e painel em tempo real funcionam de ponta a ponta; CI/CD e tarefas agendadas em segundo plano são os próximos passos.
