Member Contribution Report (Fatma Sena Alçı) - bounswe/bounswe2023group7 GitHub Wiki

Important Issues Related to the Practice Application

  • #147: After researches, made a decision about endpoints and API's.
  • #167: Includes my steps while I was implementing the project. It relevant to backend part of the project these are API testing, implementing router, controller, model and test codes.
  • #188: Describes unit test for my endpoints.
  • #190: Includes my steps while I was implementing the frontend part of the project. Also, it includes merging to the main branch.

Third-Party URIs

I utilized the RAWG Video Database API. The RAWG Video Database API is a service that includes a lot of information about games. I implement the API which GETs genres of video games. I was planned to use another APIs, but one of them has too high price, other one did not work properly at Postman. The API which gives three response. They are genre name, number of games for each genre and id. To make the API call, you need to register to the website and get an API key. Also its documentation can be accessed here

API Functions

  • I implemented 2 GET and 1 POST function. First GET function takes API url and takes the data from them. To keep all data, I mapped all of them. POST function also uses API url. It takes the data from API and takes email of user; email is not unique, but it is mandatory. Only genre names are unique. After taking values, I inserted all of them into the database. Second GET function retrieves data from database system with email. Also, I implemented router functions for three of them and one schema. Also, in frontend part, I am using second GET function to use database information.

Unit Tests

Ekran Görüntüsü (213) I wrote unit test for my three function. Also, I wrote Swagger.

Sample Calls

I used Postman to display requests and responses.

  • Get request for an API and response of that. Ekran Görüntüsü (209)

  • Post request for an API and response of that. Ekran Görüntüsü (210)

  • After Post function, database Ekran Görüntüsü (211)

  • Get request from the database and response of that. Ekran Görüntüsü (212)

Challenges

When I started the project, I had to learn almost everything from the beginning, because I did not have any back-end experience. Also, when I was working on this project, I used WSL. MongoDb was not installed WSL, and I couldn’t connect to the database. Because of that, I tried to reinstall MongoDb, it did not uninstall, so I decided to uninstall WSL and Ubuntu. I reinstalled it at least three times to run the project correctly. When I installed something, the other one crashed. I asked my teammates and Elif said I could use remote database; it was very helpful. I had to stop while implementing back-end part because of database, so I started front-end without taking information from database. I gave random numbers and genres to test it. It looked great also it can be seen in my branch, but when I tried to integrate the real data from the database, I got stuck. I was only able to display the data without implementing more complex features because I didn't have much time and was confused.