Key Features
Secure Payments via KoFi
Integrates with KoFi using webhooks for secure and reliable payment processing for football match tickets.
- Real-time payment notifications
- Secure webhook validation
- Seamless user experience
Automated E-Ticket Delivery
Automatically generates and sends e-tickets to users' email addresses upon successful payment using SMTP.
- Instant ticket delivery
- Customizable email templates
- Includes unique QR code
QR Code Ticket Scanning
A dedicated scanner interface to validate tickets at the event entrance using Firebase for real-time data lookup.
- Fast and reliable scanning
- Prevents duplicate entries
- Real-time validation status
Personal Ticket Portal
Users can log in to view their purchased tickets and event details, secured by Firebase Authentication.
- Secure user login
- View and manage tickets
- Accessible from any device
Project Gallery
-eNdvYpV-.png)
Ticket Shop Interface
The main page of the ticket purchasing application.

E-Ticket Email
An example of the automatically generated e-ticket email with a QR code.

Register Page
Register page for users to create an account and purchase tickets.
Technical Challenges
PayPal Required a Registered Business
I wanted to integrate PayPal, but their system required a registered company to activate full payment processing capabilities, which I didn’t have.
As a flexible alternative, I integrated Ko-fi. I used Ko-fi’s webhook system to receive real-time payment confirmations, which then automatically triggered ticket creation on my server.
Ticket Emails Couldn’t Be Sent
The system attempted to send e-tickets via SMTP over port 465, but all outgoing email attempts failed because the hosting provider (DigitalOcean) blocked SMTP ports by default.
I migrated the project to Microsoft Azure, which does not block SMTP ports by default. After the migration, email delivery worked correctly, and I was able to securely send ticket confirmation emails.
Needed User Accounts for Ticket Access
Initially, users could purchase tickets but had no way to view past purchases or manage their tickets in a centralized place, which could lead to abuse or a poor user experience.
I implemented a user account system using Firebase Authentication. This allowed users to sign up and log in to a personal 'My Tickets' portal, where they could view all their purchased tickets and event details securely.