DevOps akademija - Modul 1 - Web development - backend
sreda, 11. oktober, 2023
Uvod
V sklopu projekta European Software Skills Alliance (ESSA) je na voljo DevOps akademija, ki je sestavljena iz niza šestih modulov, s katerimi boste pridobili znanje iz izbranih področij ESSA študijskega programa Junior DevOps Expert.






Gradivo v tej skripti se osredotoča na prvi tečaj Web development - beckend, ki ga v obdobju od 9. 10. 2023 do 27. 10. 2023 izvaja izr. prof. dr. Dejan Lavbič na Fakulteti za računalništvo in informatiko, Univerze v Ljubljani.

V okviru tečaja bodo udeleženci spoznali celostni razvoj spletne aplikacije s poudarkom na zalednem delu sistema. Na problemski domeni, ki si jo vsak udeleženec izbere sam, bomo določili konceptualno zasnovo aplikacije in osnovni grafični vmesnik. Nadaljevali bomo z opredelitvijo arhitekture aplikacije z uporabo načrtovalskega vzorca MVC (Model-Pogled- Krmilnik). Osredotočili se bomo na implementacijo zalednih komponent, in sicer modela (M) in krmilnika (K) ter dostopa do podatkovne baze, medtem ko bomo pogled (V) zgolj predstavili, saj bo poudarek na tej komponenti v okviru naslednjega tečaja. Pri zasnovi zalednega dela bomo uporabili model mikro storitev, kjer bomo implementirali REST API vmesnik in ga tudi ustrezno dokumentirali z OpenAPI. Razviti zaledni del bomo tudi ustrezno zaščitili z vpeljavo preverjanja istovetnosti identitete.
Splošne informacije
Dodatno gradivo pri tečaju je na voljo v okviru GitHub organizacije UL FRI DevOps Web Development, medtem ko bo komunikacija potekala preko Discussions v okviru prej omenjene GitHub organizacije.
Terminski plan izvajanja tečaja
Vsebina pri predmetu je razdeljena na naslednje sklope:
- 1. sklop : Uvod v spletno programiranje (MEAN, HTML in CSS),
- 2. sklop : JavaScript - programski jezik spleta na strani odjemalca in strežnika (MVC, gostovanje na oblaku) in
- 3. sklop : Zaledni del in dostop do podatkov (REST API in avtentikacija).
Tečaj poteka od ponedeljka, 9. 10. 2023 do petka, 27. 10. 2023, kjer je organizacija naslednja:
- prvi teden: predavanja in vaje v obsegu 20 šolskih ur (\(20 \times 45\ \text{min}\)) (v živo na UL FRI),
- termin: od ponedeljka, 9. 10. 2023 do četrtka, 12. 10. 2023 (4 termini po 5 šolskih ur - 3 šolske ure predavanj in 2 šolski uri vaj),
- 12:00 - 13:00 (1. del predavanj)
- 13:00 - 13:05 (odmor)
- 13:05 - 14:20 (2. del predavanj)
- 14:20 - 14:30 (odmor)
- 14:30 - 16:00 (vaje)
- lokacija: učilnica Akademija FRI, UL FRI, Večna pot 113, 1000 Ljubljana,
- termin: od ponedeljka, 9. 10. 2023 do četrtka, 12. 10. 2023 (4 termini po 5 šolskih ur - 3 šolske ure predavanj in 2 šolski uri vaj),
- drugi teden: samostojno projektno delo na izbranih in predhodno potrjenih vsebinah (na daljavo),
- tretji teden: predstavitev, pregled in ocenjevanje projektov ter izvedba pisnega preverjanja znanja (v živo na UL FRI).
| Termin | Vodeno delo | Samostojno delo |
|---|---|---|
|
1. teden |
|
|
|
2. teden |
- |
|
|
3. teden |
|
- |
Pravila igre
Predavanja
Predavanja v okviru tečaja bodo praktično usmerjena, saj bomo demonstrirali celostni razvoj programske opreme na izbranem primeru od začetne ideje do delujoče različice, ki jo bomo tudi gostili na javnem spletnem naslovu. V okviru tega tečaja bomo z različnimi spletnimi tehnologijami razvili spletno aplikacijo, ki bo preko REST API-ja povezana na podatkovno bazo. V naslednjem tečaju pa bomo nadgradili uporabniški vmesnik tako, da bomo zgradili SPA aplikacijo na eni strani.
Izvorna koda primerov s predavanj je na voljo v repozitoriju UL-FRI-DevOps-WebDevelopment/Snippets, demo aplikacije, ki jo bomo razvijali na predavanjih, pa v repozitoriju UL-FRI-DevOps-WebDevelopment/Demo.
Vaje
Osrednji cilj vaj je pomoč pri razvoju lastnega projekta (LP), ki ga bo vsak udeleženec, na izbrani problemski domeni, samostojno razvijal od začetka do delujoče različice. Na vajah bodo potekale predvsem konzultacije glede razvoja lastnega projekta in v 3. tednu tudi zagovor lastnega projekta (LP):
- LP - Dinamična spletna aplikacija na strani strežnika in odjemalca,
- 1. del - osnutek aplikacije in wireframe model,
- 2. del - arhitektura aplikacije in različna razvojna okolja,
- 3. del - zaledni del in dostop do podatkovne baze.
Povzetek funkcionalnih zahtev je prikazan na spodnji sliki, kjer so izpostavljene funkcionalnosti (1., 2. in 3. del), ki jih boste razvili v okviru tega tečaja, medtem ko se boste s 4. delom ukvarjali pri naslednjem tečaju.
Naloge boste oddajali v elektronski obliki preko elektronske pošte, sistema GitHub in povezave na delujočo aplikacijo. Lastni projekt boste zaključili v 2. tednu tečaja samostojno doma in ga boste zagovorili v 3. tednu, kot je predvideno v terminskem planu izvajanja tečaja.
Priporočena literatura
|
|
|
|
|
|
|
|
|





