Create your quiz by selecting question categories and the number of questions from each difficulty level, or simply: the length of the quiz. Then answer the questions by choosing options. The application will display an explanation for each answer after confirming your choice. Once you've gone through all the questions, the program will summarize your score in points, in percentages, and tell you whether you passed! Remember: the harder the question, the more points you'll earn.

Status: Completed.

Technologies: JSX, React, SCSS, TypeScript, Node.js, Yarn, Ajax, Lodash, Java, Spring boot, JSON, asynchronous requests, JUnit, AssertJ, Mockito

Functionalities:
Performing asynchronous queries on the client side to the exposed API.
Choosing categories and the number of questions from a given difficulty level or the length of the quiz.
Fetching questions to the list.
Shuffling answers.
After the user indicates the letter of the answer, an explanation of the issue appears.
Questions follow one another, and at the end, points are counted.
The score is displayed along with information on whether the test was passed.
Depending on the level of advancement, questions have different scores.
The user passes the quiz when they score above 60%.
The user is asked if they want to save their score.
If yes, the user must provide their name.
The program creates a file that saves the date, user's name, score, and the maximum number of points possible to achieve in the quiz.

Feel free to view other projects.