Zadání projektu
Cílem projektu je zábavnou formou si procvičit vývoj softwaru v jazyce Java.
Odevzdání projektu
Odevzdání a obhajoba projektu proběhne následovně:
- Termín odevzdání (nahrání do systému edison a kelvin) je před obhajobou nejpozději však do 21.6.2026.
- Nahrání do systému Edison: Studium -> Seminární Práce -> téma Semestrální projekt
- Obhajoba proběhne osobně, ůstně v termínech na, které je nutno se přihlásit. Jsou vypsány v systému https://ees.cs.vsb.cz/subjects/1942/exams.
Bodové hodnocení
Minimálně musí student získat 10 bodů maximálně pak může získat 25 bodů.
Zadání varianta Hry
Vytvořte webovou aplikaci s klientem v jedné z těchto variant:
- back end v Javě - Spring s rozhraním REST a klientská aplikace v JavaFX.
- back end v Javě - Spring s rozhraním REST a front end v libovolné webové technologii (react, Vue)
- back end v Javě - Spring s omezeným REST API a webové stránky s využitím Thymeleaf nebo jiného templatovacího enginu.
můžete využijte projekt z minulého semestru (hru/desktop) a zaměřte se na ukládání dat. Data ukládejte s využitím REST API (Možno využít Swagger/Open Api generátor). Je možno také využít projektu do jiných předmětu kde je cílem vytvořit webovou aplikaci a řešení sloučit s projektem do předmětu Java2.
Aplikace bude využívat databázi prostřednictvím JPA. Budou využity minimálně 3 entity s vazbami mezi sebou. Minimálně jedna vazba bude alespoň 1:N.
Odevzdání a obhajoba projektu proběhne následovně:
- Termín odevzdání je do 21.6.2026 nebo před obhajobou projektu.
- Projekt nahrejte do systému Edison i Kelvin
- Nahrání do systému Edison: Studium -> Seminární Práce -> téma Semestrální projekt
- Obhajoba proběhne osobně, ůstně v termínech na, které je nutno se přihlásit. Jsou vypsány v systému EES https://ees.cs.vsb.cz/subjects/1942/exams.
Zásady pro vypracování
- Projekt musí být v JavaFX ne ve starém swing a awt.
- Při kódování dodržujte konvence pro psaní v jazyce Java https://www.oracle.com/technetwork/java/codeconventions-150003.pdf případně revidovaná verze - https://www.scribd.com/doc/15884743/Java-Coding-Style-by-Achut-Reddy). Pro vše lze využít správně nastavené automatické formátování ve vašem IDE.
- Hlavní pokyny k formátování:
- Otevírací složená závorka vždy na konci řádku
- Názvy identifikátorů (třídy, metody, proměnné) s využitím CamelCase
- Názvy tříd začínají velkým písmenem
- Názvy metod a proměnných začínají malým písmenem
- Vaše IDE umí přejmenovat identifikátory (přídy, metody, proměnné) a všechny jejich výskity v kódu.
- Příkaz za if nebo for vždy na následujícím řádku, nejlépe v bloku kódu, tedy složené závork
- Statické metody a proměnné NEBUDOU používány s výjimkou pomocných funkcí a konstant - jejich použití konzultujte s cvičícím.
- Projekt bude obsahovat použití rozhraní, kolekcí a práci s I/O "streamy".
- S objekty se bude pracovat přes nejobecnější typ/rozhraní nikoliv přes konkrétní třídu.
- Využijte dědičnost a rozhraní pro sjednocení fukcionality a znovuvyužití kódu. Grafické prvky se nabízejí k využití těchto přístupů.
- Využíte více jak jednu scénu pro přepínání obrazovek hry.
- Při tvorbě využijte debuger a breakpointy, je to velice silný pomocník.
- V debug režimu umí IDE některé změny kódu okamžitě promítnout do aplikace bez nutnosti jejího restartování. Můžete také měnit hodnoty proměnných v paměti.
- Čtěte vyjímky, pokud vám nenapoví začátek vyjímky, zkontrolujte zda není uvedeno Caused By <další vyjímka> (může se několikrát opakovat)
- Povinnou součástí hodnocení projektu bude jeho obhajoba cvičícímu.
- Projekt udělejte v rozsahu a kvalitě s ohledem na své schopnosti - důležitá je funkčnost nikoliv 100% dokonalost a shoda s originálem.
- Knihovny použité při vývoji budou součástí odevzdaného projektu (jako závislosti maven) a nebudou vyžadovat žádná dodatečná nastavení. Nedodržení tohoto pravidla bude penalizováno jistým počtem bodu dle času, který byl nutný ke zprovoznění.
David Ježek




