Ticketly
Ticketly
The Platform
Ticketly is a comprehensive event management platform built as a full-stack project using Laravel on the backend, React on the frontend, and Unity for the mobile QR code scanner application. The web platform allows organizers to create events, configure ticket types and pricing tiers, and monitor real-time sales analytics through an intuitive dashboard. Attendees purchase virtual tickets online and receive unique QR codes that serve as both entry passes and payment tokens during the event. The mobile scanner app, built in Unity for cross-platform deployment on iOS and Android, enables vendors and staff to scan QR codes instantly for fast electronic payments at food stalls, bars, and merchandise stands.
Building the Full Stack
As the sole full-stack developer, every component of the Ticketly system was designed and implemented from the ground up. On the backend, I built the Laravel API handling event creation, ticket inventory management, order processing, payment integration, and real-time analytics. I designed the database architecture using MySQL, modeling the relationships between events, ticket types, orders, QR codes, vendor accounts, and transaction records with careful attention to data integrity and query performance. On the frontend, I developed the React-based organizer dashboard featuring real-time sales charts, attendee management tables, ticket configuration interfaces, and financial reporting tools with export capabilities. I built the attendee-facing ticket purchase flow with secure checkout, automated email confirmations containing unique QR codes, and a digital wallet view where attendees can check their remaining event credit balance. The mobile QR scanner app was built in Unity for cross-platform iOS and Android deployment, using the device camera to scan QR codes and validate them against the backend in real time, with offline queuing for areas with poor network connectivity. I also implemented the vendor terminal interface — a simplified mobile view where food and merchandise vendors process payments by scanning attendee QR codes and entering transaction amounts.
Keeping QR Payments Consistent Under Concurrent Load
The QR code payment system required a carefully designed transaction architecture that handles concurrent operations reliably. During peak event hours, dozens of vendors may process transactions simultaneously, each deducting from attendee balances that must remain consistent and accurate. I implemented optimistic locking at the database level and atomic balance operations to prevent race conditions where two simultaneous transactions could overdraw an attendee's credit. The QR code generation system needed to produce codes that are unique, tamper-resistant, and scannable under variable lighting conditions typical of outdoor events and dimly lit venues. I implemented signed QR payloads with embedded validation data so the scanner app can perform basic offline verification before confirming with the backend, reducing perceived transaction latency. The real-time analytics dashboard was another significant challenge — organizers needed to see live sales data, vendor transaction volumes, and attendee flow metrics updating in real time during events, which I implemented using WebSocket connections with fallback polling for unstable connections. Network reliability was a constant concern for the mobile scanner app, as event venues often have poor cellular coverage. I built an offline transaction queue that stores pending transactions locally and synchronizes them with the backend when connectivity is restored, with conflict resolution logic for edge cases.
In Production
Ticketly has been deployed at live events, replacing cash handling with QR-code-based payments end to end. The core engineering problem was concurrency: dozens of vendors processing transactions against the same attendee balances simultaneously, which required optimistic locking and atomic balance operations to avoid race conditions. Building the whole stack — Laravel API, React dashboard, and the Unity-based scanner app — solo is the project I'd point to for full-stack range.
Project Videos
Screenshots