Command Line Application

1. Overview

In this group assignment, you will work collaboratively to develop a command-line application in Python that integrates with a public API (or implement your own).

You'll build this application using your chosen API that provides real-time or recent data in some areas, e.g. finance, health, or government.

This assignment aims to give you practical experience in API integration, version control with Git, dependency management, and containerisation processes.

2. Requirements

2.1 Application:

2.2 Version Control:

2.3 Container

2.4 Documentation:

Create a README.md file that should have clear documentation on:

Include instructions on how to configure environment variables if necessary for API keys (if any).

You may use README template (standard) from The Documentation Compendium.

2.5 API Selection:

Choose any public API of your interest, see some examples from a list below.

Use your chosen API to fetch data and process it in a meaningful way for end-users.

Examples of Public APIs

Below are some public APIs in different areas such as finance, health, government, and general data sources. Some of these may provide data relevant to Thailand, while others offer global data.

  1. Thailand Government Open Data Portal - https://data.go.th
  2. Ministry of Commerce Public Data - https://data.moc.go.th/OpenData/Products
  3. Bank of Thailand API - https://apiportal.bot.or.th/bot/public/
  4. World Bank Open Data - https://data.worldbank.org
  5. World Bank API - https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-api-documentation
  6. World Trading Data API (Stock market and financial data): - https://www.worldtradingdata.com/
  7. Fixer.io (Currency conversion) - https://fixer.io
  8. Open Exchange Rates API - https://openexchangerates.org/
  9. Currency Exchange Rates API https://exchangeratesapi.io/
  10. Alpha Vantage (Financial markets data) - https://www.alphavantage.co
  11. CoinGecko API (Cryptocurrency data) - https://www.coingecko.com/en/api
  12. Yelp Fusion API (Business and restaurant data) - https://www.yelp.com/developers
  13. FRED Economic Data API - https://fred.stlouisfed.org/docs/api/fred/
  14. OpenWeatherMap API (Weather data) - https://openweathermap.org/api
  15. UN Comtrade Database (Global trade data) - https://comtrade.un.org/data
  16. NASA API (Space and science data) - https://api.nasa.gov
  17. WHO (World Health Organization) Data API - https://apps.who.int/gho/data/node.resources
  18. Global Health Observatory API (WHO) - https://www.who.int/data/gho/info/gho-odata-api
  19. COVID-19 API (Global COVID-19 data) - https://covid19api.com
  20. OpenStreetMap API (Mapping and geographic data) - https://www.openstreetmap.org
  21. Global Forest Watch API (Environmental and forest data) - https://www.globalforestwatch.org
  22. Open Food Facts API (Global food data) - https://world.openfoodfacts.org/data
  23. OpenAQ (Air Quality Data API) - https://docs.openaq.org/
  24. Open Library API (Books data) - https://openlibrary.org/developers/api
  25. Google Books API - https://developers.google.com/books
  26. Jikan API (Anime and manga data) - https://jikan.moe
  27. Unsplash Image API - https://unsplash.com/developers
  28. Thailand Energy Information (EPPO) - https://www.eppo.go.th/index.php/th/ (Requires adaptation and parsing of available data sources)
  29. IP Geolocation API - https://ipgeolocation.io/documentation.html
  30. OpenCage Geocoder API - https://opencagedata.com/api
  31. News API (Global news) - https://newsapi.org
  32. GitHub API (Repository and developer activity data) - https://docs.github.com/en/rest
  33. Twitter API (Social media data) - https://developer.twitter.com/en/docs/twitter-api
  34. Spotify API (Music data) - https://developer.spotify.com

3. Deliverables

  1. Git Repository:

    There must be NO virtual environment directory, e.g. NO venv, in any repository.

  2. Python Code:

  3. Container:

  4. Documentation:

  5. Presentation: