The RoomFlow live room panel: a clock and one card per meeting room, colour-coded as Occupied, Next meeting, Free or Maintenance, with the meeting in progress and the next ones.

Case study Grupo Transire

Meeting rooms for a group of companies, every booking approved and on record.

Client
Grupo Transire
Type
Meeting-room booking
Role
Full-stack development
Year
2026

An internal system for Grupo Transire to book and run meeting rooms across its companies and buildings: an approval flow, room rules enforced on the server, executive reports and a live panel for the screens outside each room.

Meeting rooms shared by several companies and buildings are usually booked over chat and shared calendars. Two teams end up in the same room, nobody knows who approved what, and there is no record of what actually happened.

Model the group as it really is (companies, units, blocks, floors, rooms) and make the server the only source of truth. Every booking is a state machine with its own history, every rule lives in the API, and the interface only reflects what the backend allows.

What was actually built

  1. 01

    A NestJS, Prisma and PostgreSQL API with four roles enforced on the server, JWT access tokens and rotating refresh tokens in HttpOnly cookies. Reusing a revoked refresh token ends every session for that user and is written to the audit log.

  2. 02

    A nine-state reservation lifecycle (approval, check-in, in use, finished, no-show, cancelled). Every booking goes through HR or an admin, and conflict checks run inside a SERIALIZABLE transaction with retry, so two people cannot take the same slot. Recurring series are daily, weekly or monthly.

  3. 03

    Per-room policies (approval, maximum duration, allowed hours, check-in window, cross-company booking, priority department), with a status history, an audit log and in-app and e-mail notifications for every transition.

  4. 04

    A Next.js 16 and React 19 interface in four languages (pt-BR, en, ja, zh-CN): a six-step booking wizard, the approval queue, executive reports with a per-room efficiency score built from fixed rules, and a public live panel for TVs that refreshes every 15 seconds.

Technology

  • Next.js
  • React
  • Tailwind CSS
  • Radix UI
  • NestJS
  • TypeScript
  • Prisma
  • PostgreSQL
  • Docker
  • Jest

In development as an internal tool for the group. The booking, approval and live-panel flows work end to end; CI/CD and scheduled background jobs are the next steps.

Next projectPC MonitorPersonal project · System utility