Milestone 2: Personal Contribution Page (Enes Furkan Arslan) - bounswe/bounswe2023group4 GitHub Wiki

Enes Furkan Arslan

Important Roles

First of all I was responsible for finding a 3rd party API to utilize. I have chosen an API called OpenWeatherMap. You can see details from issue #76 The functionality I have introduced will be described later in this section. I was responsible for taking meeting notes and moderate one of the practice app related meetings. Check the issue #98. I was responsible for creating and formatting the report for practice app deliverables. Check here and issue #116

Frontend

  • I have provided necessary endpoints for frontend.

Backend

  • I have watched Django tutorials and learned how to code with django.
  • I have researched tutorials for path naming conventions to make good url names.
  • I have developed weather model and corresponding code in backend.
  • I have helped the development in backend project by looking to pull requests.
  • I have written my own API with POST and GET methods.
  • I have utilized 3rd party API on backend.
  • I have debugged others codes for smooth production.
  • I have helped other team members for their backend developments.

Utilized third party API (Weather API)

the API I have chosen is OpenWeatherMap. This api is a weather API which provides weather conditions for all of the locations on earth. I have chosen current weather conditions endpoint for my own use whose documentation can be found here.

Route

Only route I have used is: https://api.openweathermap.org/data/2.5/weather?q=İstanbul, TR&lang=tr&appid= {API Key Goes Here}

Explanation

This route returns the current weather conditions for Istanbul, Turkey.

API functions

Get weather

http://13.50.100.28:8000/api/weather_collect

Explanation

Returns the current weather conditions for Istanbul, Turkey.

Post weather

http://13.50.100.28:8000/api/weather_new

Explanation

Creates new weather condition in a specified city and country.

Tests

Important tests are as follows. All of my tests can be found under file test_weather.py.

test_get_all_weathers

Tests whether get can return all the weather conditions.

test_post_weather_with_param

Tests whether we can create new weather condition.

Sample Calls

3rd Party

image image

Created API /api/weather_collect

Response: image

Other significant works

I have prepared the Practice App Report for the milestone 2. I have updated the requirements.txt file for swagger's pip installations with Batuhan and Ali.

Challenges

  • I was totally new to these API procedures so I needed to research and work hard.
  • Some jobs were not equally distributed because some members did not contribute well on common works.