Computer Science website assignment
Category 1
1) Initial team presentation requirements: Team status update presentation (using PowerPoint or your desired presentation software). Your team will have 8 minutes to highlight the below requirements and explain your project and idea to the class (this will be scheduled halfway through the semester).
NOTE: you do not need a working system at this point, just the below requirements, thought out and presented with slides, you’re telling a high level story at this point.
Define your project
· Project Summary and idea, what will you build and what impact should it make
The project idea is a ticket selling system that will be a little better than most. We will have up to date events, emailed digital tickets, and an up-to-date event dashboard. Most ticketing apps still allow you to select and buy tickets to old events and this should not be allowed, our work around is to archive these events or put it in a history tab/archive section where we can still search for its details, but not buy. We will offer a range of different events where people can find their niches in society. Some examples could be car shows, cooking classes, and concerts. We want to promote the community by having a forum. This forum will allow users to see who will attend the event, based on a chat that will be implemented, and allow the users to communicate and build up excitement, and hopefully build new friendships. By allowing this type of interaction we can see how to better cater for the people attending these events and offer them a better catered experience. Users will also be able to leave reviews for the events after they have occurred which might assist in hospitality management and event development. The feedback, at first, will be how we get the data to develop our new strategies to serve our community of users. We will be able to pull reports of the site usages, ticket sales, and revenue collected, this will all help us to find trends within the market and lead us to achieve the best results in sales, since the customer knows what experience they want to have.
· The Systems Description
· Principal inputs and their forms (paper, electronic, voice, etc…) - how will a user interact, add data?
The principal form of input data will be divided into three different forms one for the guests, the members of the site and one for the administrator. All the data being collected will be done electronically.
Guest: A guest is anyone who uses the site and does not sign up and create their profile. Being that this is an events application users can still purchase and browse for events without needing to sign up. They will see the same home page of the site. There will be a link to sign up and log in, which they can choose to become a member. If not, they can browse tickets by dates, name of event, and location. Once their event has been selected the information of the event will be displayed. From here they can select the ticket for purchase, and purchase the tickets as a guest.When done this way, an invoice will be sent to the user’s email address and the ticket and information for the event will be included. The only thing left to do is enjoy the event. Guests will not have access to the forum and won't be able to post in the community, they will only be able to view member’s interactions on the site.
Members: The user will see a visual link to sign up for the site once they are at the home page of the event website/app. Following this link, the user will be able to fill out a form with their personal details to sign up for the site. The details they will need to provide will be their first name, last name, email address, billing address, phone number, and there will be a location prompt to look for events near their location with the input of their zip code. When signed up for the site, they will receive event emails, VIP registration and discount codes for loyal customers. There will be a forum type feature where users will be able to comment and see who will be joining the event. This way we can build community and create buzz for events beforehand.
Administrator: The administrator will see a different dashboard than the user. This dashboard will allow the administrator to have control over posting and filling out the details of the events using forms. The administrator will also have to fill out a form type application for the details of the events that they are going to post. This form application will be filled out providing the following details: event name, event type, event description, the event headliner and/or featured artist/act, event location, event capacity, seat assignments, ticket prices, and event amenities, if any. Administrators will have the power to add, edit and delete events, details, and forum posts. They will have the power to block and suspend users who have violated community rules. The Administrator will be able to see how many tickets were sold, how much money was made, and the filled map out of the event.
· What’s the process to handle data (database to store, user interface, data entry to enter) – how will the systems store and transact the data?
We aim to host the data of the events users, events, and revenue on databases to provide the back end for the site/app. To input the data, the user will have to fill out forms with the prompted information, this will lead to a profile being created for that user. To search for hosted events, the user will have to input information on the site to narrow down their searches for what they are looking for. They will also be able to look for events by inputting their zip code and searching for nearby events. Information does not match any event listed there will be an error shown to the user, and they will be prompted to try again.
· What’s the output (database updates, reports etc…) – how will the data be displayed to a user and or company user?
The outputs of the data will be hosted on databases that you can query through MySQL. This data would then be pulled from the database onto reports which will be more visually appealing in the search for the direct information. The admin will be able to pull revenue reports, tickets sales, numbers for website traffic and digital impact from shared links and other social media app outlooks. Yearly reports will also be able to be generated and trends will be able to be identified easier.
Any user who purchases a ticket for an event will get an invoice upon purchase of a ticket for an event. In this receipt there will be a barcode ticket number which is unique to this specific ticket. Along with the barcode there will be a location and a seat displayed for said user. That will be the date and time of the event also on the ticket. And the user's contact information will be displayed on the ticket.
· What are the Goals for the System (at least 3)
Specifically explain each answer, not just Goal = increase sales, how will you increase sales
· Earn revenue: We intend to release the app and with incentives to make people join, we will host ads for other events and earn the revenue for our company and compete in the market with others.
· Satisfactory customer service: We want to cater to the customers and make the experience a great hospitality service.
· Maximizing event amounts: As the app develops in its life cycle, we intend to host events and grow with the market and host more events throughout the year, this in turn brings up the revenue and also helps with the customer service ratings.
·
System Representation
· Summary of the overall system design, what features will the system have when it is complete, what functions can it perform.
Project Summary:
The project aims to create an advanced ticket selling system with up-to-date event listings, digital ticketing, and community engagement features, addressing existing app shortcomings.
Key Features:
· Menu Hierarchies: Home, About, Events, Search, Member, Help.
· User Interaction: Guests can browse and purchase tickets, Members enjoy additional features like forums, Administrators manage events and users.
· Data Handling: Input through electronic forms, storage in databases, output in reports.
· Goals: Earn Revenue, Satisfy Customer Service, Maximize Event Amounts.
· Project Analysis: Cost Estimation, Resource Requirements, Three-month Timeline.
· Use Case Diagrams: Guests, Members, Administrators.
· Database Description: Stores event details, customer information, orders, and tickets.
This system design aims to offer a user-friendly platform for event ticketing while enhancing community engagement and revenue opportunities.
· Menu Hierarchies for your application or website (navigation). Example, Home, About, Services (any sub menu items like products). For an application, Main Menu. Reservations,
Inventory, Orders etc… and any sub menus. - Anusha
Our app will have it the following:
1. Home page - Where the guest and members can see the different events that we offer and also sign up for the app a
2. About – This section will have our company details and what we offer to our guest and members.
3. Event - This section will navigate you about the event that are happening, which will also have the sub section where you can choose different event in different categories like: music, networking, art etc.
4. Search - You can search here about the event.
5. Member - This button will have your profile, account setting and preference.
6. Help - This will navigate to support, FAQ.
· Report Design – what type of reports will your systems generate, explain the data it will produce, who can run the report, why, and provide a sample layout of the generated report. - Weisui
Event Participation Report
Purpose: To show participation details for specific events, including the number of attendees, event feedback ratings, and summary of comments.
Data: Event name, event date, total number of participants, average rating, selected comments.
Access: Event organizers and administrators can run this report to assess the success of an event and gain insights for planning future events.
User Activity Preferences Report
Purpose: To analyze users' history of event participation, highlighting the most popular types of events and timing preferences.
Data: User ID, most frequently attended types of events, preferred timing for events.
Access: Administrators can run this report to understand the preferences of their user base to better tailor future event recommendations.
Sales and Revenue Report
Purpose: To provide statistics on ticket sales over a specified period, including total sales, most popular events, and average ticket price.
Data: Time period, total sales amount, list of popular events, average ticket price.
Access: Financial managers and the main administrator can run this report for financial planning and assessing the effectiveness of marketing strategies.
Project & Systems Analysis
· Project Analysis:
· How much your project will cost – hardware, software, labor etc…
hardware - computers and laptops - $500 to $1300
Server - $5000 - $15000
Network and equipment - $1000-$5000
Data storage - $1000
Backup and data recovery solution $1000
Total- $7000
Software - Operating system - $200
Annual subscription for MS office, Google suits, Quickbook etc - $120
Security software- $100
Labor cost - Salary and wages - starting from $30/hr to more depending on the designation/title
· Who will work on it, what resources do you need.
On this project we will need developers for the front end of the site, since that is what the users will be interacting with. The website must be easy, simple to use and appealing to the eyes. We want it to have images of events to set a party theme for the site. We will need a project manager for the strategies that are being implemented for the project and risk management for the site and the project. We will have some database developers for the backend of the project and the storage of the system. We will need to store names, addresses, locations, location capacity, ticket numbers, invoices, banking information, transactions, ticket prices, and all of this must be saved and able to be queried and return results.
· How long will your project take to complete?
We aim for our project to take 3 months of time; within this time, we intend to create a plan and strategy program for the app/website to the requirements that we are setting. We also need to be adaptive to survive in space, constantly looking for the changes that we expect to show up for a project like this. We will build the website and develop the database relations for the backend and conjoin them together to make a seamless system. That way we can see if the website will be successful in a year's time frame. If not, then we will have to scrap the project and move on to the next project.
Phase 1: Problem definition object: Define your project.
A. Project Summary
a. Use no more than one page to describe your project
B. The System Setting
a. The company and industry for which you will build or upgrade the system
C. Describe the Project Environment
a. Systems history – Is this a new or existing system and describe the current state, current effectiveness or if new what impact will it bring
b. Who are the system's users and their functional responsibilities is it for the public or specific business unit, and employee, a manager etc….
D. The Systems Description
a. Principal inputs and their forms (paper, electronic, voice, etc…)
b. What’s the process to handle data (database to store, user interface, data entry to enter)
c. What’s the output (database updates, reports, books, discs)
E. What are the Goals for the System (at least 3)
a. Specifically explain each answer, not just Goal = increase sales, how will you increase sales
F. Data Gathering Plan
a. What have you found out from users about needing a system or an upgrade - How will your team collect data for a system study? Example: What actions went into data gathering: requirements gathering, meetings, surveys? employee interviews?
Phase 2: System Representation – Design Object: Design the logical model
This section especially focuses on the design of the purchase and management of the tickets. This website allows users to sign up for the event, become a member, and locate the event within the community nearby using zip code, email, or any interested location that is limited to 5 Boroughs.
The websites will have the following system features:
a. Guest Registration: Guest users can visit the website and still buy a ticket without signing up. They can browse tickets by date, name, and location. Once they buy a ticket, they can provide an email or phone number so the invoice can be sent to the guest.
b. Member Sign Up: The member will have to sign up and create an account. They will see a visual link to sign up for the site once they are on the home page of the event website/app. Following this link, the user will be able to fill out a form with their details to sign up for the site. The details will include their first name, last name, email address, billing address, and phone number.
c. Administrator: The administrator will see a different dashboard than the user. This dashboard will allow the administrator to have control over posting and filling out the details of the events using forms.
d. Event Listing: In the home page section, guests/members can see the event list with date, time, venue, and pricing. To make it easier and more convenient we have created a separate event section where guests can navigate and find more event listings with details.
e. Tickets: All the tickets will be under the event section. The event listing will show the ticket price and some of the events also have early bird admission where users can book the ticket at a lower price than the original.
f. Payment: To facilitate a secure and easy transaction we have created a various payment option for our users. Users can make a payment with credit/debit cards, and other digital payments.
g. Customer support: From the home page section, users can navigate to the Contact Us section where users can send us messages regarding their experience and any questions or queries.
Data Flow Diagram
- Context Level 0
A 0-level Data flow diagram is also known as a context diagram. The above diagram shows the abstraction view or overview of the entire system. The incoming and outgoing arrows represent the input and output data which represent the system. This diagram represents the data flow, data store, and some major processes of the system.
- Level 1 DFD
The above DFD level 1 diagram is a general overview of the event ticket system. This diagram focuses on who is the user what is the feature and what’s in the system. To create information, the level 1 DFD highlights the interaction of data through the main process within the system. In the above DFD Level 1 which represents the interaction between guests and the event ticketing system. The Guest interface must log in choose the available event for booking and make a payment for the available event. Similarly, the admin interface has the report and the details of all the events guest info, and payment details.
- Level 2 DFD
Level 2 DFD provides a more detailed view of the data process by breaking down the subprocess of level 1 DFD into more subprocesses. This will help to dig deep into the details and necessary system functioning. The level 2 DFD will focus more on who is the user and what they can do in the system.
Menu Hierarchy
· Home page - Where the guests and members can see the different events listed and more details about the website and what we offer. Members will have their profile section and notification section on the side where they can get access to many other features of the website.
· About – This section will have our company details and what we offer to our guests and members. We have more details about who we are and what we offer.
· Event - This section will inform you about the events that are happening, which will also have a subsection where you can choose different events in different categories like music, networking, art, etc. We also have listed the past events in our Achieve section, which has details about our past events.
· Contact - This section is for our guests and members to reach out for any help or feedback. We are very open to any recommendations, feedback, and reviews. We take our guests/members and their experience with us very seriously, so to do better in the future we are always open to any constructive criticism and feedback.
· More - This section will navigate you to the FAQ. This will have some important information and questions about the website for our user
Report Design
Phase 3: Project & Systems Analysis
A. Project Analysis:
a. How much your project will cost – hardware, software, labor etc…
·
hardware - computers and laptops - $500 to $1300
Server - $5000 - $15000
Network and equipment - $1000-$5000
Data storage - $1000
Backup and data recovery solution $1000
Total- $7000
Software - Operating system - $200
Annual subscription for MS Office, Google suits, Quickbook etc - $120
Security software- $100
Labor cost - Salary and wages - starting from $30/hr to more depending on the designation/title.
b. Who will work on it, what resources do you need
On this project we will need developers for the front end of the site, since that is what the users will be interacting with. The website must be easy, simple to use and appealing to the eyes. We want it to have images of events to set a party theme for the site. We will need a project manager for the strategies that are being implemented for the project and risk management for the site and the project. We will have some database developers for the backend of the project and the storage of the system. We will need to store names, addresses, locations, location capacity, ticket numbers, invoices, banking information, transactions, ticket prices, and all of this must be saved and able to be queried and return results.
c. How long will your project take to complete
The project will take the team five longer than the original expectancy of three months. There was an extended process with finding the right programmers and database builder for the specifications that our stakeholders wanted. Within the integration of the database there was a problem adding the backend database to the front end site. The programmers created the database on MS Access and this made it hard to integrate with their chosen web domain host. They had to learn a new language and then integrate the frontend and backend. This team was one of our in-house teams and we decided to have faith in the team that we had built to proceed and pull through with their assignment. We paid for them to learn the new language as from now on they can code in the new language for future projects. The settings that were required by the stakeholder for the event site were very specific, with the intention to make the site very easy to use without many options to click on to get to their options. When it comes to events there are a lot of things that need to be displayed at the center of the screen in order for the information to be displayed clearly. Because of the hold up with the database, everything else trickled down and held the process of the project up.
Once the site was up, they had to integrate the chat option on the events for the members of the site to create a sense of community before the events. The integration of the chat took a while too because of the restrictions on words and code of conduct rule implementations.
B. Systems Analysis. Create Use Case Diagrams: describe at least 4-6 use cases of your system. Diagram the relationships between user and systems. As an example, if this was a Restaurant System, what happens when you login, Add a new menu item, create an order for the kitchen staff, create a reservation, check out (user pays bill), update inventory or change inventory items
USE CASE DIAGRAMS FOR DIFFERENT SYSTEM USERS:
GUESTS:
Sign Up for Website: When the guest visits the website they will have the option to sign into the website. There will be a button that they will be able to press, located at the top right of the screen. From pressing this button the guest will be taken to a sign up screen and they will fill out the form to sign up. Within the form there will be text boxes that will display: first name, last name, email address, phone number, and the option to save a credit card on your account for express payment.
Search for events: The guest will see a search bar when on the site, this search bar will be used to search for events that are currently available on the site. They will be able to search by complete addresses, city, state, and zip code. They will also have the option to search by event name.
Pay for an event with a Credit Card: The guest can go into the event page and choose the event that they want to purchase, there will be a “Purchase” button. Once the event ticket is in their cart, they will have the option to pay with the following services: Paypal, MasterCard, Visa, Apple Pay, Klarna, and After Pay. They will fill out their billing address information and email address for notifications and updates, and submit this form. From here there will be an online ticket that will be created and sent to the guests email address.
Receive receipt after purchase: An email will be sent to the guest after they have purchased a ticket. The ticket information will be contained in this email, with ticket details such as the event name, time, date, your purchased seat and any other amenities that come with the tickets included. This ticket could be printed and also downloaded to your personal devices, on the wallet. Once this ticket is scanned, it is redeemed and cannot be used again.
MEMBERS:
Log into the website with credentials: The guests will have the option to sign up for the website and become members. Once they are members, they will be able to log into the site with their credentials: email and password. By becoming members, they will be able to leave comments under the events forum, update profile details, receive discounts, and they will be able to save a credit card onto their account for express checkout.
Create a member profile & edit member profile: Once the user becomes a member they will be able to create a profile to personalize their experience. They will be able to edit the form that they filled out when they created their account and submit the changes. From this account, you can now track your purchases, the categories you have chosen before, and save a credit card or payment method for future purchases.
Search for events: The member will see a search bar when on the site, this search bar will be used to search for events that are currently available on the site. They will be able to search by complete addresses, city, state, and zip code. They will also have the option to search by event name.
Receive discounts, emails, and invitations: The members have the option to sign up for notifications for the events that they have purchased, and other events that will come in the future. These emails will sometimes contain discount codes and other rebates for future purchases. Notifications will be sent if there are any changes to the events like cancellations, time changes, venue changes and other updates that will affect the experience of the member.
Post comments on the Event’s forums: There will be a comment section under the event description page, where the members of the site will be able to comment on the event, build anticipation, and see other members who are attending. This will in time create a community of users who build the excitement for the site and get our name out there in the space of event planning. The comments will be subject to the website’s guidelines for a safe community.
Reply to posts: The members will have the option to comment on the forum, this will also give them the ability to reply to post on the forum. This will be the key to creating conversation on the website. The replies and comments will be subject to the website’s guidelines for a safe community.
Pay for an event with a Credit Card: The guest can go into the event page and choose the event that they want to purchase, there will be a “Purchase” button. Once the event ticket is in their cart, they will have the option to pay with the following services: Paypal, MasterCard, Visa, Apple Pay, Klarna, and After Pay. They will fill out their billing address information and email address for notifications and
Receive receipt after purchase: An email will be sent to the member after they have purchased a ticket. The ticket information will be contained in this email, with ticket details such as the event name, time, date, your purchased seat and any other amenities that come with the tickets included. This ticket could be printed and also downloaded to your personal devices, on the wallet. Once this ticket is scanned, it is redeemed and cannot be used again.
ADMINISTRATOR:
Add members to the website: The administrator has the power to accept potential members into the website. This gives them the power to create the culture they want on their platform. From this user acceptance, guests become members, can chat, reply, save payment methods, and rate the events.
Suspend member accounts: Administrators have the ability to suspend member accounts for things like guideline violations, or community rule violations. This means that they can revoke membership and eliminate a member's data from our servers deeming their account unavailable for use again.
Send notifications to members: Administrators have the ability to send members notifications about many things. They can update members on events they will be attending, if there are any changes they can broadcast a message for every purchaser. They can also send notifications for cancellation and refunds. There can also be messages for discounts, or rebates that will apply to the purchases. Administrators can also send messages to members about their account statuses, membership cancellation, and rule violation.
Edit member status: The administrator can edit a member’s status. Whether they have an active account or suspended one they can change the members status giving and taking permissions that allow them to use the site effectively.
Add events to the website: The administrator will have the power of adding events to the website for members and guests to purchase. The website administrator will post the events, their descriptions, and any changes to the event.
Add event descriptions: The administrator can add event descriptions to their events to give the customers more information about the events they might be attending. This means that they can add a title, act, time, location, quantity and price of the tickets that are being purchased.
Edit event information: The administrator can edit the event’s information after they have posted the event. These edits can be anything that has to be changed with text, dollar amounts, descriptions, locations and even seating arrangements. The entire event could be edited once it has been posted.
Remove events: The administrator can completely remove events from the database and website to eliminate listings. This means the event and its details will be deleted and no longer be accessed by anyone.
Reply to posts: The administrator can reply to posts that have been shared on the event’s information page, just like a member could. They can be part of the conversation, regulate what is going on on the forum, and see if members are following the rules.
Remove unwanted comments: The administrator can remove comments that violate community guidelines making the website safer for other members. There is a sense of censorship involved within this but negative and disrespectful comments need to be regulated to keep the community cordial.
Generate Reports page: The administrator can generate reports based on the logistics of the website. These reports can see trends in website usages, how long a user browses, member sign ups, and pages that are most accessed. This means that we can see what users are trending towards and adjust to the markets that are making the most profit.
C. What are the major processes, decision tables, decision trees: example- if I take an order it goes to the kitchen, if I book a reservation it updates the database etc…
Decision Tree: The decision tree displays the decisions the members and the guest have to make in order to get a successful transaction on our site. First the user, whether guest or member, navigates to the site with an event in mind to attend. If there is not, then the user can search through the events hosted on the website by using its search bar. Once the user knows what event they want to attend they will navigate to that event site and see the event details and if there are tickets available for this event. If there is not, then they can just search for another date and time, or go back to the previous step. If there are tickets available, then the user will just enter payment information and review their order before they pay for their seat. They will then confirm the purchase and prepare for the event by using their digital ticket or printing it. Once scanned, tickets cannot be redeemed again.
Things not included in the decision tree:
· The ability to make an account for the website. This is an optional service for users, and not part of the revenue process.
· The ability to comment on posts, or reply is not displayed because this is an optional service for the user to indulge in, it is not part of the revenue process.
D. Database design/schema diagrams
a. show the layout of the database, table structures, relationships etc…
DATABASE PROBLEM DESCRIPTION:
Finding a good event that boosts your mood and helps refresh your energy is very hard and overwhelming. Sometimes you need good music to refresh your mundane life and sometimes you need some good networking event to boost your professional life. So, to help people within the community find their perfect event we have created an website which is called Event2Go
Event2Go is a ticket-selling app for many kinds of events. Every event needs to be distinguished from the next, even if the event has the same act repeatedly, the date and time will always be different, so it will be a different event ID number to go with it. Within these events, there is a description that tells customers what type of events they are attending. They also have the location of the event, the maximum capacity of people who can attend the event, and a seat map that tells you which seats are still available. The event should have a seat cost for the seats being purchased.
The purchased ticket will be the key to attending the event. Within this electronic ticket is the unique order number, the ticket price that was paid, the seat that was purchased, the payment method, and the ticket quantity. It will also have the event location, floor, and room number. The ticket will also have the Artist/Act printed on it. The ticket would have to be purchased by a customer, but there would be no need to print their identity on the ticket since they can be bought for someone else.
A customer buys a ticket. The customer does not need to be saved in the system unless they have created a profile on our site; in other words, a customer could be a guest on the site. If a customer decides to create a profile, we will store the following information: first name, last name, and billing address, we will save their payment information for quicker future transactions, and their preference in events so that we can send them suggestions.
An order is different from a ticket. The ticket is generated after the order is completed (an event ticket is paid for). An order contains most of the same information as the ticket except that it generates the order number that is then printed on the ticket. Order contains the customer’s name, the billing address, the customer payment method, the receipt delivery type, and the event summary. Once this is complete, an order number is generated that is printed on the ticket for confirmation. This way we can track when the ticket is redeemed. One order can contain more than one ticket, but no more than 4, which makes it easier for people to buy tickets for groups.
PROBLEM ASSUMPTIONS:
· Every event is a one-time event, regardless if it is repeated later, at a different date, it will have a different time and date.
· Every customer who is a guest will be treated as a new customer, and customers who make accounts will be saved on the database.
· Admins will have their database, set up events, and access to the site and events.
· Multiple tickets can only be bought for the same event.
· An event location is the full address with the room or space it will be hosted in.
· An order carries the same overall printed information as a ticket, but it will include payment method and its own order number with the ticket information( amount, price, event code).
· Every order keeps track of the ticket stock until there are no more tickets, then the event is unavailable.
RELATIONSHIP SENTENCES:
· There are multiple events that a customer can buy tickets for from the website.
· An order can contain up to 4 tickets for an event.
· Administrators manage events, and manage customer accounts with website guidelines.
· Each event has its own event ID.
· One customer can make more than one order for the same event.
· Every order has an order number and updates ticket inventory.
·
ENTITIES AND ATTRIBUTES:
|
Entities |
Attributes |
|
Administrator |
AdminID, FirstName, LastName, PhoneNum, OfficeNum, BusinessLocation, BusinessName
|
|
Tickets |
TicketID, EventName, EventDescription, EventLocation, SeatNumber, SeatPrice, EventTime, EventTimeEnd, EventAct, Quantity,
|
|
Customer |
CustomerID, FirstName, LastName, BillingAddress, CardInfo, OrderHistory, Categories, PassWord, UserName
|
|
User |
UserID, PaymentInfo, BillingAddress, Email |
|
Orders |
OrderID, OrderPlacedDate, OrderPlacedTime, Quantity, OrderCompleteDate, OrderCompleteTime, TicketID, PaymentMthd, Quantity
|
|
Inventory |
InventoryID, CurrentTickets, FullStockTickets, AmountMade, EventID
|
|
Event |
EventID, Name, Description, Address, Room, Capacity, Price, Act, Time, SeatsAvailable, Rating, Comments |
|
UserEvents |
UserID, EventID, ParticipationStatus |
|
Reports |
ReportsID, ReportType, GeneratedTime, KeyMetrics |
|
SeatMap |
SeatNumber, Location, Price, Floor |
ENTITY RELATION DIAGRAM:
DATABASE CODES DRAFT :
CREATE TABLE User (
UserID INT PRIMARY KEY AUTO_INCREMENT,
BillingAddress VARCHAR(255) NOT NULL,
PaymentInfo VARCHAR(255) NOT NULL,
Email VARCHAR(255) NOT NULL
);
CREATE TABLE Events (
EventID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(255) NOT NULL,
Description TEXT,
Address VARCHAR(255) NOT NULL,
Room VARCHAR (255) NULL,
Price DECIMAL(10,2)
Act VARCHAR(255),
StartTime DATETIME NOT NULL,
EndTime DATETIME NOT NULL,
MaxCapacity INT,
Rating DECIMAL(3,2),
Comments TEXT
);
CREATE TABLE Tickets (
TicketID INT PRIMARY KEY AUTO_INCREMENT,
EventID INT NOT NULL,
UserID INT NOT NULL,
PurchaseDate DATETIME NOT NULL,
SeatPrice DOUBLE (10, 2),
Quantity INT NOT NULL,
FOREIGN KEY (EventID) REFERENCES Events(EventID),
FOREIGN KEY (UserID) REFERENCES Users(UserID)
);
CREATE TABLE UserEvents (
UserID INT NOT NULL,
EventID INT NOT NULL,
ParticipationStatus VARCHAR(255) NOT NULL,
PRIMARY KEY (UserID, EventID),
FOREIGN KEY (UserID) REFERENCES Users(UserID),
FOREIGN KEY (EventID) REFERENCES Events(EventID)
);
CREATE TABLE Reports (
ReportsID INT PRIMARY KEY AUTO_INCREMENT,
ReportType VARCHAR(255) NOT NULL,
GeneratedTime DATETIME NOT NULL,
KeyMetrics TEXT
);
CREATE TABLE Administrator (
AdminID INT PRIMARY KEY AUTO_INCREMENT,
FirstName VARCHAR(255) NOT NULL,
LastName VARCHAR(255) NOT NULL,
PhoneNum VARCHAR(25) NOT NULL,
OfficeNum VARCHAR(25) NOT NULL,
BusinessLocation VARCHAR(255) NOT NULL,
BusinessName VARCHAR(255) NOT NULL,
);
CREATE TABLE Customer (
CustomerID INT PRIMARY KEY AUTO_INCREMENT,
FirstName VARCHAR(255) NOT NULL,
LastName VARCHAR(255) NOT NULL,
BillingAddress VARCHAR(25) NOT NULL,
CardInfo VARCHAR(25) NOT NULL,
OrderHistory LIST NULL,
Categories VARCHAR(255) NULL,
UserName VARCHAR (255) NOT NULL,
PassWord VARCHAR(255) NOT NULL,
);
CREATE TABLE Orders (
OrdersID INT PRIMARY KEY AUTO_INCREMENT,
TicketID INT NOT NULL
EventID INT NOT NULL,
OrderPlacedDate DATE NOT NULL,
OrderPlacedTime TIME NOT NULL,
Quantity INT NOT NULL,
OrderCompleteDate DATE NOT NULL,
OrderCompleteTime TIME NOT NULL,
PaymentMthd VARCHAR (255) NOT NULL,
Email VARCHAR(255) NOT NULL,
FOREIGN KEY (TicketID) REFERENCES Ticket(TicketID),
FOREIGN KEY (EventID) REFERENCES Events(EventID)
);
CREATE TABLE SeatMap (
SeatNumber VARCHAR (5) PRIMARY KEY NOT NULL,
Location VARCHAR(255) NOT NULL,
Price DOUBLE (10,2) NOT NULL,
Floor VARCHAR (10) NOT NULL
);
);
APPENDIX OF DIAGRAMS:
Decision tree:
Use Case Diagram for Guests:
Activity Diagram for guests with Swimlanes:
Activity Diagrams with Swimlanes for Members:
Activity Diagram for Administrators with Swimlanes: