These files are for my CS490 Project I did during my undergraduate years of college where me and my team had to create a Online Test Taking System aimed at freshmens taking an exam and allowing the teach to grade them. This project involves 3 people who make a front, middle, and back (I did parts of the middle & back) where a teacher can create and hand out a digital test and a student must take the test & be graded on it.
The project includes an autograder where the autograder will grade the system on:
- Compilation (it must compile successfully)
- Output (Teacher specifies an input & expected output)
- Function Name (Can detect if a user spells a function exactly as stated)
- Constraints (Can detect for contraints [e.g. student must use a for loop])
Teacher is also able to edit the individual scores & add comments.
- PHP 7.4+ (tested with PHP 7.4)
- Python 3.7.0+
- MySQL 8.0+
- Apache 2.4+
Student Username: stud
Student Password: student
Teacher Username: teach
Teacher Password: teacher
The easiest way to try this project out is with Docker. You can either build locally or pull from DockerHub:
docker run -d -p 3210:80 -p 3211:3306 -p 3212:22 --name online-grading-system zibdie/online-grading-system:latest
docker build -t online-grading-system-local . && docker run -d -p 3210:80 -p 3211:3306 -p 3212:22 --name online-grading-system online-grading-system-local
Ports:
- 3210 [port 80 internally] is the front-facing Apache server. This is where you see the site
- 3211 [port 3306 internally] is the MySQL server, should you wish to see the database
- 3212 [port 22 internally] is an OpenSSH server in case you need to navigate inside the container for any reason and unable to do so using Docker itself.
DO NOT ALLOW OUTSIDE ACCESS TO THIS CONTAINER/PROJECT! IT HAS BEEN INTENTIONALLY SET UP AS INSECURE FOR YOUR CONVENIENCE!







