Event ticketing company — Event Ticketing Platform Modernized with NestJS, Angular, and PostgreSQL
Client: Event ticketing company — Entertainment and events
The challenge
Ticket sales, the promoter portal, the box office, and access control ran on unsupported Laravel 8 and 10, Angular 16, and MySQL 8.0: 84 tables, about five million rows, and only 11 foreign keys, with card payments passing through the server.
The solution
First, the previous platform was stabilized in containers, with rollback, and its security gaps were closed. In parallel, the new platform was built with NestJS 12, Angular 22 (SSR for the website and PWA for the portal and the scanner), Prisma 7, and PostgreSQL 18, with Redis queues and continuous integration in Azure DevOps. 393 parity tests compare every response with that of the previous system, and 4.32 million rows were migrated and verified one by one. Payment with Azul uses HMAC signing, an mTLS certificate, and automatic reconciliation every minute, and each ticket carries a signed QR code that the scanner validates offline.
Technologies used
- NestJS
- Angular
- PostgreSQL
- Prisma
- Redis
- Azure DevOps
Results
- 4,32 M Rows migrated — Verified one by one
- 393 Parity tests — Against the previous system
- 84 Tables redesigned — From MySQL 8.0 to PostgreSQL 18
Keep reading
Want similar results?
Let's talk. We design solutions tailored to your industry.
Book a consultation