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
Created API /api/weather_collect
Response:
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.