1. Uvod u primijenjeno web programiranje. Razlikovanje serversko / klijentske infrastrukture. Prikupljanje i analiza zahtjeva za izradu web aplikacije. Troslojna arhitektura. Utjecaj potrebe programskih sučelja za izgradnju mobilnih aplikacija na arhitekturu web aplikacije. Dekomponiranje programske logike web aplikacije usmjerno prema pregledniku te prema poslužitelju. Sjednica korisnika, ponavljanje spremanja podataka u pregledniku naspram spremanja podataka na poslužitelju.
2. Dostupnost i otvorenost podataka u pregledniku. Doseg vidljivosti podatka u pregledničkom prozoru, DOM-u i karticama. Prikupljanje podataka o korisniku. Sustavi za analize podataka. Analiza korisnikove sjednice na stranici.
3. Analiza korisnikove sjednice na stranici - drugi dio. Cikus učitavanja podataka u preglednik i vidljivost podataka. Ugrađeni objekti za pregled navigacije. Transformacija podataka u pregledniku, metode evaluacije programske logike i rizici za sigurnost. Kontekst dodataka u pregledniku.
4. JavaScript odabrani koncepti 1/3, ponavljanje. Jednodretvenost izvođenja programske logike u pregledniku. Asinkronost slanja HTTP zahtjeva i obrada povratnih rezultata. Konkurentnost izvođenja logike u pregledniku. Djelokrug varijabli i uspostava izoliranog djelokruga.
5. JavaScript odabrani koncepti 2/3. Konstrukcija objekata.
6. JavaScript odabrani koncepti 3/3. Izvođenje skripti i naknadno dodanih elemenata stranice. Zaobilazak politike istog izvorišta u pregledniku, JSONP. Uporaba ugradbenih elemenata sa drugih stranica (postovi, gumbi). Primjeri. Objave događaja u pregledniku i PubSub obrazac. Reaktivno izvođenje logike u pregledniku.
7. Politika istog izvorišta na poslužitelju. Višedretvenost obrade zahtjeva na poslužitelju. Optimiziranje posluživanja, oslobadjanje dretvi i dugotrajni zadaci. Reaktivno programiranje na poslužitelju.
8. Sigurnost podataka u pregledniku. Enkripcija podataka i uspostava sigurnog komunikacijskog kanala poslužitelja sa preglednikom. Vrste ugrožavanja sigurnosti i površina izložena napadima. Autentikacija 1/2. Spremanje podataka u bazu, enkripcija i provjera autentičnosti. Protokoli autentikacije. Osnovni protokol HTTP authentikacije, HTTP zaglavlja. Podaci u zahtjevu i odgovoru autentikacije. Ograničenje vremena trajanja sjednice, osvježavanje autenticirane sjednice.
9. Napredna autentikacija 2/2, JWT, protocol OAuth 1.0 i OAuth 2. OpenID Connect. 7. Certifikati i Lets encrypt inicijativa. Vanjski servisi za autentikaciju. Federacija i upravljanje identitetom i pravima pristupa korisnika (IAM).
10. Povezivanje web aplikacije na zaštičena sučelja vanjskih sustava, registriranje aministratora, prstupni kljuc/token web aplikacije. Sustavi za pojednostavljenje i automatizaciju povezivanja web aplikacija (Zapier).
11. Dizajn programskih sučelja web aplikacije. Sustavi za specificiranje i generiranje programskih sučelja web usluga. Dokumentacija strukture zahtjeva i odgovora sučelja. Mogući standardi i protokoli. Transformiranje podataka.
12. Testiranje web aplikacije. Upravljanje programskim bibliotekama. Razlikovanje produkcijskog okruženja od testnog okruženja. Logiranje podataka. Minifikacija datoteka za prikaz i programsku logiku. Dobre prakse dokumentiranja. Pakiranje web aplikacije u kontejner za nezavisno postavljanje u rad. Skaliranje web aplikacije. Obrada velikih skupova podataka. Redovi čekanja za asinkronu obradu. Dozvoljena nepreciznost.
13. Spremanje podataka na poslužitelju 1/2. ORM sustavi osnove. Izazovi spajanja podataka.
14. Spremanje podataka na poslužitelju 2/2. Nerelacijske baze podataka noSQL. Fleksibilnost.Graf baze podataka. Prednosti i nedostaci.
15. Metode i alati za vizualizaciju podataka. OLAP principi, klasteriranje na mapi.