Prvá obhajoba
- Vyberte si technologické črty vášho projektu. Na úspešnú obhajobu projektu si vyberte črty v minimálnej sume 16 bodov, z ktorých musíte obhájiť aspoň 10 bodov. GUI projektu musí byť naprogramované v technológii Swing alebo JavaFx.
- Na výber sú tieto technologické črty
- entity: minimálne tri entity. Hodnotenie: 2 body + 1 bod za každú ďalšiu entitu. Maximálne 6 bodov, teda max 7 entít sa hodnotí bodmi, entít však môžte mať viac, ak to má zmysel.
- okná: minimálne štyri netriviálne okná/scény (typ Stage a/alebo Scene). Okno musí obsahovať aspoň tri ovládacie prvky so zmysluplnou aktivitou, alebo pasívne zobrazovanie informácií s komplexnou funkcionalitou. Jednoduché okná typu „O projekte“ sa nepovažujú za netriviálne. Hodnotenie: 2 body + 1 bod za každé ďalšie okno. Komplexné okno so zložitými tabuľkami, prepojenými ovládacími prvkami, filtrovaním, vlastným renderovaním bude hodnotené dodatočným 1 bodom. Maximálne sa ohodnotí 8 okien, môžte ich mať aj viac, ale už bez bodového ohodnotenia.
- SQL: využitie relačnej databázy s použitím JdbcTemplate. Hodnotenie: 2 body. Iná relačná databáza než MySQL a MariaDB: +2 body.
- NoSQL: Ak využijete NoSQL databázu, musí ísť o vhodne zvolené úložisko (t.j. hodí sa k daným dátam) a mala by sa využiť nejaká ich pokročilá funkcionalita, napr. využijú sa aj iné spôsoby získavania dát, ako len collection.getAll() a collection.getById(id). Hodnotenie: max 4 body. Tieto body sa nedajú kombinovať s bodmi za SQL.
- DAO. Využitie návrhového vzoru pre Data Access Object prístupu k databáze. Minimálne 1 DAO pre každú entitu. Hodnotenie: 2 body.
- Factory. Použitie návrhového vzoru. 1 bod
- unit testy: testovanie biznis logiky a perzistentnej vrstvy. Testovanie všetkých DAO objektov. Hodnotenie: 3 body za pokrytie nutných tried, 0.5 boda za dodatočné triedy. Maximálne dokopy 5 bodov.
- prispôsobivý layout: Obsah okien sa vhodne prispôsobuje pri ich zmene veľkosti. 1 bod
- netradičná technológia: použitie externej, samostatne naštudovanej knižnice, sa hodnotí 1–2 bodmi v závislosti od komplexnosti použitia.
- dizajn: vizuálny návrh GUI v súlade s filozofiou či platformou sa hodnotí 1 bodom. Pekný či tvorivý dizajn sa ohodnocuje ďalším 1 bodom.
- kreativita: kreatívny neotrelý nápad sa hodnotí 1 až 2 bodmi
Druhá obhajoba
Druhá obhajoba sa skladá z dvoch častí:
- V prvej časti dopracovávate funkcionalitu do spriateleného projektu, ktorý vám bol pridelený.
- V druhej časti obhajujete dopracovanie vášho projektu podľa pripomienok, ktoré vám boli zaslané emailom.
V prvej časti dopracujte nasledovné technologické črty:
- Vytvorenie REST servera umožňujúceho realizovat CRUD operácie s aspoň 2 entitami. 2 body + 1 bod za viac entít. Maximálne 3 body.
- Zobrazovanie entít získaných z REST servera 3 body + 1 bod za netriviálnu transformáciu prijatých dát do TypeScriptových objektov
- Editácia entity cez React a REST server. 3 body.
- Využitie neprednášanej funkcionality: zabezpečenie REST servera, User management, alebo použitie externej, samostatne naštudovanej knižnice, sa hodnotí 1–2 bodmi v závislosti od komplexnosti použitia.
- Zverejnenie zdrojového kódu REST servera založeného na spriatelenej aplikácii na GitHub.com či inom všeobecne známom projektovom portáli pod vhodnou licenciou (so súhlasom autorov pôvodného kódu): 1 bod.