Dynamisk Værdata

Skip to content

Om oppgaven

Du skal lage en tjeneste som henter værinformasjon fra internett og presenterer den på en nyttig måte. Oppgaven er
bevisst åpen – du velger selv teknologi, plattform og tilnærming.

Eksempler på teknologier

  • 🌐 Nettside med HTML/CSS/JS
  • 🖥️ Kommandolinjeverktøy (f.eks. i Python-konsollen)
  • 🤖 Discord chatbot
  • 🪟 tkinter dashboard

🌤️ Hovedoppgave Medium

Del 1 – Hent værdata

Tjenesten din skal hente værdata for et oppgitt sted. Finn selv ut hvilken kilde du vil bruke, og hvordan du henter strukturert data fra den programmatisk.

Søketips

Søk gjerne etter begreper som “weather API”, “free weather data”, eller tjenester som er laget for akkurat dette.

Del 2 – Fremstill dataen

Når du har hentet inn dataen, skal du presentere den på en oversiktlig og brukervennlig måte.

  • Tenk på hva brukeren faktisk trenger å vite
  • Fremstillingen skal være ryddig – enten det er et dashboard, en tabell, en visning i terminalen, eller noe annet

CLI-tips

Lager du et kommandolinjeverktøy? Sjekk ut biblioteket rich – det gjør det enkelt å lage fine tabeller, farger og layout rett i terminalen.

⭐ Deloppgave 1 – Smarte anbefalinger Medium

Utvid tjenesten din til å svare på spørsmål basert på værdataen.

Eksempler på spørsmål tjenesten kan besvare:

  • Trenger jeg paraply?
  • Trenger jeg jakke?
  • Bør jeg ha vinterdekk?
  • Trenger jeg solkrem?
  • Er det glatt ute?

Disse svarene skal basere seg på faktiske verdier fra værdataen – ikke bare statiske tekster.

Tip

Tenk på hvilke verdier (temperatur, nedbør, vindstyrke, osv.) som er relevante for hvert spørsmål. Hvordan du presenterer svarene er opp til deg – det kan være et tekstfelt du skriver spørsmålet inn i, faste ikoner/indikatorer i dashboardet ditt, eller en egen kommando i CLIen (chatbot).

⭐ Deloppgave 2 – Automatisk steddeteksjon Hard

Dersom brukeren ikke oppgir et sted, skal tjenesten automatisk finne ut hvor den kjører og bruke det stedet.

  • Finn ut hvordan du kan bestemme posisjon uten at brukeren skriver inn noe
  • Dette bør fungere som en “fallback” – stedet kan fortsatt overstyres manuelt

Husk

Det finnes ingen fasit på hvordan dette skal se ut. Fokuser på at tjenesten faktisk fungerer og er nyttig å bruke.