Introduction
The Event Management System is designed to manage various aspects of event planning,
ticketing, and user authentication. This system aims to streamline event organization by
providing a centralized platform where users can buy tickets, event organizers can manage
events, and administrators can verify the authenticity of tickets using QR codes.
The system will be built using PHP for the back-end, HTML, CSS, and JavaScript for the front-
end, and a database to store event details, user information, and ticket information.
2. Objectives
Simplify Event Planning: Allow event organizers to create and manage events,
including ticket sales.
Streamline Ticket Sales: Provide an online platform for users to purchase tickets.
Authentication via QR Code: Enable QR code-based ticket verification for event entry.
Admin Panel: Allow administrators to manage events, users, and transactions.
Role-based Access: Create different user roles (Admin, Cashier, Verifier) with specific
permissions.
3. Project Scope
Modules to be developed:
1. Event Creation & Management: For administrators to create events, set ticket
prices, and view sales.
2. User Registration & Authentication: Users will register, log in, and purchase
tickets for events.
3. Ticket Generation: Once a user purchases a ticket, a unique QR code will be
generated.
4. QR Code Verification: Cashiers and verifiers can scan QR codes to confirm the
authenticity of tickets.
5. Reporting: Admins can generate reports based on ticket sales, event statistics,
and user engagement.
4. System Design
4.1. User Roles & Permissions
1. Admin
o Full control over event creation, user management, and reporting.
o Can view all ticket purchases and sales data.
o Can assign roles to cashiers and verifiers.
2. Cashier
o Can view a list of purchased tickets.
o Can scan QR codes to validate tickets at the event entrance.
3. Verifier
o Similar to the cashier but with restricted access to user data.
o Only responsible for scanning and validating QR codes.
4. End Users (Attendees)
o Can register on the platform, purchase tickets, and receive QR codes for ticket
verification.
4.2. Database Design
The database will be designed using MySQL to handle event data, user information, and ticket
transactions. Key tables will include:
1. Users
o user_id (PK)
o name
o email
o password
o role (Admin, Cashier, Verifier, User)
2. Events
o event_id (PK)
o event_name
o event_description
o event_date
o location
o price
o status (Active/Inactive)
3. Tickets
o ticket_id (PK)
o user_id (FK)
o event_id (FK)
o qr_code (Unique QR string)
o purchase_date
o status (Valid/Invalid)
4. Transactions
o transaction_id (PK)
o user_id (FK)
o ticket_id (FK)
o amount_paid
o transaction_date
5. Technologies Used
Front-end:
o HTML: For structuring the web pages.
o CSS: For styling the pages.
o JavaScript: For front-end interactivity, including form validation, QR code
scanning, and dynamic page behavior.
Back-end:
o PHP: For handling server-side logic, database interactions, and user
authentication.
o MySQL: For database management.
QR Code Generation and Scanning:
o PHP QR Code Library: For generating QR codes.
o JavaScript (QR Scanner): For scanning QR codes at the event.
Libraries and Frameworks:
o Bootstrap: For responsive front-end design.
o jQuery: For DOM manipulation and AJAX requests.
6. Functional Requirements
6.1. Admin Panel
Event Management: Admins can create, update, or delete events.
User Management: Admins can add or delete users, assign roles (Cashier, Verifier).
Ticket Sales Overview: View a report of total ticket sales for each event.
Generate Reports: Download or view event statistics such as number of tickets sold,
revenue, etc.
6.2. Cashier and Verifier Dashboard
Scan QR Code: The cashier or verifier can use a QR code scanner to validate the
authenticity of a ticket.
Ticket Validation: Once scanned, the system checks the ticket's validity based on the
database.
Status Update: If the ticket is valid, it is marked as used. Invalid or expired tickets are
rejected.
6.3. User Registration & Ticket Purchase
Registration: Users can sign up with their name, email, and password.
Login: Users can log in to view their purchased tickets.
Ticket Purchase: Users can browse events, select tickets, and make payments. Upon
successful payment, a unique QR code is generated for ticket verification.
7. Non-Functional Requirements
Security:
o Passwords should be hashed and stored securely.
o Transactions should be secured using HTTPS.
o Admin and user data should be protected by role-based access control.
Performance:
o The system should handle up to 10,000 concurrent users for peak ticket sales.
o QR code generation and validation should be fast and efficient.
Scalability:
o The system should be scalable to accommodate a growing number of events and
users.
Usability:
o The system should be user-friendly with intuitive navigation.
o The QR code verification process should be quick and error-free.