Applikationsutveckling för webben
Studietips från Pär
Min pedagogiska grundidé bygger på att lära sig programmering är som ett hantverk som kräver en kombination av teoretisk input och praktisk muskelminne. För att bygga en solid grund rekommenderar jag följande metodik: Avsätt 2–4 timmar dagligen. Varva läsning i kurslitteraturen med att se de inspelade föreläsningarna för att få olika perspektiv på samma koncept. Börja med att 'skriva av' befintliga kodexempel. Det kan låta enkelt, men det tränar ögat att se detaljer och syntax som man annars missar. Gör små, kontrollerade förändringar i koden och testkör direkt. Vad händer om du ändrar en loop eller en variabeltyp? Det är i felsökningen den verkliga förståelsen föds. Skapa ett eget 'projekt' som följer dig genom kursen. Det kan vara ett system för en bilfirma, ett register för en idrottsförening eller en personlig boklista. Genom att applicera det du lärt dig på en 'verkligt' projekt får du en praktisk kompetens.
Veckoplanering
Vecka 49
Kursmaterial
Att göra
- Skapa i din Flask-app en blueprint som använder och templates med template-arv. Appen ska hämta och visa data från ett tredjeparts-REST API, till exempel Disney API eller Polisens API för att presentera informationen på olika sätt med hjälp av Bootstrap. Använd också dynamiska variabler i url:en där det är lämpligt. Tex att få mer detaljerad info om en disney karaktär.
- Skapa i din Flask-app en blueprint som använder och templates med template-arv för egen shopping/kundvagnsfunktionalitet baserat på Fakestores API.
- Examination: Vecka 49-3: Inlämningsuppgift 2: Större programmeringsuppgift med inspelade redovisning baserat på det vi gått igenom under vecka 49-3. Tillgänglig i kursrummet från vecka 49 med inlämning senaste fredag vecka 2 kl 17:00
- Examination: Vecka 3: Kom ihåg att göra duggan i kursrummet den 12 jan kl 10:00
Instuderingsfrågor
- What is URL mapping in Flask?
- How do you define a route in Flask?
- How can you create a route that accepts both GET and POST methods?
- What is the purpose of the url_for function in Flask?
- How do you define a route with a dynamic variable in Flask?
- What is the purpose of using dynamic variables in routes?
- What is a template in Flask?
- How do you render a template in Flask?
- What is Jinja2 in Flask
- What is a Blueprint in Flask?
- How do you create a Blueprint in Flask?
- How do you register a Blueprint with the main Flask application?
- What is a session in Flask?
- How do you set up a session in Flask?
- How do you store data in a session in Flask?
- How do you retrieve data from a session in Flask?
Vecka 50
Kursmaterial
Att göra
- Skapa en blueprint i din Flask-webbapplikation som hanterar formulärdata och sparar den i en JSON-fil. Validera datan innan den sparas. Applikationen ska också kunna visa en lista med all sparad data från JSON-filen, där varje post har en länk för att redigera eller ta bort den. Endast inloggade användare ska kunna redigera och ta bort poster. Efter att en post har redigerats eller tagits bort ska ett bekräftelsemeddelande (flash-meddelande) visas. När man tar bort ska ett mail skickas automatiskk till nån tänkt admin som får reda på vad för data som tagits bort i det mailet.
- Examination: Vecka 49-3: Inlämningsuppgift 2: Större programmeringsuppgift med inspelade redovisning baserat på det vi gått igenom under vecka 49-3. Tillgänglig i kursrummet från vecka 49 med inlämning senaste fredag vecka 2 kl 17:00
- Examination: Vecka 3: Kom ihåg att göra duggan i kursrummet den 12 jan kl 10:00
Instuderingsfrågor
- How do you handle form submission in Flask?
- What library can you use for form validation in Flask?
- How do you create a form class using WTForms?
- How do you render a WTForms form in a Flask template?
- What is CSRF protection and why is it important?
- How do you include CSRF tokens in your forms?
- How do you display form validation errors in a Flask template?
Vecka 51
Kursmaterial
Att göra
- Skapa en blueprint i din Flask-webbapplikation för att hantera medlemmar i en fotbollsförening. Applikationen ska kunna utföra grundläggande CRUD-operationer (skapa, läsa, uppdatera och ta bort medlemmar) mot en SQLite databas. Använd Repository design pattern eller ActiveRecord design pattern för CRUD operationer mot databasen. Lägg till en inloggningsfunktionalitet där alla användare kan se medlemslistan, men endast inloggad administratör kan lägga till, ta bort och uppdatera medlemmar. Använd dig av också av tekniker du lärt dig tidigare i kursen tex template-arv, WTForms och valideringa av indata från formulär mm.
- Examination: Vecka 49-3: Inlämningsuppgift 2: Större programmeringsuppgift med inspelade redovisning baserat på det vi gått igenom under vecka 49-3. Tillgänglig i kursrummet från vecka 49 med inlämning senaste fredag vecka 2 kl 17:00
- Examination: Vecka 3: Kom ihåg att göra duggan i kursrummet den 12 jan kl 10:00
Instuderingsfrågor
- How do you connect to an SQLite database using the sqlite3 library in Flask?
- How do you create a table in an SQLite database using sqlite3?
- How do you insert data into an SQLite table using sqlite3?
- How do you retrieve data from an SQLite table using sqlite3?
- How do you update data in an SQLite table using sqlite3?
- How do you close a database connection in sqlite3?
- What is SQLAlchemy?
Vecka 52-03
Kursmaterial
- Frivillig tutorial om DevOps-grunderna. Lär dig grundläggande principer och metoder i DevOps med GitHub.
- Labb 01 Agile Planning and Management using GitHub
- Labb 02 - Implement Flow of Work with GitHub
Att göra
- Skapa ett eget REST API som blueprint i flask som jobbar mot SQLitedatabas. Använd också Repository- eller ActiveRecord designpattern. Bygg också en front-end klient med VUE. Användaren ska kunna utföra CRUD-operationer (Create, Read, Update, Delete) mot ditt REST API via klienten.
- Examination: Vecka 49-3: Inlämningsuppgift 2: Större programmeringsuppgift med inspelade redovisning baserat på det vi gått igenom under vecka 49-3. Tillgänglig i kursrummet från vecka 49 med inlämning senaste fredag vecka 2 kl 17:00
- Examination: Vecka 3: Kom ihåg att göra duggan i kursrummet den 12 jan kl 10:00
- Examination: Vecka 3: Kom ihåg att göra kursutvärdering i kursrummet.
Instuderingsfrågor
| PROGRAM | Digitala tjänster – program för högskoleexamen |
|---|---|
| SYFTE | Kursen behandlar grundläggande begrepp och tekniker inom webbutveckling. Här ingår front-end-skript för att skapa interaktiva användargränssnitt. Kursen introducerar även back-end-ramverk och databaser, vilket möjliggör skapandet av dynamiska och datadrivna webbapplikationer. |
| KURSPLAN | Gå till kursplan hos DU |