Zadání projektu

Vytvořte rezervační systém pracovních stolů (tzv. hotdesků) pro zamestnance, jejich místem výkonu práce je home office a kteří musejí/chtějí jednou za čas do kanceláře.

Základní požadavky (pro 2 žáky)

  • Použité technologie
    • Aplikace bude vytvořena v PHP
    • Bude používat Composer pro správu knihoven.
    • Bude používat nějaký framework, ideálně micro framework ala Slim.
    • Budou použity jmenné prostory (Namespaces) a PSR-4 Autoloading.
    • Bude použito moderní PHP, tj. třídy, metody, datové typy a jednotkové testy (PHPUnit).
    • Databáze musí být použita SQLite.
    • Celá aplikace poběží jako Docker kontejner
    • PHP, Apache a SQLite v jednom společné kontejneru.
    • Adminer a další případné pomocné knihovny/aplikace mohou mít vlastní kontejner.
    • Pro UI použijte Bootstrap (nepovinné).
  • Zdrojový kód včetně komentářů musí být kompletně v anglickém jazyce.
  • Uživatelé se pro použití aplikace musí autentikovat přes Basic Auth, který data ověří v OpenLDAP
    • Uživatelé budou mít 1 ze 2 možných rolí (uživatel nebo administrátor).
  • Systém musí být schopen zobrazit 2 podlaží a na půdorysech jednotlivých pater na zvolených místech vizualizovat stůl (hotdesk), který je v jednom z několika možných stavů:
    • trvale obsazený,
    • možný rezervovat,
    • rezervovaný.
  • Nepřihlášený uživatel vidí pouze přihlašovací dialog.
  • Přihlášený uživatel vidí
    • Rezervační plánek s možností výběru místa.
    • Historii svých rezervací s možností neproběhlé upravit/smazat.
    • Uživatel může nahlásit poznámku k nějakému stolu (například když něco nefunguje, dojde baterie, něco se rozbije).
    • Vidí přehled všech rezervaci pro vybraný den (standardně dnešek, ale s možností změnit).
  • Administrátor může
    • Upravovat pozice stolů (nejlépe pomocí drag&drop přímo v plánku) a jestli se jedná o sdílená místa.
    • Může upravovat a mazat cizí rezervace.
    • Může vytvořit rezervaci pro někoho jiného.
    • V přehledu rezervací má možnost upravit/smazat libovolnou rezervaci.
  • Mazání vyžaduje vždy dodatečné potvrzení (alert dialog)).
  • Detail vybraného stolu (hotdesku)
    • Vizualizovat jako dialog (modální okno)
  • Zobrazené informace:
  • Jestli je stůl zvedací
  • Počet monitorů
  • Fotka celého stolu
  • Poznámka

Rozšíření pro 3 žáky

  • Přidání role správce
  • Úkoly (tasks)
    • Rozšíření poznámek u stolů na Úkoly
    • Každý nově vytvořený úkol bude odeslán všem správcům k vyřešení.
    • Uživatelé mohou vytvořit úkol, mohou svůj úkol upravit, smazat a vyřešit.
    • Správci mohou úkol vyřešit a přidat odpověď.
    • Správci se po přihlášení umožní zobrazit všechny nevyřešené úkoly.
  • Notifikace
    • Uživatelé mají povinnost 1x za měsíc navštívit kancelář, a tedy využít hotdesk.
    • Přidání notifikací, které budou hlídat, že uživatel už v daném kalendářním měsíci měl nebo alespoň má plánovanou rezervaci.
    • Notifikace nebo oznámení se dotčeným uživatelům zobrazí po přihlášení.
    • V polovině měsíce, tj. 15. dne, se všem uživatelům bez rezervace odešle e-mail s upozorněním, že zatím nemají naplánovanou rezervaci.
    • Druhý e-mail se odešle 5 dní před koncem měsíce (půjde nastavit v konfiguraci).

Oblasti na které je projekt zaměřen

Vývoj webové aplikace

Informace pro maturanty, kteří budou projekt řešit jako maturitní práci

Maximální počet žáků v týmu, který bude projekt realizovat: 3

Maximální počet týmů, které mohou projekt realizovat: 1

Téma si mohou vybrat žáci se zaměřením: Vývoj aplikací

Autor zadání: Antonín Neumann – PeoplePath (neumann@spseplzen.cz)

Toto zadání pro Vás připravila společnost

VOŠ a SPŠE Plzeň

Ukázky realizovaného projektu

Zatím nerealizováno