Dynamic Weather Data

Skip to content

This is a machine-translated text that may contain errors!

About the Assignment

You are to create a service that retrieves weather information from the internet and presents it in a useful way. The assignment is deliberately open – you choose the technology, platform, and approach yourself.

Examples of technologies

  • 🌐 Website with HTML/CSS/JS
  • 🖥️ Command line tool (e.g. in the Python console)
  • 🤖 Discord chatbot
  • 🪟 tkinter dashboard

🌤️ Main Task Medium

Part 1 – Fetch Weather Data

Your service should fetch weather data for a specified location. Find out for yourself which source you want to use, and how to retrieve structured data from it programmatically.

Søketips

Feel free to search for terms like “weather API”, “free weather data”, or services created specifically for this purpose.

Part 2 – Present the Data

Once you have retrieved the data, you must present it in a clear and user-friendly manner.

  • Consider what the user actually needs to know
  • The presentation must be tidy – whether it’s a dashboard, a table, a view in the terminal, or something else

CLI-tips

Are you creating a command-line tool? Check out the rich library – it makes it easy to create nice tables, colors, and layout directly in the terminal.

⭐ Part 1 – Smart Recommendations Medium

Extend your service to answer questions based on weather data.

Examples of questions the service can answer:

  • Do I need an umbrella?
  • Do I need a jacket?
  • Should I have winter tires?
  • Do I need sunscreen?
  • Is it slippery outside?

These answers should be based on actual values from the weather data – not just static texts.

Tip

Consider which values (temperature, precipitation, wind speed, etc.) are relevant to each question. How you present the answers is up to you – it could be a text field where you enter the question, fixed icons/indicators in your dashboard, or a separate command in the CLI (chatbot).

⭐ Part 2 – Automatic Location Detection Hard

If the user does not provide a location, the service should automatically determine where it is running and use that location.

  • Find out how you can determine position without the user entering anything
  • This should function as a “fallback” – the location can still be manually overridden

Husk

There is no single right way to do this. Focus on ensuring the service actually works and is useful to use.