Executive Summary
Event platforms sell tickets but don't help people decide to go. Friends' plans and attendee reviews live elsewhere, so discovery and trust suffer.
A NestJS API with real-time ticket inventory, multi-provider payments and QR fulfilment, plus a social layer: profiles, follows, "who's going" lists and verified attendee reviews. A Flutter app is the main client.
Core Capabilities & System Highlights
Smart Ticketing
Real-time ticket availability, Paystack and Flutterwave payments, and QR tickets delivered by email.
Organiser Check-In
A secure scanning API validates tickets at the door.
Social Layer
Profiles, follow/unfollow, who's going lists and verified reviews.
Discovery
Search and filters by title, location, tags and category, plus trending events from live sales.
System Architecture & Specs
NestJS
Modular REST API documented with Swagger/OpenAPI.
PostgreSQL on Supabase
Events, tickets, orders and social graph with Prisma.
Flutter App
Cross-platform client for discovery, tickets and social features.
Email & Media
Resend for ticket emails and Cloudinary for event media.
Key Engineering Trade-offs & Operational Notes
Seeing who's going is part of the event page, not an afterthought.
Ticket availability updates in real time to avoid overselling.
Swagger docs make the API easy for new clients to adopt.
Tech Stack & Role Matrix
Every library and framework in Padyz — Social Event Ticketing was chosen with intentional architectural trade-offs to balance speed, type safety, security, and scalability.
| Technology | Category | System Role | Performance Rationale |
|---|---|---|---|
| NestJS | Backend | Ticketing and social API | Structured modules for payments, inventory and the social graph. |
| Flutter | Mobile | Attendee app | One codebase for iOS and Android. |
| Paystack / Flutterwave | Payments | Ticket checkout | Local payment methods for Nigerian buyers. |
| Resend | QR ticket delivery | Reliable transactional email. |
Live Preview & Showcase
Metrics & Reliability
Payment providers
Paystack and Flutterwave
Ticket delivery
Emailed automatically after payment
Clients
NestJS API and Flutter mobile app
