Individual Contributions ‐ Mücahit Erdoğan Ünlü - bounswe/bounswe2024group11 GitHub Wiki
Mücahit Erdoğan Ünlü
Responsibilities
- Organization of the backend team
- Development of the backend
- Integration of backend with frontend
Main Contributions
- API Implementations:
- 1.1. Rate Quiz endpoint
- 1.2. Take Quiz endpoint
- 1.3. Improve Quiz model architecture
- 1.4. Upvote-downvote for forum questions
- 1.5. Upvote-downvote for forum answers
- I prepared database fixtures to populate the database
- Take active part in integrating backend with mobile and web
API Contributions
- Take Quiz Enpoint
- link: http://127.0.0.1:8000/api/v1/take-quiz/
- Purpose: This endpoint is used in the context of solving quiz and reviewing his answers. A user can solve a quiz, view his answers to a specific quiz, or delete his answers.
- Authentication & Authorization: Creating an entity requires authentication. Deleting and updating an entity requires ownership of the entity. For retrieving, it is allowed for everyone.
- Example 1: Solving a quiz
bash curl -X 'POST' \ 'http://127.0.0.1:8000/api/v1/take-quiz/' \ -H 'accept: application/json' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNDkzMzA4LCJpYXQiOjE3MzI4ODg1MDgsImp0aSI6IjljODc5ZWUwYjVlNTQ5MmU4ODljYjhiOTU2NjQ5ZjNiIiwidXNlcl9pZCI6MjV9.KUGD2rWZbq2q46KxeflWcm4ypbw4uB6eprSwMZTXAgM' \ -H 'Content-Type: application/json' \ -d '{ "quiz": 1, "answers": [ { "question": 1, "answer": 2, "is_hint_used": false } ]' }
- Response:
{ "id": 23, "quiz": 1, "user": 21, "date": "2024-11-29T13:15:24.784764Z", "answers": [ { "id": 15, "take_quiz": 23, "question": 1, "answer": 2, "is_hint_used": false } ], "score": 80, "correct_answer_count": 8, "wrong_answer_count": 2, "empty_answer_count": 0 }
- Example 2: Reviewing his answers
bash curl -X 'GET' \ 'http://127.0.0.1:8000/api/v1/take-quiz/1/' \ -H 'accept: application/json'
- Response:
{ "id": 76, "quiz": 1, "user": 26, "date": "2024-11-29T14:17:00.590024Z", "answers": [ { "id": 70, "take_quiz": 76, "question": 1, "answer": 2, "is_hint_used": false } ], "score": 0, "correct_answer_count": 0, "wrong_answer_count": 1, "empty_answer_count": 0 }
Code Related Significant Issues and PRs
Code-related significant issues and PRs |
---|
Implement rate quiz endpoint issue, PR |
Close backend PRs, branches with Ozan, Ceyda, and Çiftçi issue1, issue2 |
Create an issue template for implementing ModelViewset , issue |
Implement take quiz modelviewset issue, PR |
refine quiz model and its modelviewset issue, PR |
connect rating serializer to quiz serializer issue, PR |
close PR1, PR2 together with Çiftçi |
implement upvote and downvote for forum questions with Çiftçi issue, PR |
implement upvote and downvote for forum answers issue PR |
connect upvote, downvote and, bookmark to forum question response data commit |
implement take quiz endpoint issue PR |
close forum answer PR |
prepare fixtures to populate DB for the demo issue, PR |
integrate quiz feature to mobile (I am co-author of some commits) PR |
integrate forum to web (even though I was a co-author, we forgot to add it) PR |
Management Related Issues |
---|
Implement Semantic Search: issue |
Implement Quiz Question Translate Endpoint: issue |
Implement Answer Feature to Forum Questions: issue |
Implement Point Assignment API for Quiz Questions: issue |