
Estudo de caso Grupo Transire
Salas de reunião para um grupo de empresas, com cada reserva aprovada e registrada.
- 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 operar salas de reunião entre suas empresas e prédios: fluxo de aprovação, regras de sala garantidas no servidor, relatórios executivos e um painel ao vivo para as telas na porta de cada sala.
02O problema
Salas compartilhadas por várias empresas e prédios costumam ser reservadas por chat e agendas compartilhadas. Dois times acabam na mesma sala, ninguém sabe quem aprovou o quê e não fica registro do que de fato aconteceu.
02A abordagem
Modelar o grupo como ele é (empresas, unidades, blocos, andares, salas) e fazer do servidor a única fonte da verdade. Cada reserva é uma máquina de estados com histórico próprio, cada regra vive na API e a interface só reflete o que o backend permite.
03A construção
O que foi de fato 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. Reusar um refresh token revogado encerra todas as sessões do usuário e fica registrado na auditoria.
- 02
Um ciclo de vida de reserva com nove estados (aprovação, check-in, em uso, finalizada, no-show, cancelada). Toda reserva passa pelo RH ou por um admin, e a checagem de conflito roda dentro de uma transação SERIALIZABLE com retry, para que duas pessoas não fiquem com o mesmo horário. 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, setor prioritário), com histórico de status, log de auditoria e notificações no app 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): wizard de reserva em seis etapas, fila de aprovações, relatórios executivos com um índice de eficiência por sala calculado por regras fixas e um painel público ao vivo para TVs que se atualiza a cada 15 segundos.
Tecnologia
- Next.js
- React
- Tailwind CSS
- Radix UI
- NestJS
- TypeScript
- Prisma
- PostgreSQL
- Docker
- Jest
04A experiência





05Onde está hoje
Em desenvolvimento como ferramenta interna do grupo. Os fluxos de reserva, aprovação e painel ao vivo funcionam de ponta a ponta; CI/CD e jobs agendados em segundo plano são os próximos passos.
