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)
Ukázky realizovaného projektu
Zatím nerealizováno