O painel ao vivo do RoomFlow: um relógio e um card por sala de reunião, com cores para Ocupada, Próxima reunião, Livre ou Manutenção, mostrando a reunião em curso e as próximas.

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

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.

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.

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.

O que foi de fato construído

  1. 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.

  2. 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.

  3. 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.

  4. 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

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.

Próximo projetoPC MonitorPersonal project · Utilitário de sistema