Övningsuppgift
Övningsuppgift 5 – Skapa ett GUI-projekt med databas och API
Planera, bygg, testa och dokumentera ett eget Pythonprogram med GUI, databas och API.
Uppgiftsbeskrivning
I den här uppgiften ska du planera, bygga, testa och dokumentera ett eget mindre program i Python. Programmet ska ha ett grafiskt användargränssnitt och använda en SQLite-databas samt ett valfritt öppet API. Du ska visa att du kan strukturera kod, spara och hämta data samt skapa ett användarvänligt gränssnitt.
Dina uppgifter
- Planera programmet du vill bygga. Beskriv syfte, målgrupp, funktioner och användarflöde.
- Beskriv kort hur programmet är anpassat till användaren och hur du har tänkt kring tillgänglighet, till exempel tydliga texter, felmeddelanden, kontrast och enkel navigering.
- Skapa en grafisk gränssnittsapplikation i Python med
tkinter. - Använd en lokal SQLite-databas för att spara data.
- Anropa ett öppet API, till exempel väder, skämt eller djurfakta, med
requestsoch visa resultatet i gränssnittet. - Använd tydlig struktur: funktioner, moduler, klasser där det passar och kommentarer.
- Använd felhantering för sådant som kan gå fel, till exempel API-anrop, databasanslutning och användarinmatning.
- Skapa en README-fil som förklarar hur programmet fungerar.
- Testa ditt program och reflektera över din utvecklingsprocess.
Exempel på idéer
- Reseassistent: användaren matar in en stad, API hämtar väder och användaren kan spara favoriter i databasen.
- Skämtprogram: visa slumpade skämt och spara de bästa lokalt.
- Receptverktyg: användare kan lägga in recept, söka dem och få matfakta via API.
Betygskrav för uppgiften
Betyget E
- Du planerar och bygger ett enkelt GUI-program där användaren kan göra minst ett tydligt val eller mata in data.
- Programmet använder API eller databas på ett fungerande men enkelt sätt, till exempel hämtar information från ett API och visar den, eller sparar enkel data i SQLite.
- Programmet har viss anpassning till syfte och användare, till exempel tydliga knappar, enkel instruktion och något begripligt felmeddelande.
- Koden är tillräckligt strukturerad för att gå att följa, till exempel med funktioner för huvuddelarna i programmet.
Betyget C
- Du planerar och bygger ett program där GUI, API och SQLite-databas samverkar i ett tydligt användarflöde.
- Programmet kan både hämta data från ett API och spara, läsa eller söka relevant data i databasen.
- Koden är tydligt uppdelad i funktioner, moduler eller klasser med rimligt ansvar.
- Programmet har god anpassning till syfte och användare, till exempel tydliga instruktioner, genomtänkta knappar, återkoppling efter användarens val och hantering av vanliga fel.
- Du har tänkt på tillgänglighet, till exempel tydliga texter, rimlig kontrast och att användaren inte behöver gissa vad nästa steg är.
Betyget A
- Du planerar och bygger ett mer komplett program där GUI, API, databas, felhantering och programstruktur fungerar som en sammanhängande helhet.
- Programmet har flera relevanta funktioner, till exempel hämta data, validera inmatning, spara, läsa, söka, uppdatera eller ta bort data.
- Koden har tydligt separerade ansvarsområden, till exempel en del för GUI, en del för API och en del för databas, samt genomtänkta funktioner eller klasser.
- Programmet hanterar fel robust, till exempel saknad internetanslutning, ogiltig inmatning, tomma API-svar och databasfel utan att krascha direkt.
- Programmet har mycket god anpassning till syfte, användare och tillgänglighet, till exempel tydligt användarflöde, konsekvent återkoppling, begripliga felmeddelanden och gränssnitt som är lätt att förstå även för en ovan användare.
Checklista inför inlämning
- Planeringen beskriver syfte, målgrupp, funktioner, data, användarflöde och tänkt struktur.
- GUI är skapat med
tkinteroch innehåller minst tre widgets, till exempel knapp, inmatning och etikett. - Databas är skapad med
sqlite3och kan spara och läsa data. - API-anrop fungerar med
requestsoch informationen används i gränssnittet. - Koden är uppdelad i funktioner eller moduler.
- Programmet hanterar vanliga fel utan att krascha direkt.
- Gränssnittet har tydliga texter, tydliga knappar och begriplig återkoppling till användaren.
- Koden är kommenterad och läsbar.
- README-fil förklarar vad programmet gör, hur man kör det och vilka funktioner som finns.
- Du har testat programmet och beskrivit det i din reflektion.
- Inlämningen innehåller programfiler, README och eventuell reflektion.
Tekniska tips
- Installera
requestsmedpip3 install requestsom importen inte fungerar. - Börja med GUI och en hårdkodad knapp innan du kopplar på API och databas.
- Testa API-anropet separat i terminalen innan du kopplar det till gränssnittet.
- Testa databasen separat innan du låter GUI:t spara data.