Full Stack Developer Assignment
Full Stack Developer Assignment
Introduction:
This assignment is designed for candidates applying for a Full-stack developer role.
Your task is to build a Test Environment Platform where students can take multiple-
choice questions (MCQ) tests. Please carefully read the requirements and evaluation
criteria before beginning. The deadline for completion is by EOD 20/08/2024
Assignment Task:
You are required to build a web-based platform that allows students to take MCQ tests.
The platform should manage user authentication, handle test administration, and
evaluate and display the results to the users.
Platform Requirements:
● User Authentication:
○ Implement a login system using email and password.
○ Ensure the user is authenticated before accessing the test.
● Test Environment:
○ After login, the user should start the test, which will ask for permissions to
access the camera and microphone.
○ Display a preview of the camera feed once permissions are granted.
○ If any permission is missing, show an appropriate error message.
● Test Submission:
○ On completion, users can submit their test. Redirect them to a "Finish
Test" page.
○ Implement a cron job that runs every hour to evaluate submitted tests.
Technical Requirements:
● Frontend: React.js library for designing & developing frontend.
● Backend: Node.js with Express, MongoDB for database.
● Authentication: JWT or session-based authentication.
● Cron Jobs: Use a tool like node-cron or any other similar library.
● Email Service: Use a service like Nodemailer, Mailersend or any other email
service provider.
Submission:
Please submit your completed assignment by pushing your code on GitHub with all the
necessary instructions to run the project in its ReadMe section and submit your
repository link in this Google Form.