Pomáháme plnit Vaše strategické cíle
v oblasti informačních systémů
Poskytujeme široké spektrum vzdělávacích
programů, eLearningových a odborných kurzů
Vyhovíme Vašim potřebám
v oblasti informačních systémů
Disponujeme zkušeným týmem analytiků,
konzultantů a programátorů

Zadání 

Vytvořte webovou aplikaci pro správu knížek v knihovně. Aplikace bude komunikovat se serverem přes rozhraní REST API(3), které bude ukládat a poskytovat obsah. 

Aplikace musí umět základní operace pro správu: 

  • Vytvoření, editace a smazání knihy
  • Vytvoření, editace a smazání autora
  • Vypsání stránkovaného seznamu knih (max 25 záznamů na stránku) s možností prokliku na detail knihy
    • Všech v knihovně
    • Podle zvoleného autora
  • Vypsání stránkovaného seznamu autorů s možností pro-kliku na detail autora

Uživatel má možnost definovat u knihy její název, ISBN, rok vydání, jejího autora (autory) a počet stran. Další vhodné položky jsou vítané. 

U autora má uživatel možnost minimálně definovat jméno, příjmení a nepovinně rok narození a úmrtí. 

 

Požadavky pro klientskou část aplikace 

Aplikace by měla být napsaná v React(2) s použitím vhodné stylovací komponenty(1). Sestavování bude provádět webpack. 

Data budou ukládána do vhodně rozdělených Reducer, nikoliv do State jednotlivých komponent, pokud to nebude nezbytně nutné nebo vhodné. Jednotlivé komponenty by měly být co nejjednodušší, bez složitých a nevhodných logických prvků. 

URL při procházení aplikací by měly být „hezké“, tzn., že např. 

  • pro stránku s detailem konkrétní knihy by měl mít v urlhttps://www.knihovna.org/kniha/54
  • pro seznam autorů https://www.knihovna.org/autori

apod. 

 

Požadavky pro serverovou část aplikace 

Aplikace bude poskytovat data klientské části formou Rest kontrolérů. Data budou ukládaná v relační databázi (je možné použít např. PostgreSQL, MSSQL nebo i souborovou verzi H2). 

Restové API by mělo splňovat obecná pravidla pro psaní, tzv. „best practices“. 

 

Řešení 

Finální práce by měla obsahovat okomentované zdrojové kódy, jak na klientovi, tak i na serveru. Musí obsahovat soubor README.md, ve kterém bude popsáno, jak aplikaci přeložit a spustit. 

 

Užitečné odkazy