Milestone 2: Personal Contribution Page (Ali Alperen Sönmez) - bounswe/bounswe2023group4 GitHub Wiki

Personal Info:

  • Name: Ali Alperen Sönmez
  • Group: B2

Issue and wiki links:

Contribution Related Issue(s) & Wiki Page(s)
Conducted a research about API's and found a usefull API for the practice app. #74

Third Party URI:

API functions for Exchange Rates:

GetExchangeRate:

  • Name: GetExchangeRate
  • Route: localhost:8000/api/exchange_rate_collect
  • Description: Gives an exchange rate instance to the user by taking a json from the third party API.

POSTExchangeRate:

  • Name: POSTExchangeRate
  • Route: localhost:8000/api/exchange_rate_new
  • Description: This function is used to take an exchange rate from the user and put it to the database.

ClearExchangeRates:

  • Name: ClearExchangeRates
  • Route: localhost:8000/api/exchange_rate_clear
  • Description: Deletes all the exchange rate instances from the database.

API functions for REQRES:

GetData:

  • Name: GetData
  • Route: localhost:8000/api/user-1_collect
  • Description: Gives a fake user profile to the user by taking a json from the third party API.

POSTUser:

  • Name: POSTUser
  • Route: localhost:8000/api/user-1_new
  • Description: This function is used to take a fake user profile from the user and put it to the database.

ClearUsers:

  • Name: ClearUsers
  • Route: localhost:8000/api/user-1_clearall
  • Description: Deletes all the fake user instances from the database.

Unit tests for Exchange Rates:

  • Test 1: Checking whether the exchange rate object is created. 1
  • Test 2: Checking whether we can get a response with given parameters. 2
  • Test 3: Checking whether the post functionality works properly. 3
  • Test 4: Checking whether we can create an exchange rate by using third party API. 4
  • Test 5: Checking whether the clearall functionality works properly. 5

Unit tests for REQRES:

  • Test 1: Checking whether the user profile object is created. 1
  • Test 2: Checking whether we can get a response with given parameters. 2
  • Test 3: Checking whether the post functionality works properly. 3
  • Test 4: Checking whether we can create an exchange rate by using third party API. 4
  • Test 5: Checking whether the clearall functionality works properly. 5

Challenges:

  • One of the biggest challenges in this project was learning and implementing a new framework, Django.
  • Debugging and troubleshooting were also significant challenges throughout the development process.
  • Time management was another challenge, but it was manageable with effective planning and prioritization.
  • Additionally, ensuring code quality and maintainability was a continuous challenge that required ongoing attention and effort.