fusionlove / futuremakers

FutureMakers project
Apache License 2.0
3 stars 2 forks source link

Potential API services complementing problem solving in Day 2 #5

Open billlyzhaoyh opened 4 years ago

billlyzhaoyh commented 4 years ago

This is a follow-up to the initial idea we had in giving students more interesting resources to solve a real-world problem. This can be part of their toolkit that they can use if they wish. This bridges the gap between talking about their projects and actually doing their projects.

List of potential API services are: OpenWeather API: https://openweathermap.org/api Agriculture Monitoring API: https://agromonitoring.com/ Rest Countries API:https://restcountries.eu/ Music lyrics API: https://developer.musixmatch.com/ Food and Recipe API: https://spoonacular.com/food-api Google places API: https://developers.google.com/places/web-service/intro Reddit API: https://www.reddit.com/dev/api/ Nasa API: https://api.nasa.gov/#getting-started (imagery of asteroids and facts about the cosmo) News API: https://newsapi.org/

fusionlove commented 4 years ago

We could put these in the Further Reading session. However you need HTTP/REST knowledge to use an API; have you looked to see whether students are able to easily interface with these? Are there examples? If just an API definition is provided, students won't be able to use them.

On Thu, 19 Sep 2019 at 00:13, Billy Zhao notifications@github.com wrote:

This is a follow-up to the initial idea we had in giving students more interesting resources to solve a real-world problem. This can be part of their toolkit that they can use if they wish. This bridges the gap between talking about their projects and actually doing their projects.

List of potential API services are: OpenWeather API: https://openweathermap.org/api Agriculture Monitoring API: https://agromonitoring.com/ Rest Countries API:https://restcountries.eu/ Music lyrics API: https://developer.musixmatch.com/ Food and Recipe API: https://spoonacular.com/food-api Google places API: https://developers.google.com/places/web-service/intro Reddit API: https://www.reddit.com/dev/api/ Nasa API: https://api.nasa.gov/#getting-started (imagery of asteroids and facts about the cosmo) News API: https://newsapi.org/

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/fusionlove/futuremakers/issues/5?email_source=notifications&email_token=AABL7T3BIBBRBLLOH76KNFLQKKYYFA5CNFSM4IYEUARKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HMIVXOA, or mute the thread https://github.com/notifications/unsubscribe-auth/AABL7T4MNH7RE7OZKZWGIXLQKKYYFANCNFSM4IYEUARA .

billlyzhaoyh commented 4 years ago

I was thinking we can abstract these APIs into functions just like how we abstract AWS API calls into cognitive services. For each API, we can have a few functions to cover the general usage for example for the OpenWeather API, one function can be to get the weather status today, get the weather forecast tomorrow, get the weather forecast for the next week for the local location. What do you think?

fusionlove commented 4 years ago

Hi Billy,

If we do it like that, that should work fine. If you want to investigate this I suggest making a notebook with some demos and committing it to the repo. Make sure to put any API keys (even free ones - overuse will lead to the account being shut down) in passwords.py and not to commit that. You can still safely use git add . as passwords.py is in .gitignore.

Best, Fintan

On Thu, 19 Sep 2019 at 09:26, Billy Zhao notifications@github.com wrote:

I was thinking we can abstract these APIs into functions just like how we abstract AWS API calls into cognitive services. For each API, we can have a few functions to cover the general usage for example for the OpenWeather API, one function can be to get the weather status today, get the weather forecast tomorrow, get the weather forecast for the next week for the local location. What do you think?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/fusionlove/futuremakers/issues/5?email_source=notifications&email_token=AABL7T5GMMLPECMRPLRB7VDQKMZR5A5CNFSM4IYEUARKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7CVB3Q#issuecomment-533025006, or mute the thread https://github.com/notifications/unsubscribe-auth/AABL7T2ST3FBB7MQ3NJDYH3QKMZR5ANCNFSM4IYEUARA .