FR
← All projects

Guests & Logistics for Brand Events NDA

High-End Events Guest Platform

A white-label platform for international brand events that handles guests along with their hotels, restaurants and activities.

Role
Lead full-stack developer
Period
2024-2025
Client
Confidential client (NDA), a global premium brand

01 / The problem

A global premium brand hosts international events where many guests fly in from different countries. For every event the organizers collect detailed guest information, allocate hotel rooms and book restaurant slots and activities before sending accurate lists to hotels and vendors. Doing this by hand takes a lot of time and leads to mistakes. It is also hard to secure.

02 / What I built

As lead full-stack developer I designed and built the platform end to end. The backend is an AdonisJS 6 API in TypeScript on MySQL, with Lucid ORM and VineJS validation. Transactional emails go out through Resend/SMTP with MJML templates, PDFs come from Puppeteer and Swagger documents the API, all running in Docker. The frontend is a Next.js 15 app using NextAuth v5, TanStack Query, Tailwind CSS, shadcn/ui and next-intl (FR/EN). Each event gets its own white-label setup with its colors, logo and texts. I spent a lot of time on security, with role-based permissions in Bouncer, non-enumerable cuid identifiers and hardened authentication. Password reset never reveals whether an account exists, public registration is disabled and passwords must be strong.

03 / Impact

The platform holds the whole guest journey, from invitation forms to the exports sent to hotels, restaurants and vendors. Organizers can reconfigure it for each new event without any code changes.

Main features

  1. 01Detailed guest profiles with travel, hotel nights, dietary requirements and +1
  2. 02Guest categories
  3. 03Automatic hotel room allocation with occupancy statistics
  4. 04Restaurant booking by time slot with Excel export
  5. 05Activity booking with an approval workflow in the back office
  6. 06Excel and PDF exports for guest itineraries and vendors
  7. 07White-label multilingual setup per event (colors, logo, texts)
  8. 08Roles and permissions
  9. 09Token-based onboarding for the people filling in forms
  10. 10Role-based permissions (Bouncer), non-enumerable cuid IDs, no user enumeration on password reset, public registration disabled and a strong password policy

Tech stack

  • Backend: AdonisJS 6 (TypeScript), MySQL, Lucid ORM, VineJS, Resend/SMTP with MJML, Puppeteer (PDF), Swagger, Docker
  • Frontend: Next.js 15, NextAuth v5, TanStack Query, Tailwind CSS, shadcn/ui, next-intl (FR/EN)
Next projectLinkavista →