The project creates a simple application to manage quizzes and solutions. The application is designed based on Model-View-Controller(MVC) architectural pattern. The application provides a list of APIs for registering users, logging in, creating quizzes and submitting according solutions.
Project is created with Java Spring Boot with JPA and Postgres database at persistence layer. The application is secured by Spring Security framework.
First, please use your favorite IDE (IntelliJ/Eclipse) to build application QuizEngineApplication. Or, use Maven to build and run the application from project home directory.
`./mvnw clean install`
`./mvnw spring-boot:run`
Then, simply deploy the whole application using docker-compose. This step will set up the Postgres database.
`cd docker`
`docker-compose up -d`
Please use Postman or similar tools to verify APIs
-
Users
-
Register user: send a POST request with a valid email and password to URL
-
Login: send a POST with a valid email and associated password to URL
URL: http://localhost:8080/users/login
In the response, you will get the token to authenticate the user's requests.
-
-
Quizzes
-
Create quiz
-
Add a question
-
Publish a quiz
-
-
Solutions
-
Create a solution
URL: http://localhost:8080/solutions
You should get the total score as percentage and subscores for all the questions.
-
Get solutions
-
Get solutions by quiz
-