Milestone 2: Personal Contribution Page (Selin Işık) - bounswe/bounswe2023group4 GitHub Wiki

Selin Işık

As all the other team members, I was responsible for finding my own API function to introduce. I have chosen ReqRes api to use. Reqres API is a popular open-source mock API service that is used for testing and prototyping web applications. It allows developers to simulate HTTP requests and responses without the need for a real backend server. Reqres API provides a set of predefined endpoints that can be used to perform various CRUD (Create, Read, Update, Delete) operations on resources. It can be tracked from issue #77. Secondly, as I was more experienced with frontend development I took initiative and led the team for better frontend development I have created many pages for team members as can be tracked from issue #120, issue #121, issue #122. Moreover, I was responsible for giving an introductory course on git for team members. I have prepared a presentation and taught team members about git.

Frontend

  • I have created Enes's weather api page.
  • I have developed my own API's page reqres API.
  • I have created Alperen's exchange rate api page.
  • I have created Yusuf's page and implemented UI design.

Utilized third party API (Reqres API)

I have chosen is API-Reqres API. This api is a fake API which helps frontend developers to learn how to make requests and returns real responses. From this API i have used a get request which returns a user and post request that creates a new user.

API functions that i've used from REQRES API:

  • Alperen and Enes wrote most of my backend and unit tests. I have also made some contribution to the backend development process.

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.

Route

  • Only route that is used in practice app is: https://reqres.in/api/users?page=1
  • This route fetches 4 users from page two and returns a list of objects.
  • I have used only the first user returning from this list of users.
  • Since this API is created for learning, it doesn't require a api key.

Unit tests for REQRES:

Here are the unit tests of reqres API. Thanks to Alperen who wrote all these unit tests.

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

Challenges:

  • One of the biggest challenges in this project was dependency to backend team.
  • Time management was a huge challenge due to dependencies.
  • Creating satisfying and functional designs for my group members.