# Obecné pokyny - Můžete používat internet a materiály. - Nesmíte komunikovat (na fórech, v chatu ani jinde). - Vycházejte z připraveného FE a BE. - Máte na to 1,5 hodiny, věnujte se rovnoměrně BE i FE. - Dbejte na to, ať je odevzdaná verze spustitelná, jinak musíme strhnout hodně bodů! :) # Frotend 14b Na adrese https://62a6e66fbedc4ca6d7bc7f2e.mockapi.io/buildings je mockované API s budovama. Vytvořte formulář pro vytvoření nové budovy. v storu - Připravte formulář s políčky: 3b - name (povinný, řetězec, neprázdný), - floors (povinný, číslo, -100 až 100), - phone (povinný, řetězec, musí začínat pluskem a pak čísla) - Provádějte kontrolu dat (datový typ, vyplnění, rozsah, formát) 4b - S využitím store odešlete vyplněná data na adresu výše v následujícím formátu. 3b ``` { "name": "Q", "floors": 12, "phone": "+4207315844" } ``` - V případě chyby (např. špatná URL nebo chyba serveru) zobrazte uživatelsky přívětivou chybu. 2b - Po úspěšném odeslání zobrazte vytvořenou budovu pomocí kartičky v-card. 2b 1. app - Create building 2. index/route - children: [{path: "/builds",name: "builds",component: NewBuilding,} 3. store (trida) - state: a actions: 4. view - tameplate - error, isLoading, samotny form - script - data(), computed{...mapStores(useBuildStore),}, metods{create} # Backend 11b Připravte endpoint pro smazání budovy podle ID. 2b (umim - BE v service delete async/ routes - router delete / app.js - require) - Připravte tabulky pro budovy a patro. U obou tabulek stačí název a idéčka. 3b (super easy- na BE v migrations vztvorim sql prikaz) - Pokud má budova k sobě namapovaná patra, vyhoďte chybu 409 a budovu nemažte. 3b (umim - v services zjistim ktere maji id/ v routes pak zda maji vytahy) - Pokud uživatel zadá query parametr `force=true`, smažte budovu bez kontroly. 1b (umim - pouzit query.force v routes pro ziskani parametru) - Pokud je vše v pořádku, smažte budovu v databázi. 2b (funguje funkce ddelete- implementovana v services pres SQL) FE -store = ukladani dat a metody, getters -view = vzhled, ve scriptu vyuziva store -route = cesty u zabezpeceni se resi childern -app = btn v hornim menu BE /routes /services = operace v DB (metoda database.run() a SQL prikaz) /migrations = sql scripty