Congrats in passing the first round of interview! Kindly find the project assignment. You have 12 hours to complete your assignment. Do remember to consistently commit your progress throughout your development.
You will need to use the following technologies for the project:
- nodeJS for backend
- mongoDB for database
- NextJS for frontend
- auth0 API for user authentication
- agora.io for video recording and capturing. Please visit https://www.agora.io/en/developer-resources/ for more information.
We are automating the interview process by allowing candidates to submit their video interviews online!
For the user flow:
- When the candidate goes into the page, they see a registration form for them to input important details. Please use the Auth0 api to implement user authentication.
- After the candidate signs up, they are directed to a page to take the video interview test
- The video interview uses the agora.io API to record and capture and store the video.
- The video interview question will be shown, and the user will be able to record the video, and confirm the video they want to submit.
- Please note that the maximum length of the recorded video should be 1 minute.
- Candidate should be able to see a list of video recordings that they have submitted for the video interviews.
FOR BACKEND
Create the backend service using nodeJS and mongoDB.
You will need the following models:
- Candidate (talent that takes the test)
- Video Interview
- Video Interview Questions
- Maximum video length for the candidate to answer questions (you can hardcode it to be 1 minute)
- Please ensure APIs to the backend are secure. Feel free to add other models that you think you may require.
FOR FRONTEND
The front-end does not need to be fancy.
Please use NextJS template for the frontend.
METRICS
You will be assessed based on:
- clean code
- good design of databases etc.
- error handling
- threading safety
- coding best practices / design patterns
Breakdown of Metrics:
Features completed - 30%
Time - 20%
Code Quality 50%
Kindly submit your production ready code by creating a pull request to github, and deploying the final product through heroku.