Mitterminsprojekt – ”Skapa ett informationssystem med databas och API”

Syfte

Syftet med projektet är att du ska:

  • tillämpa det du lärt dig hittills i Programmering 2,
  • arbeta objektorienterat,
  • använda antingen filhantering eller databas,
  • kommunicera med ett externt API via internet,
  • strukturera ett program som både hanterar data och presenterar den.

Vad ska du göra?

Du ska bygga ett eget informationssystem som:

  • samlar in och sparar information (från användaren),
  • använder en klass eller flera för att representera datan (OOP),
  • sparar till en databas (SQLite) eller JSON-fil,
  • hämtar data från ett externt API och använder det i programmet,
  • visar informationen i konsolen på ett tydligt sätt.

Obligatoriska krav

  • Minst en klass (med __init__, attribut och minst en metod)
  • Spara data i SQLite eller JSON
  • Använd ett externt API via requests.get() och hantera JSON
  • Visa data i konsolen – gärna filtrering eller sökning
  • Programmet ska vara uppdelat i funktioner/metoder
  • Kod som går att köra utan att krascha

Valfria tillägg (för mer utmaning)

  • Lägg till ett menysystem med while True så att användaren kan lägga till fler poster i taget tills hen väljer att avsluta.
  • Lägg till sortering/sökning
  • Möjlighet att redigera eller ta bort poster
  • Kombinera fler API:er
  • Visa API-data snyggt tillsammans med användardata

Förslag på projektidéer

📘 Elevregister + API-citat

  • Du skapar en elevdatabas
  • När en elev läggs till hämtas ett slumpmässigt skämt från:

🧑‍🍳 Receptbok + näringsvärden

  • Användaren skapar recept med namn och ingredienser
  • När man skriver in en ingrediens hämtas kalorier från:

🎮 Pokémon-databas

  • Användaren kan lägga till Pokémon i sin samling
  • Programmet hämtar information om varje Pokémon från:

🧳 Länder och fakta

  • Användaren matar in ett land (eller väljer från lista)
  • Programmet hämtar info om yta, valuta, befolkning m.m. från:

🎬 Filmregister + API

  • Användaren skapar en lista med favoritfilmer
  • Programmet söker info om filmen från:

Inlämning

Du ska lämna in:

  • .py-fil (eller flera om du delar upp koden)
  • Exempeldata om det behövs (t.ex. JSON- eller .db-fil)
  • Kort beskrivning (i kommentar eller separat fil) om:
    • Vad programmet gör
    • Vilket API du använder
    • Hur man kör programmet