Pokyny SP2 - nvbach91/4IZ268-2022-2023-ZS GitHub Wiki

Zadání

Návrh SP2

  • Návrh musí být schválený před zahájením prací s SP2, stav schválení najdete v sekci Issues.

Způsob odevzdání

  • SP2 se odevzdává přímo do tohoto repozitáře buď pomocí příkazů Gitu, nebo pomocí drag'n'drop v rozhraní GitHubu. Žádný jiný způsob odevzdání prací nebude akceptován. Právo na zápis do repozitáře byste měli mít už od začátku semestru po přijetí pozvánky do repozitáře. V případě nejasností neváhejte se zeptat vyučijícího zde.

Postup pro odevzdání pomocí Gitu

Postup pro odevzdání pomocí drag'n'drop na GitHubu

Termín pro odevzdání pilotní verze SP2 na GitHub

  • 24.12.2022
  • tato verze by měla mít hovotou alespoň strukturu souborů a složek a nějaký zárodek kódu
  • další verze se nahrávají přímo do stávajícího Pull Requestu
  • při nesplnění tohoto požadavku bude stržena značná část bodového hodnocení

Termín pro odevzdání finální verze SP2 na GitHub

  • po odevzdání pilotní verze mají studenti čas k doladění projektu až do 24h před začátkem termínu obhajoby, tj. hotový projekt musíte odevzdat alespoň 1 den před zahájením obhajoby.

Pozn. Obhajoby projektů budou probíhat ve zkouškovém období. Na konkrétní termíny obhajob se studenti přihlašují skrze studijní informační systém. V případě, že autor projektu při obhajobě nebude schopen adekvátně reagovat na otázky vyučujícího, má vyučující právo dle svého uvážení snížit počet bodů z jednotlivých kategorií až na 0, a to i v případě, že se bude jednat o kvalitní projekt.

Časté chyby (navíc k hlavním požadavkům)

  • nepoužití sémantických tagů, kde to dává smysl
  • nepoužití angličtiny při psaní kódu
  • neoddělené CSS, JS od HTML (inline CSS, inline JS)
  • aktualizace DOMu v cyklu
  • formátování kódu (HTML, CSS, JS)
  • nekonzistentní používání uvozovek pro string
  • nekonzistentní způsob deklarace promenných a funkcí
  • nepoužívání string interpolation, kde to dává smysl
  • nevhodné pojmenování proměnných a funkcí (nevhodný case, nevhodné názvy)
  • opakovaný výběr DOM elementů pomocí selektoru
  • nevalidní HTML (i dynamicky generovaný obsah)
  • nekonzistentní pojmenování CSS tříd a id
  • nepoužívání Promise nebo async/await pro práci s asynchronním kódem
  • stránka aplikace se refreshuje
  • aplikace nepoužívá AJAX pro asynchronní stahování dat z externí API
  • aplikace nepoužívá žádnou Browser API funkcionalitu (localStorage, geolocation, camera, atd...)
  • chybí validace uživatelského vstupu (form attributes, trim, regex, ...)
  • používání funkce alert
  • neroztřídění souborů do jejich složek (js, css, img)
  • chybí loader/spinner při načítání dat z serveru
  • znečištění globálního objektu window - pro globální proměnné a funkce vytvoříte tzv. namespace v podobě jednoho globálního objektu např. const App = {} do kterého pak umístíte všechny globální proměnné a funkce, které budete přepoužívat v kódu, viz poslední domácí úkol. Nebo všechen kód pište do jednoho closure
$(document).ready(() => { /*...*/ });
  • atd.

img

P.S.: Příklady REST API