Back to Projects
EventFlow

EventFlow

A backend-first event registration system built in vanilla PHP and MySQL. EventFlow handles event publishing, seat-limited registrations, and admin-controlled operations without any framework — enforcing data integrity at the database level and preventing duplicate submissions through constraint-backed logic.

PHP (Vanilla)MySQLXAMPPHTMLCSS

Problem

Event registration systems routinely fail at three backend fundamentals: keeping event listings manageable, preventing duplicate submissions, and enforcing seat limits reliably. When these checks live only in the UI layer, the system breaks under form refreshes, rapid resubmits, or concurrent requests. The result is over-registered events, duplicate entries in the database, and seat counts that drift out of sync with actual registrations.

Solution

EventFlow enforces registration logic at the backend and database level — not the UI. A UNIQUE(event_id, email) constraint blocks duplicate registrations unconditionally, regardless of how the request arrives. Seat availability is verified before every insert, and the count is decremented atomically after a successful registration. The PRG pattern prevents repeat POST submissions on page refresh. All queries use prepared statements. The entire system is framework-free — the flow is deliberate, auditable, and easy to maintain in a standard PHP + MySQL environment.

Features

  • Seat-limited event registration with backend availability check before every insert
  • Duplicate prevention enforced via UNIQUE(event_id, email) database constraint as final line of defense
  • Atomic seat decrement after successful registration using a direct UPDATE query
  • PRG pattern implementation to prevent duplicate form submissions on browser refresh
  • Session-based admin authentication with per-page session verification on all protected routes
  • Full admin CRUD: create events, view registrations, delete events and individual registrations
  • SQL injection prevention using prepared statements across all database interactions
  • Input sanitization using filter_input throughout the registration and event creation flows
  • Clean public/admin/config directory separation with role-scoped page access

Project Gallery

EventFlow Screenshot 1

Event Listing

EventFlow Screenshot 2

Event Details & Registration

EventFlow Screenshot 3

Duplicate Registration Handling

EventFlow Screenshot 4

Admin Login

EventFlow Screenshot 5

Admin Dashboard

EventFlow Screenshot 6

Registrations View