Individual Contributions ‐ Arda Vural - bounswe/bounswe2024group11 GitHub Wiki

Arda Vural

Responsibilities

  • Development of the backend
  • Project Design

Main Contributions

  • API implementations and reviewings,
  • Documentation of Standards
  • Deciding design choices of the project.

API Contributions

  • I have implemented get translation API which also makes another call inside of it besides its own features and logic. API returns responses depending on the target language and the id of the wanted word. This API helps user to get the translation of the answer for different type of questions (mainly type 1 and type 2) and provides reliability. Inputs : Word's Babelnet Id (id), Question Type(type)

/api/v1/get-translation/?type={type}&id={babelnet_id}

Here is a sample call for type 2 to the endpoint from the terminal :

curl -X GET "http://138.68.97.90/api/v1/get-translation/?type=type2&id=00007381n" \
     --header "Accept: application/json"

An example response for type 2 question:

{
  "translations": [
    "luggage compartment",
    "automobile trunk",
    "trunk",
    "boot",
    "trunk (car)",
    "compartment",
    "dickey",
    "dicky",
    "diggy",
    "3-way tailgate",
    "boot space",
    "car dicky",
    "car trunk",
    "deck lid",
    "decklid",
    "front boot",
    "froot (car)",
    "frunk",
    "trunk (automobile)",
    "trunk (vehicle)",
    "trunking(auto)",
    "trunking (auto)"
  ]
}

Here is a sample call for type 2 to the endpoint from the terminal :

curl -X GET "http://138.68.97.90/api/v1/get-translation/?type=type1&id=00026550n" \
     --header "Accept: application/json"

An example response for type 1 question:

{
  "translations": [
    "özlem",
    "arzulama",
    "hasret",
    "imrenme",
    "tahassür",
    "arzu",
    "arzusu"
  ]
}
  • Also, I have implemented get translation API's comprehensive unit tests, which ensures it working smoothly and consistently.
  • I have helped Ozan in the beginning of implementing and designing forum question answer endpoint aswell which is a cruical endpoint for our Forum structure. This API provides users the functionality to answer the shared questions or posts in the forum section providing an environment for effective learning.
  • I have been also implementing Viewing the Score of a User For a Quiz with Mücahit Erdoğan Ünlü, which still needs some improvements (sepcified in the issues part).

Code Related Significant Issues

Issue Title Description Issue and/or PR Link
Implement Unit Tests for Get Translation Endpoint I have implemented unit tests for the Get Translation Endpoint to ensure its functionality and reliability. These tests cover various scenarios, ensuring consistent performance and addressing potential issues. #716 , PR
Implement Quiz Question Translate Endpoint I have implemented get translation endpoint to assist users in generating correct answer suggestions for quiz questions, which is returning candidate translations for TR-EN or EN-TR based on the question type. #656 , PR
Implement Viewing the Score of a User For a Quiz Me and Mücahit have been implementing an endpoint functionality to view the total score of the quiz for the user to increase the gamification. This calculation will be mostly based on the correct answers of users. Even though the most parts are done, this issue is still on progress since there are still problems. #652 , PR
Non-compliance to ARIA and WCAG in Forum I have reviewed this issue, which ensures that The forums page and forum inner page contain components that comply with WCAG and WAI-ARIA guidelines. These include missing labels for Upvote and Downvote buttons, improper linking and missing descriptions for forum cards, and missing descriptions for authors. #603
Implement ForumAnswerUpvote and ForumAnswerDownvote Models and a ModelViewSet for them in Django REST Framework I have reviewed the ForumAnswerUpvote and ForumAnswerDownvote models, along with their ModelViewSet, to efficiently manage CRUD operations using Django REST Framework. These models track which user upvoted or downvoted a specific forum answer. #653

Management Related Significant Issues

Issue Title Description Issue and/or PR Link
Document WCAG 2.1 I have created documentation with Hasan Kerem summarizing the Web Content Accessibility Guidelines (WCAG) 2.1 standards,which is providing an overview of accessibility principles and guidelines to ensure content is perceivable, operable, understandable, and robust. #596
Outline the Software Quality We have detailed software quality plan with strategies for unit test coverage and integration testing to ensure reliable and functional software throughout development with Mücahit. #650
Design the Point Structure We have designed a point structure for our quizzes, which is a crucial part to provide gamification aswell. #602
Document User Stories I have reviewed document user stories and ensured that user scenarios are relevant, consistent and revealing our functionalities. #614

PRs

PR Summary
#645 This PR which I have reviewed is related to basic database fixtures getting prepared, and improvements to existing fixtures, as well as adding new ones for recently added models, ensuring readiness for demonstration. There was not any conflicts.
#717 In this PR, Unit tests have been implemented for the Get Translation Endpoint to ensure its functionality and reliability. The tests cover success cases, error handling for invalid inputs, and edge cases to validate robustness and consistent performance. There was not any conflicts.
#669 In this PR, An endpoint has been implemented to assist in generating candidate translations for quiz questions. This endpoint accepts two inputs: a BabelNet ID of the word, and the question type. Based on these inputs, it returns a list of possible translation suggestions for either EN-TR or TR-EN, depending on the specified question type. This functionality helps the process of creating quiz answers by providing relevant translation options efficiently. There was no significant conflicts.
#646 Works done in the Lab7 such as documenting comprehensive software quality plan, defining unit test goals, outlining strategy for integration testing.
#615 Works done in the Lab6 such as implementing and designing creation of answers for forum questions.

Additional

I have been actively taking a role in the designing process in general. I have also implemented an endpoint for Upvote and Downvote for the forum question. However, we have decided on a different design and this endpoint was not being used anymore. So, Another endpoint is written by Emin Çiftçi and Ozan.