Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Below is the comprehensive report for the Online Event Management System, including the ER diagram and details of the database tables. I will format this
Below is the comprehensive report for the Online Event Management System, including the ER diagram and details of the database tables. I will format this into a PDF afterward.
# Online Event Management System
## Team Members
John Smith
Emily Johnson
Michael Brown
## Introduction
The Online Event Management System is designed to facilitate the creation, management, and registration of events. The system enables event organizers to manage events efficiently, allows attendees to register and purchase tickets, and provides administrators with the tools to oversee the entire process and generate detailed reports.
## Functionality Specification
### User Authentication
Users can create accounts, log in and manage their profiles.
Different roles include administrators, event organizers, and attendees.
### Event Creation
Event organizers can create new events, specifying details such as date, time, location, and ticket types.
### Attendee Registration
Users can register for events, choose ticket types, and make payments if required.
### Ticketing System
Generates and manages tickets for registered attendees, including QR code generation for event checkin
### Event Schedule
Displays the schedule of events, including session timings and activities.
### Reporting
Provides insights and analytics on event attendance, ticket sales, and revenue.
### Admin Dashboard
Administrators can manage events, view registration details, and generate comprehensive reports.
## Database Design
### Tables and Their Attributes
#### Users
Column Data Type Constraints
userid INT PRIMARY KEY, AUTOINCREMENT
username VARCHAR NOT NULL
password VARCHAR NOT NULL
email VARCHAR NOT NULL
fullname VARCHAR
role ENUM admin 'organizer', 'attendee'
#### Events
Column Data Type Constraints
eventid INT PRIMARY KEY, AUTOINCREMENT
organizerid INT FOREIGN KEY Users
eventname VARCHAR NOT NULL
eventdate DATE NOT NULL
eventtime TIME NOT NULL
location VARCHAR
description TEXT
#### Tickets
Column Data Type Constraints
ticketid INT PRIMARY KEY, AUTOINCREMENT
eventid INT FOREIGN KEY Events
tickettype VARCHAR
price DECIMAL
quantity INT
#### Registrations
Column Data Type Constraints
registrationid INT PRIMARY KEY, AUTOINCREMENT
eventid INT FOREIGN KEY Events
userid INT FOREIGN KEY Users
ticketid INT FOREIGN KEY Tickets
registrationdate DATE
paymentstatus ENUM Paid 'Pending', 'Cancelled'
#### EventSchedule
Column Data Type Constraints
scheduleid INT PRIMARY KEY, AUTOINCREMENT
eventid INT FOREIGN KEY Events
activityname VARCHAR
starttime TIME
endtime TIME
description TEXT
#### Reports
Column Data Type Constraints
reportid INT PRIMARY KEY, AUTOINCREMENT
eventid INT FOREIGN KEY Events
totalattendance INT
totalrevenue DECIMAL
reportdate DATE
### ER Diagram
mermaid
erDiagram
USERS
INT userid PRIMARY KEY
VARCHAR username
VARCHAR password
VARCHAR email
VARCHAR fullname
ENUM role
EVENTS
INT eventid PRIMARY KEY
INT organizerid FOREIGN KEY
VARCHAR eventname
DATE eventdate
TIME eventtime
VARCHAR location
TEXT description
TICKETS
INT ticketid PRIMARY KEY
INT eventid FOREIGN KEY
VARCHAR tickettype
DECIMAL price
INT quantity
REGISTRATIONS
INT registrationid PRIMARY KEY
INT eventid FOREIGN KEY
INT userid FOREIGN KEY
INT ticketid FOREIGN KEY
DATE registrationdate
ENUM paymentstatus
EVENTSCHEDULE
INT scheduleid PRIMARY KEY
INT eventid FOREIGN KEY
VARCHAR activityname
TIME starttime
TIME endtime
TEXT description
REPORTS
INT reportid PRIMARY KEY
INT eventid FOREIGN KEY
INT totalattendance
DECIMAL totalrevenue
DATE reportdate
USERS o EVENTS: creates
EVENTS o TICKETS: has
USERS o REGISTRATIONS: registers
EVENTS o REGISTRATIONS: contains
EVENTS o EVENTSCHEDULE: schedules
EVENTS o REPORTS: generates
## SQL Statements
### Create Table Statements
sql
Create Users table
CREATE TABLE Users
userid INT PRIMARY KEY AUTOINCREMENT,
username VARCHAR NOT NULL,
password VARCHAR NOT NULL,
email VARCHAR NOT NULL,
fullname VARCHAR
role ENUMadmin 'organizer', 'attendee' NOT NULL
;
Create Events table
CREATE TABLE Events
eventid INT PRIMARY KEY AUTOINCREMENT,
organizerid INT,
eventname VARCHAR NOT NULL,
eventdate DATE NOT NULL,
eventtime TIME NOT NULL,
location VARCHAR
description TEXT,
FOREIGN KEY organizerid REFERENCES Usersuserid
;
Create Tickets table
CREATE TABLE Tickets
ticketid INT PRIMARY KEY AUTOINCREMENT,
eventid INT,
tickettype VARCHAR
price DECIMAL
quantity INT,
FOREIGN KEY eventid REFERENCES Eventseventid
;
Create Registrations table
CREATE TABLE Registrations
registrationid INT PRIMARY KEY AUTOINCREMENT,
eventid INT,
userid INT,
ticketid INT,
registrationdate DATE,
paymentstatus ENUMPaid 'Pending', 'Cancelled'
FOREIGN KEY eventid REFERENCES Eventseventid
FOREIGN KEY
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started