Nbyula Assignment - SDE
Nbyula Assignment - SDE
1. Level 0 (Basic) :-
a. All features that are mentioned above as minimum requirements.
2. Level 1 (Beginner) :-
a. Recording points scored by the students in a particular course.
b. Student Profile which shows the history of course quizzes taken and total
points earned for all courses quizzes and each course quiz separately.
c. Each answer needs to have sub-answers (segmented by topics).
3. Level 2 (Intermediate) :-
a. There should be a time limit for completing every quiz, which the teacher
should be mentioned while creating the quiz.
b. Each question will have multiple concepts tagged to it. For example - A
question related to algorithms can have multiple concepts such as sorting,
time and space complexity, and so on.
4. Level 3 (Advanced) :-
a. Introduce another scoring metric called the experience point for a specific
course, which would be based on the total number of correct questions
answered in a course quiz by a student. Thus, there would now be two
types of points in the application for the students, points earned using
answering questions as mentioned in Level 0 and experience points (XP).
b. The points earned by answering the questions can be used to skip other
questions. A question can only be skipped if the student has previously
earned the minimum points needed for a concept that is tagged to the
question. For every skipped question, the points that the question holds
will be deducted from the total points earned by the user across all
quizzes.
c. Each course will have a leaderboard, which enlists students based on
their experience points.
d. Students can spend points to chat with other students.
e. Adaptive test based on question difficulty, i.e., the teacher would set the
difficulty level for each question and then all students taking the test would
be presented with questions in the following manner:
i. If a student is able to answer a question, then the next question will
have a difficulty level above or equal to the answered question.
ii. If a student fails to answer a question, then the next question will
have a difficulty level less than or equal to the answered question.
Assignment Submission
● Deploy this application on any online hosting providers eg. Heroku, Netlify. Share the
live link and postman collections for all the endpoints.
● Git history is paramount important. Upload the source code on Github for us to review.
Make sure you follow all the best practices while using git as you would do on any
production application.
Focus on getting the entire flow working - edge cases are important.
We are mainly trying to understand how you would architect it, the best practices you
follow, and any foresight you display while making design decisions. Therefore, please
keep a note of these as you proceed with this exercise.
Please access the Google Form using the same email address used while giving the
screening test. All the best! :)