/QuizServe

A web-based application. A testing tool that’s function is the managing, administration, and taking of multiple-choice and true-false examinations.

Primary LanguageJava

Final Project for ISCI-418Y, Software Engineering, Spring 2019

Presentation here

Screenshots here

The Login Page

Video here

See it live here, at this domain: http://quiz-app.us-east-1.elasticbeanstalk.com/. Terminated

Professor Yates Professor Cusano Testing
email jyates@albany.edu cacusano@albany.edu admin@gmail.com
password csi2019 csi2019 csi2019

Requirements

The final project was a web-based application. More specifically, it was a testing tool that’s function was the managing, administration, and taking of multiple-choice and true-false examinations. The goal of the project was to create a testing system, which includes a user component, where one can take any number of assigned tests, receiving said results, as well as viewing results of previously taken tests. The testing system also includes an administrative component where one can create, read, update and delete all types of users, questions (answers), and tests – as well as view user’s results.

More specific requirements include: users are identified by and login through an email and password; users can be marked inactive by an administrator and are therefore not allowed to login; users are emailed their identification information upon account creation by an administrator; questions are to be categorized and can contain images as well as text; upon taking a test, a user’s progress should be saved actively as they answer questions; the header image, header text, and footer text should be customizable by each administrator; a test with questions and answers can be uploaded to the web-app in the form of a csv file, propagating through the database.

To fulfill the project objective and requirements detailed previously, it is important to specify what data is required: To secure the test management solution, users (both administrator and normal) must login with username and password data. Users activity data must also be retrieved upon login; i.e. users marked with inactive data will not be allowed to login. To successfully represent tests in a web-based GUI, a test has certain required data including who created it, its name, the due-date, and what questions the test contains. Questions must have data to determine whether it is TF or MC, as well as its answers if it is a MC question or if the answer is true or false if it is a TF question. Answers must have text, and data determining whether the answer is correct given its question. And chosen answers must be stored before a Test entity is created; i.e. answer data must be stored until test submission and then flushed when the test submitted or the due date passes.

Design

Wire Frame

Product Backlog

  • The priority of the stories goes top -> bottom, and the number at the beginning of each card title is the story point, however, they are also available as tags for each trello item. Thank you.
  • See Live Trello
  • See Product Backlog PDF

Project Plan with Sprints

Testing Plan and Results

Deployment Plan Including Install Scripts

Maintenance Plan

Other Info

Dependencies

  • javax.servlet-api 4.0.1
  • javax.servlet.jsp-api 2.3.3
  • jstl 1.2
  • mysql-connector-java 8.0.15
  • javax.mail 1.6.2
  • commons-io 1.3.2
  • commons-fileupload 1.4
  • opencsv 4.5
  • Slack Team Code: icsi-418team.slack.com
  • A repository/task manager for hosting our product backlog and sprints

Team Members:

  1. Luke R. Prescott
  2. Sean Loucks
  3. Jack Holden
  4. Max Moore
  5. Chin Wa Cheung
  6. Will Dahl
  7. Gary Passarelli