The Monolithic Backend Quiz Application is a comprehensive solution designed to manage quiz questions and quizzes efficiently. It operates as a single, unified system, following a layered architecture pattern that includes the Model, Repository, Service, and Controller layers. This application provides functionalities to add, update, delete, and retrieve quiz questions, as well as to create and manage quizzes. It supports multiple categories, such as Java and Python, and facilitates a seamless user experience by randomly selecting questions based on the chosen category. The application also calculates quiz results and provides feedback in percentage terms.
-
Question Management
- Add Questions: Allows users to add new questions with options, correct answers, difficulty levels, and categories.
- Update Questions: Enables modification of existing questions, including their options and correct answers.
- Delete Questions: Provides the capability to remove questions from the database.
- Get All Questions: Retrieves a list of all questions stored in the system.
- Get Questions by Category: Fetches questions based on the specified category (e.g., Java, Python).
-
Quiz Management
- Create Quiz: Facilitates the creation of a new quiz by specifying the category, number of questions, and quiz title. Questions are randomly selected based on the category.
- Get Quiz Questions: Retrieves all questions included in a specific quiz by its ID.
-
Quiz Interaction
- Submit Quiz: Allows users to submit their answers for a quiz. The submission process evaluates responses and calculates the number of correct answers.
- Calculate Result: Computes the percentage accuracy of the quiz based on the number of correct answers and total questions, providing feedback to users.
-
Random Question Selection
- Randomly Select Questions: Ensures that the questions included in a quiz are picked randomly from the pool of questions in the selected category, enhancing the variety of quiz experiences.
This Monolithic Backend Quiz Application is designed to offer a robust and scalable solution for managing quizzes and questions and I have converted it into Microservices Backend Application. Check Here
IntelliJ IDEA | Git | Java | Maven | PostgreSQL | Postman | SpringBoot |