Database Systems 2022 term project (Software Engineering)
A full-stack web application for programming contests, inspired by EMKC. Uses Piston for code execution.
The main focus is on performing database queries. Many of the web development best practices were not followed for simplicity. For example, the passwords are stored as plain text in the database and all of the requests performed on the API endpoints are POST requests.
- NodeJS (>= 18)
- NPM
- MySQL (Docker images are ok)
- Clone the repository using
git clone
cd
into the directory of the projectcd
intosrc
- Copy
db/config.js.sample
intodb/config.js
- Edit
config.js
with your MySQL information - Run
npm install
to install the node modules - Run
npm run initdb
to initialize the database - Run
npm run migrate
to apply the database migrations - Run
npm run api
andnpm run front
- Access the website at
127.0.0.1:3000
Team members
- Omar Adel Abdel Hamid Ahmed Brikaa - 20206043
- Ahmed Wael Nagy Wanas - 20206008
- Adham Hazem Fahmy Shafhei - 20206011
- Ali Esmat Ahmed Orfi - 20206123
- Mootaz Medhat Ezzat AbdelWahab - 20206074