Answered step by step
Verified Expert Solution
Link Copied!

Question

00
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
1. John Smith
2. Emily Johnson
3. 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 check-in.
### 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 |
|------------|--------------|------------------------------------|
| user_id | INT | PRIMARY KEY, AUTO_INCREMENT |
| username | VARCHAR(50)| NOT NULL |
| password | VARCHAR(255)| NOT NULL |
| email | VARCHAR(100)| NOT NULL |
| full_name | VARCHAR(100)||
| role | ENUM |('admin', 'organizer', 'attendee')|
#### Events
| Column | Data Type | Constraints |
|--------------|-------------|------------------------------------|
| event_id | INT | PRIMARY KEY, AUTO_INCREMENT |
| organizer_id | INT | FOREIGN KEY (Users)|
| event_name | VARCHAR(100)| NOT NULL |
| event_date | DATE | NOT NULL |
| event_time | TIME | NOT NULL |
| location | VARCHAR(255)||
| description | TEXT ||
#### Tickets
| Column | Data Type | Constraints |
|------------|--------------|------------------------------------|
| ticket_id | INT | PRIMARY KEY, AUTO_INCREMENT |
| event_id | INT | FOREIGN KEY (Events)|
| ticket_type| VARCHAR(50)||
| price | DECIMAL(10,2)||
| quantity | INT ||
#### Registrations
| Column | Data Type | Constraints |
|-------------------|-------------|------------------------------------|
| registration_id | INT | PRIMARY KEY, AUTO_INCREMENT |
| event_id | INT | FOREIGN KEY (Events)|
| user_id | INT | FOREIGN KEY (Users)|
| ticket_id | INT | FOREIGN KEY (Tickets)|
| registration_date | DATE ||
| payment_status | ENUM |('Paid', 'Pending', 'Cancelled')|
#### Event_Schedule
| Column | Data Type | Constraints |
|--------------|-------------|------------------------------------|
| schedule_id | INT | PRIMARY KEY, AUTO_INCREMENT |
| event_id | INT | FOREIGN KEY (Events)|
| activity_name| VARCHAR(100)||
| start_time | TIME ||
| end_time | TIME ||
| description | TEXT ||
#### Reports
| Column | Data Type | Constraints |
|-----------------|-------------|------------------------------------|
| report_id | INT | PRIMARY KEY, AUTO_INCREMENT |
| event_id | INT | FOREIGN KEY (Events)|
| total_attendance| INT ||
| total_revenue | DECIMAL(10,2)||
| report_date | DATE ||
### ER Diagram
```mermaid
erDiagram
USERS {
INT user_id PRIMARY KEY
VARCHAR username
VARCHAR password
VARCHAR email
VARCHAR full_name
ENUM role
}
EVENTS {
INT event_id PRIMARY KEY
INT organizer_id FOREIGN KEY
VARCHAR event_name
DATE event_date
TIME event_time
VARCHAR location
TEXT description
}
TICKETS {
INT ticket_id PRIMARY KEY
INT event_id FOREIGN KEY
VARCHAR ticket_type
DECIMAL price
INT quantity
}
REGISTRATIONS {
INT registration_id PRIMARY KEY
INT event_id FOREIGN KEY
INT user_id FOREIGN KEY
INT ticket_id FOREIGN KEY
DATE registration_date
ENUM payment_status
}
EVENT_SCHEDULE {
INT schedule_id PRIMARY KEY
INT event_id FOREIGN KEY
VARCHAR activity_name
TIME start_time
TIME end_time
TEXT description
}
REPORTS {
INT report_id PRIMARY KEY
INT event_id FOREIGN KEY
INT total_attendance
DECIMAL total_revenue
DATE report_date
}
USERS ||--o{ EVENTS: creates
EVENTS ||--o{ TICKETS: has
USERS ||--o{ REGISTRATIONS: registers
EVENTS ||--o{ REGISTRATIONS: contains
EVENTS ||--o{ EVENT_SCHEDULE: schedules
EVENTS ||--o{ REPORTS: generates
```
## SQL Statements
### Create Table Statements
```sql
-- Create Users table
CREATE TABLE Users (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL,
full_name VARCHAR(100),
role ENUM('admin', 'organizer', 'attendee') NOT NULL
);
-- Create Events table
CREATE TABLE Events (
event_id INT PRIMARY KEY AUTO_INCREMENT,
organizer_id INT,
event_name VARCHAR(100) NOT NULL,
event_date DATE NOT NULL,
event_time TIME NOT NULL,
location VARCHAR(255),
description TEXT,
FOREIGN KEY (organizer_id) REFERENCES Users(user_id)
);
-- Create Tickets table
CREATE TABLE Tickets (
ticket_id INT PRIMARY KEY AUTO_INCREMENT,
event_id INT,
ticket_type VARCHAR(50),
price DECIMAL(10,2),
quantity INT,
FOREIGN KEY (event_id) REFERENCES Events(event_id)
);
-- Create Registrations table
CREATE TABLE Registrations (
registration_id INT PRIMARY KEY AUTO_INCREMENT,
event_id INT,
user_id INT,
ticket_id INT,
registration_date DATE,
payment_status ENUM('Paid', 'Pending', 'Cancelled'),
FOREIGN KEY (event_id) REFERENCES Events(event_id),
FOREIGN KEY

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions