Event Management System [FYP]
Full stack
Stack Used
- PHP[Laravel]
- Vue.js
- HTML
- SCSS
- JavaScript
- jQuery
This project was developed as part of my Bachelor's in Computer Science (BSCS) final year submission. I designed and built the Event Management System to facilitate public event organization and participation. The system allows event organizers to post upcoming events such as gatherings, concerts, and educational activities and provides users with the ability to explore, show interest in, and contact organizers for events within their city. The system has three distinct user roles: Admin, Event Organizer, and User, each with tailored functionalities.
Key Features
- Multi-role Authentication System: Implemented with custom guards to manage different user roles, ensuring secure access and functionality.
- Real-time Chat Integration: Built using Vue.js, allowing users to communicate directly with event organizers in real time.
- Event Organizer Profiles: Organizers have detailed profiles, accessible to users for reviewing their events and contacting them.
- Admin Dashboard: The admin panel provides comprehensive control over users, events, and organizers, with the ability to modify and manage system data.
- Email Notification System:
- Notifications for password resets.
- Event updates for registered users, keeping them informed of new events in their city.
What I Implemented
- Complete System Development: Designed and built the system from the ground up, managing all aspects including user authentication, event management, and real-time communications.
- Custom Guard for Event Organizers: Developed a custom event organizer guard to handle their unique permissions and roles separate from standard users.
- Event and Profile Management: Enabled event organizers to manage events and create professional profiles visible to potential attendees.
- Real-time Functionality with Vue.js: Implemented a chat feature using Vue.js for seamless communication between users and event organizers.
Challenges and Learning Outcomes
During the development of the real-time chat feature, I encountered a limitation where only the default web guard could subscribe to the broadcast channel for real-time updates. After extensive research, I discovered that I needed to define a separate route specifically for my event organizer guard to allow them access to the broadcasting system. This solution helped me refine my understanding of Laravel's broadcasting system and route configuration.