diff --git a/tutorial-1/README.md b/tutorial-1/README.md new file mode 100644 index 0000000..3f054b7 --- /dev/null +++ b/tutorial-1/README.md @@ -0,0 +1,65 @@ +# Quiz Management Service +Tutorial on how to build a REST api with Spray and Akka + +Article: How to build a REST api with Spray and Akka + +## How to run the service +Clone the repository: +``` +> git clone https://github.com/DanielaSfregola/quiz-management-service.git +``` + +Get to the `tutorial-1` folder: +``` +> cd tutorial-1 +``` + +Run the service: +``` +> sbt run +``` + +The service runs on port 5000 by default. + +## Usage +Quiz entity: +``` +case class Quiz(id: String, question: String, correctAnswer: String) +``` +Question entity: +``` +case class Question(id: String, question: String) +``` +Answer entity: +``` +case class Answer(answer: String) +``` + +### Create a quiz +``` +curl -v -H "Content-Type: application/json" + -X POST http://localhost:5000/quizzes + -d '{"id": "test", "question": "is scala cool?", "correctAnswer": "YES!"}' +``` + +### Delete a quiz +``` +curl -v -X DELETE http://localhost:5000/quizzes/test +``` + +### Get a random question +``` +curl -v http://localhost:5000/questions +``` + +### Get a question by id +``` +curl -v http://localhost:5000/questions/test +``` + +### Answer a question +``` +curl -v -H "Content-Type: application/json" + -X PUT http://localhost:5000/questions/test + -d { "answer": "YES!" } +```