The Event Management System is a web-based application designed to manage events efficiently. It provides separate portals for Admin, Organizer, and User, allowing controlled access and smooth handling of event creation, approval, booking, and reporting. The system aims to simplify event management by automating key processes.
- Project Overview
- System Features
- User Roles
- Technology Stack
- System Architecture
- Installation Guide
- Running the Application
- Automated Testing
- Project Structure
- Future Enhancements
- Contributors
This project provides an online platform where organizers can create events, users can view and book events, and admins can manage and approve events. The system ensures secure access, proper workflow, and reliable data handling through a role-based structure.
- User registration and login
- Role-based access control
- Event creation and management
- Admin approval of events
- Event booking and payment handling
- Booking status tracking
- Reports and analytics for admin
Admin
Manages the overall system, approves or rejects events, and views reports.
Organizer
Creates and manages events, views bookings, and confirms or rejects bookings.
User
Registers, views approved events, books events, makes payments, and tracks booking status.
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js
- Database: SQL Server / MySQL
- IDE: Visual Studio Code
- Version Control: Git and GitHub
- Testing: Manual Testing and GitHub Actions (Automated Testing)
The system follows a client-server architecture. The frontend interacts with the backend through HTTP requests, while the backend handles business logic and database operations. Role-based authentication ensures secure access to system features.
- Install Node.js on your system
- Install SQL Server or MySQL and create the database
- Clone the repository from GitHub
- Open the project in Visual Studio Code
- Configure database connection settings
- Open terminal in the project directory
- Install dependencies using
npm install - Start the server using
npm start - Open a web browser and access the application using localhost
Automated testing is enabled using GitHub Actions. Test cases are executed automatically whenever code is pushed to the main branch. This ensures continuous integration and early detection of errors. Jest is used as the testing framework.
Event-Management-System/
│── backend/
│── frontend/
│── database/
│── tests/
│── .github/workflows/
│── package.json
│── README.md
- Integration of online payment gateways
- Mobile application development
- Real-time notifications
- Advanced analytics and dashboards
- Enhanced security features
- Sami
- Mustafa
- Ahmer
- Naveed
This project is developed for academic purposes as part of a Semester Project Software Quality Engineering.