An online automated ticket reservation system for football matches in the Egyptian Premier League
- make sure to have
.env
file in the directory calledcode
where the content of the.env
file will be as follow:
PORT_NUM=<port_number>
SECRET="<some string key used by session>"
DB_URL="<database_link>"
MAPBOX_API_KEY="<mapbox_API_KEY>"
- run the command
npm install
while standing in the directory calledcode
to install all dependencies specified bypackage.json
file. - make sure you have MongoDB installed.
- run
nodemon app.js
ornode app.js
to run the project.
- add verification to input data
- connect to online database
- use any online storage service as Cloudinary instead of storing in the local files
- modify some of the endpoints
- change architecture of the system
- the directory seeds contains only 1 file responsible for creating seeds for the database
- the directory utils contains only 1 file responsible for some time formatting
- the directory views contains files related to html files that will be rendered using
ejs
and sent - the directory routes contains files responsible for routing to different endpoints
- the directory controllers contains files that has code implementation for the routes
- the directory models contains files responsible for defining document structures and schemas for the mongo database
- the directory public contains miscellaneous files responsible for different things used by
views
Designing good looking home page
F0.mp4
New Users should sign-up & the user account is given an authority when the administrator approves their authority.
F1.mp4
The administrator can remove an existing account.
F2.mp4
The EFA managers can create a new match event and add all its details.
F3.mp4
The EFA managers can change/edit the details of a certain match.
F4.mp4
The EFA managers can add a new stadium and define its shape and number of seats as shown below.
F5.mp4
The EFA managers can view matches details.
F6.mp4
The EFA managers can view the overall seat status for each event (vacant/reserved).
F7.mp4
The customer can edit their personal data (except for the username and email address).
F8.mp4
The customer can view all matches details as well as the vacant seats for each match.
F9.mp4
The customer can select vacant seat/s only.
F10.mp4
The customer can cancel a reserved ticket only 3 days before the start of the event. The seat/s in the reservation should be vacant again.
F11.mp4
The guest can register a new account (whether as a fan or as a manager).
F12.mp4
The guest can log in as an existing account.
F13.mp4
The guest can view matches details (whether signed in or not).