Lighthouse Benchmark

Lightweight E-Ticketing System for Events Using React, FastAPI & Paystack

When planning an event, one of the most frustrating things can be managing how attendees claim and validate tickets. My church wanted to organize an event where physical tickets would be printed and sold.

And then β€” the Spirit of God just whispered: “Why not create an E-Ticket system to handle everything from buying to verification online?”

There were already systems out there to sort us out, but I had the skills, and I could save us some extra money, so I said, “Why not?”. I wanted a solution that was fast, simple, and reliable β€” something I could reuse or hand off to others organizing events.
Below is a LightHouse Benchmark of the site.

Lighthouse Benchmark

So I built a complete E-Ticketing system that covers everything from ticket selection to PDF delivery in your inbox. Just a clean, focused stack:

  • Frontend: React + TailwindCSS
  • Backend: FastAPI
  • Payment: Paystack
  • Email Delivery: SMTP (with embedded and attached ticket PDFs)

The User Experience

The flow is seamless:

  1. You visit the ticketing page.
  2. You choose a ticket type (Regular, Double, or Table of Five).
  3. You review your selection and proceed to payment via Paystack.
  4. Once payment is successful, your ticket is displayed instantly.
  5. A few seconds later, you get the same ticket via email β€” both as an embedded HTML preview and as a PDF attachment.

The PDF is generated on the fly using WeasyPrint, styled with the event branding, and ready to be scanned or shown at the venue.

πŸ› οΈ Why This Stack?

I chose React for its responsiveness and quick form interactions.

FastAPI made it effortless to structure the backend, enforce validation with Pydantic, and expose clean RESTful endpoints.

Paystack stood out as the perfect payment processor:

  • I could receive payments without a registered business.
  • No back-and-forth with customer support β€” just create an account and plug it in.
  • Integration on the frontend took less than 5 lines to get working.

For email delivery, SMTP gave the final professional polish. Attendees receive a clean pass, and organizers can verify tickets directly from the backend.

🌍 Where It’s Live

I built this system for a real event β€” a formal dinner for students β€” and deployed it fully with Docker.
From first line of code to live deployment took less than a week, and it’s already running in production.

πŸ”— Live Site – events.agcmknust.com

What’s Next?

  • [ ] QR code ticket verification at entry
  • [ ] Admin dashboard to track redemptions
  • [ ] Live check-in interface for volunteers

Thanks for reading! If you’re working on something similar or want to spin this up for your own event, let’s connect.

Drop questions or feedback in the comments β€” always happy to chat. Let’s connect:

X (Twitter) – https://x.com/joshua_bubune

LinkedIn – https://www.linkedin.com/in/joshua-bubune

Similar Posts