Limited-Quota Event Ticketing
Ticketing for limited-quota premium events, with atomic booking designed to prevent overselling, online payments and QR e-tickets.
Key results
45%
Share of non-merge commits I authored (32 of 71), plus 14 of 24 merged pull requests
1 transaction
Atomic quota check and decrement prevent selling the last seat twice
- Full Stack Engineer, freelance in a two-person team
- Jul 2025 to Aug 2025
- DariOrdal
- Project
- L3:limited-quota-event-ticketing
Results
45%
Share of non-merge commits I authored (32 of 71), plus 14 of 24 merged pull requests
1 transaction
Atomic quota check and decrement prevent selling the last seat twice
Problem
DariOrdal sells limited-quota tickets for premium events. Concurrent checkouts risked selling the last seat twice, while gaps between payment and ticket issuance created manual work for organizers.
Contribution
- I reorganized the Next.js 15 API routes into repository and service layers and automated deployment from GitHub.
- I put quota checks and atomic decrements for each ticket tier inside one Prisma checkout transaction to prevent double-selling.
- I built ticket issuance, a My Tickets page with QR codes and the payment channel list from iPaymu, and redesigned the emails; my teammate integrated iPaymu checkout, callbacks and PDF invoices.
- I built the admin dashboard: event management, sortable transaction tables with Excel export, refresh-token sessions, a Redis event cache and Google Analytics.
Architecture
Gallery
Tech stack
Next.js 15
TypeScript
Prisma
PostgreSQL
Redis
AWS S3TanStack Table
Tailwind CSS
shadcn/ui
GitHub Actions
Bun
- iPaymu