STAG-AUIUI-P8VT 2026
Náplň a požadavky
Kurz AP8VT si klade za cíl naučit studenty kvalitně a efektivně vyvíjet aplikace podle moderních přístupů a postupů. Přednášky jsou realizovány také formou praktických workshopů, v rámci nichž dílčí týmy postupně budují svůj webový produkt. Cvičení se zaměřují na využívání konkrétních technologií, pomocí kterých studenti průběžně realizují týmový projekt.
Lektoři
Petr Záček Organizační záležitosti univerzity, garant předmětu
Jiří Urban Hlavní přednášející, organizace kurzu, Product Owner
Tomáš Juřička Hlavní cvičící, Product Owner
Stanislav Čermák Product Owner
Docházka
Povoleny jsou 3 absence, v opačném případě je třeba donést omluvenku od doktora.
Způsob hodnocení
Studenti mohou během semestru získat až 70 bodů v následující struktuře:
Projekt – 65 bodů
- Projekt je rozdělen do 5 sprintů, každý po 10 bodech.
- Finální sprint (ve zkouškovém období) má hodnotu 15 bodů.
Go to market – 5 bodů
- Extra body je možné získat za prokazatelnou snahu uvést aplikaci na “trh”.
- Získání a zpracování zpětné vazby od reálných uživatelů.
- Marketingové aktivity spojené s propagací aplikace
- Viditelný engagement uživatelů aplikace
Bodování projektu sestává z hodnocení dílčích sprintů (Scrum terminologie). Konkrétní bodování za jednotlivé sprinty probíhá následovně:
- Vedení kurzu a product owneri ohodnotí increment každého sprintu hodnotou 0-100 % za plánování a jeho formální správnost, dodané množství práce (increment), komunikaci a projev v průběhu sprintu, prezentaci při sprint review.
- Všechna tři hodnocení se zprůměrují (např. 85 %) a tímto průměrem se násobí maximální možný počet bodů (10 bodů * počet členů týmu). Například pro 5ti-členný tým by součet byl max. 50 bodů, který mohl tým za sprint získat.
- Body se zaokrouhlí na celé číslo nahoru a tím se získá bodové ohodnocení za tento sprint pro daný tým (např. 43 bodů).
- Tyto body si mezi sebe rozdělí členové týmu na základě vzájemné dohody, jak kdo v daném sprintu pracoval.
- Tým je povinen nahlásit do 3 dnů od přidělení bodů po sprint review počet bodů pro jednotlivé členy v týmu (např. Karel 8b, Monika 10 bodů, Pepa 5 bodů, Simona 10 bodů, Šimon 10 bodů). Tímto způsobem můžete reflektovat skutečnou práci na projektu napříč týmem. Pokud tým nestihne poslat body včas, body za sprint propadají.
Zvláštní pravidla
Za jeden sprint může jednotlivec v rámci přerozdělování bodů v týmu dostat i více bodů než 10, maximálně však o 2 body více než je maximum. Počet přidělených bodů na jednoho zaokrouhlete na celá čísla. Za finální (poslední) sprint je nutné, aby tým obdržel minimálně 50% bodů pro úspěšné absolvování kurzu. V případě, že se tak nestane, bude vedoucí kurzu s týmem řešit celou situaci a buď celý tým nebo určití jedinci dostanou z kurzu známku F.
Přepočet bodů na konkrétní známky odpovídá standardům vysokých škol.
Program výuky
| Lekce | Datum | Přednáška |
|---|---|---|
| 1. Lekce | 9.2.2026 | Seznámení s předmětem, Představení projektu, Sestavení týmů, Základy Scrumu a Agilniho vývoje, Seznámení s šablonou aplikace |
| 2. Lekce | 16.2.2026 | Lean Canvas workshop, Continuous development & Continuous integration, Azure |
| 3. Lekce | 23.2.2026 | Přednáška - UX & UI |
| 4. Lekce | 2.3.2026 | Sprint review 1 |
| 5. Lekce | 9.3.2026 | Scrum game |
| 6. Lekce | 16.3.2026 | MVP Backlog |
| 7. Lekce | 23.3.2026 | Sprint review 2 |
| 8. Lekce | 30.3.2026 | Základy scrumu 2, Trunk based development, Feature flags, Testing |
| 9. Lekce | 6.4.2026 | – Velikonoce – |
| 10. Lekce | 13.4.2026 | Přednáška - Marketing Aplikace & Sprint review 3 |
| 11. Lekce | 20.4.2026 | Přednáška - AI in software development |
| 12. Lekce | 27.4.2026 | Sprint review 4 |
| 13. Lekce | 4.5.2026 | Finální retrospektiva / Pokročilý scrum |
| 14. Lekce | 11.5.2026 | Finální prezentace projektu |
1. Lekce
Seznámení s předmětem, Představení projektu, Sestavení týmů, Základy Scrumu a Agilniho vývoje
Odkaz na přednášku: Úvod
Seznámení s šablonou aplikace
Prerequisites:
- .NET 10 SDK
- Your favorite IDE (Rider recommended)
- Docker
- Postgre Docker image for local database. And some management tool
- Azure Data Studio for db management (deprecated soon)
Copy project a get it working locally
- Copy the project from github repo
- Run your Postgre Docker image
- pull latest postgre image
docker run --name postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
- Create a database in your local postgre server
CREATE DATABASE utb
- Change your connection string in your
appsettings.json"ConnectionStrings": { "Database": "Host=localhost;Database=utb;Username=postgres;Password=mysecretpassword;" }, - Build the application via
dotnet build - Run the application via IDE or
dotnet run - Application is running and has applied db migrations
More info
2. Lekce
Lean Canvas workshop
Continuous integration
- Push code to your repository in Azure devops
- Activate your main pipeline
- Go to Pipelines/Pipelines in Azure Devops
- Create Pipeline
- Select Azure Repos Git
- Select your repository
azure-pipelines.ymlshould be detected automatically- Press Run to run & save it
- Pipeline has been crated and should be running if you have press Run, otherwise you can run it manually by clicking on it and pressing Run pipeline
- Activate your pull request pipeline
- Go to Pipelines/Pipelines in Azure Devops
- New Pipeline
- Select Azure Repos Git
- Select your repository
- Select Existing Azure Pipelines YAML file
- Select
/azure-pipelines-pull-requests.ymlfile and Continue - Press Run to run & save it
- Pipeline has been crated and should be running if you have press Run, otherwise you can run it manually by clicking on it and pressing Run pipeline
- Rename the pipelines appropriately (
Internal_Test_2026,Internal_Test_2026 - Pull request) - Configure basic pull request settings
- Go to Repos/Branches
- Find your main branch and click on the 3 dots on the right and select Branch policies
- Configure Branch policies, Recommended:
- Require a minimum number of reviewers: On
- Minimum number of reviewers: 1
- Do not allow requestors to approve their own changes
- When new changes are pushed to the source branch: Reset all code reviewer votes
- Check for linked work items: On
- Optional
- Check for comment resolution: On
- Required
- Limit merge types: On
- Squash merge
- Require a minimum number of reviewers: On
- Configure Build validation
- Press + Add build policy
- Select your pull request pipeline (
Internal_Test_2026 - Pull request)- Trigger: Automatic
- Policy requirement: Required
- Configure Automatically included reviewers
- Select your team members
- Policy requirement: Required
Continuous deployment
- Go to Pipelines/Releases
- Edit your release pipeline (
Release_2026) - Add an artifact
- Source type: Build
- Check that project matches your project
- Source (build pipeline): your main pipeline (
Internal_Test_2026) - Default version: Latest
- Source alias: Build
- Configure triggerindex.md
- Go to the artifact you just created and press the lightning icon
- Enable Continuous deployment trigger
- Add main branch filter
- Configure pre-deployment conditions of Deploy to production
- Go to the stage and press the lightning icon
- Enable After release
- Add artifact filter: Build and main branch
- Configure build folder in stage
- Go Tasks tab
- Select Deploy Azure App Service task
- Change Package or folder to
$(System.DefaultWorkingDirectory)/Build/application
- Save and run
- Check that your application is running
Notes:
- Connection string is filled in Azure settings in ConnectionStrings__Database environment variable
- Database migrations are applied automatically on application start
Application Urls:
- Internal test: ap8vt–2025–internal-test-bugwekdyd3hhbyc0.westeurope-01.azurewebsites.net
- Abcd: ap8vt–2025-abcd-b8c2hfguckh4gqd3.westeurope-01.azurewebsites.net
- Ctyri a pul evropanu: ap8vt–2025-ctyri-a-pul-evropanu-cndvcghyazfwctff.westeurope-01.azurewebsites.net
- Matlab: ap8vt–2025-matlab-e4h4c9b4exbthjb2.westeurope-01.azurewebsites.net
- Myskavec: ap8vt–2025-myskavec-dycxegcxgcaghcdu.westeurope-01.azurewebsites.net
- PIVO: ap8vt–2025-pivo-c2c0hsfzh0etesh4.westeurope-01.azurewebsites.net
- Placeholder: ap8vt–2025-placeholder-acfeembmf6brhkem.westeurope-01.azurewebsites.net
- Team XY: ap8vt–2025-team-xy-hfddhkayfjdcfjge.westeurope-01.azurewebsites.net
- Zacci: ap8vt–2025-zacci-f2f5eug9bgf0avd3.westeurope-01.azurewebsites.net
- ZXC: ap8vt–2025-zxc-b2due6hshegfescp.westeurope-01.azurewebsites.net
More info: