(i) This HTTPS site is for conducting examinations.
(ii) There should be a login screen for user authentication. User details will be stored in the database.
(iii) Once user logs in, he will be led to a menu, which will be populated from database. The test types will be retrieved from database.
(iv) User selects a specific test type from menu and takes the test.
(v) The test is of objective type with 4 options provided. Only one option is correct among the given 4 options.
(vi) The objective questions will be loaded n the database. Each question will have 4 options, only one correct. Also one figure may accompany the question.
(vii) The answer only should be displayed to the user after completing the test.
(viii) At any point, while taking the test, the user should have the flexibility to jump to any question and answer that question (even if that question is answered earlier). It should be displayed to the user whether the he/she has answered the question or whether he has not answered it earlier.
(ix) The user SHOULD NOT have the flexibility of copy / pasting the question from the screen. So the webpage first internally loads the question (being shown) along with the options to be selected (in a dataset / resultset).
Then it creates an image on the fly.
An html table is created on the fly. The questions with options are inserted in the html table.
The html table is embedded in the image (created earlier).
If there is an image accompanying the quesion, that too should be loaded and shown to user.
So the user basically sees the questions within the image and will be unable to copy the text of the image.
(x) Every test will be of a configurable duration (details of the test type stored in database). After the specified duration of the test, the test should be closed and should go for autoevaluation..so answers will be checked against the database, and score shown to user.
(x) The user will be shown the answers (again as an image as was the question shown) once the test is over and the user wants to see the answers. The answer could also contain an image. When the user wants to review the exam after the questions are answered, the answer will be shown to the user along with and below the question.