A high-performance, full-stack event management system built with Laravel 12. Features hybrid payment flows (Free/Paid), role-based access control, and a digital ticketing system.
EventHub is designed to solve the friction in organizing local community events. Unlike standard CRUD apps, this platform handles the complex logic of Event Monetization. It distinguishes between free RSVPs and paid tickets, creating a seamless flow for users while ensuring financial integrity for organizers via Paystack.
Key architectural focus areas included Database Optimization, Security (RBAC), and User Experience.
- Hybrid Payment System: Automatically routes users to a secure Paystack checkout for paid events or instant confirmation for free events.
- Custom Payment Implementation: Built a robust payment service using Laravel's native
Http::client(no third-party wrappers) to ensure granular control over transaction verification. - Digital Tickets: Generates a unique, non-spoofable Ticket ID and visual pass for attendees.
- Guest Management: "Party RSVP" logic allowing users to register themselves + guests (e.g., "Me + 2") in a single transaction.
- Role-Based Access Control (RBAC): Distinct middleware-protected zones for Guests, Users, and Admins.
- Content Moderation: Approval workflow where Admins must vet events before they go live.
- Admin Verification: dedicated "Guest List" dashboard with search functionality to verify attendees at the door.
- Redis Caching: Implemented Redis to cache heavy database queries (like Category lists), reducing database load by ~40%.
- Rate Limiting: Throttled interaction routes (Likes/Comments) to prevent spam.
- Relational Data Integrity: Complex Eloquent relationships ensuring accurate headcount calculations (Rows + Guest Columns).
- Backend: PHP 8.2, Laravel 12
- Frontend: Blade Templates, Tailwind CSS, Alpine.js
- Database: MySQL 8.0
- Caching: Redis
- Payments: Paystack API (Direct Integration)
To run this project locally, follow these steps:
- PHP >= 8.2
- Composer
- Node.js & NPM
- MySQL
- Redis (Optional but recommended)
-
Clone the repository
git clone https://github.com/Miracle-Alajemba/Micmash.git cd Micmash -
Install PHP dependencies
composer install
-
Install Frontend dependencies
npm install npm run build
-
Configure Environment Copy the example env file and update your database/Paystack credentials:
cp .env.example .env
Update
DB_DATABASE,DB_PASSWORD,PAYSTACK_SECRET_KEY, etc. -
Generate App Key
php artisan key:generate
-
Link Storage (Crucial for Images)
php artisan storage:link
-
Run Migrations
php artisan migrate
-
Start the Server
php artisan serve
(You can upload screenshots of your "My Tickets" page, Admin Dashboard, and Payment Flow here later)
Contributions, issues, and feature requests are welcome!
This project is MIT licensed.