0% found this document useful (0 votes)
4 views

Full Stack Developer Assignment

The assignment requires candidates for a Full-stack developer role to build a web-based Test Environment Platform for MCQ tests, with user authentication, test administration, and result evaluation. Key features include a login system, camera access, a user-friendly MCQ interface, automated test evaluation via cron jobs, and email notifications for scores. The project must be completed by EOD 20/08/2024 and submitted on GitHub with detailed instructions and a test user account.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Full Stack Developer Assignment

The assignment requires candidates for a Full-stack developer role to build a web-based Test Environment Platform for MCQ tests, with user authentication, test administration, and result evaluation. Key features include a login system, camera access, a user-friendly MCQ interface, automated test evaluation via cron jobs, and email notifications for scores. The project must be completed by EOD 20/08/2024 and submitted on GitHub with detailed instructions and a test user account.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

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.

● MCQ Test Interface:


○ Users should be able to see each question and its options.
○ Allow users to select and change their answers.
○ Users should be able to navigate between questions freely.
○ Include a camera window in the test interface.

● 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.

● Score and Evaluation:


○ The cron job should evaluate the answers, calculate the score, and store
the results.
○ Automatically send the score to the user's email using a predefined
template.

Designs and Specifications:


You can access the system flow and schema designs here. Make sure to review these
designs to understand the architecture and data models you should implement.

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.

Key Evaluation Points:


● Functionality: Does the platform meet all the specified requirements? Are there
any bugs or missing features?
● Code Quality: Is the code well-organized, clean, and follows best practices? Is it
easy to understand and maintain?
● User Interface: Is the interface intuitive and user-friendly? Does it provide a
good user experience?

Presentation Key Points:

● Test Creation: Create a test with 10 MCQ questions to demonstrate the


platform's functionality.
● User Credentials: Provide a test user account with credentials that can be used
to log in and attempt the test.
● The .env file should be part of your repository for storing all keys and secrets.
● Evaluation: Share the email template used for sending test scores and include a
screenshot of the email received by the user after the test evaluation in the
Readme section of Repository.

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.

You might also like