Skip to content

zibdie/Online-Grading-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Online Test Taking System Project

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.

Requirements

  • PHP 7.4+ (tested with PHP 7.4)
  • Python 3.7.0+
  • MySQL 8.0+
  • Apache 2.4+

Login Information:

Student Username: stud
Student Password: student

Teacher Username: teach
Teacher Password: teacher

Build & Run With Docker

The easiest way to try this project out is with Docker. You can either build locally or pull from DockerHub:

Option 1: Pull from DockerHub (Recommended)

docker run -d -p 3210:80 -p 3211:3306 -p 3212:22 --name online-grading-system zibdie/online-grading-system:latest

Option 2: Build Locally

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!

Login

Login Screen

Students Point of View

Student Dashboard Student Taking Exam Student Exam Results Student Grades

Teachers Point of View

Teacher Dashboard Teacher Exam Creation Teacher Grading

About

An Online Test Taking System Project written by me and 2 other members in HTML, CSS, PHP, JavaScript, and SQL (MySQL)

Topics

Resources

Stars

Watchers

Forks

Contributors