Role-based authorization across four roles: Super Admin, Admin, Host, User
02
Browse, search, filter and paginate events by category, location and date
03
Browse, search, filter and paginate events by category, location and date
04
Browse, search, filter and paginate events by category, location and date
05
Capacity rules (min/max participants), free or paid, lifecycle status (Open → Full → Completed / Cancelled)
06
Co-host assignment so multiple organisers can manage one event
07
Host approval workflow
pending, approved, rejected
08
Automatic waitlisting when an event is full, with auto-promotion the moment a spot frees up (notifying the promoted attendee)
09
Each approved participant gets a unique check-in token rendered as a QR code
10
Users can report an event or a review with categorised reasons
11
Unified notification service writing an in-app record and sending a matching HTML email
12
Notification bell with unread badge, mark-one/mark-all-read, and a full history page
13
Scheduled reminders via cron: a 24-hour-ahead reminder and a "starting in ~1 hour" nudge, both resolved against the event's real start time and made idempotent so a restart or overlapping run can never double-send