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í.