Bachelor's Thesis

Web Application for Collaborative Schedule Management

Final Thesis 3.47 MB

Author of thesis: Bc. David Novák

Acad. year: 2022/2023

Supervisor: Ing. Daniel Dolejška

Reviewer: Ing. Libor Polčák, Ph.D.

Abstract:

This thesis addresses the development of a web application for collaborative schedule management for universities and other institutions. The application aims to implement a schedule editor that allows users to collaborate in real-time using the WebSocket protocol and automatically evaluates conflicts between lessons. Before creating the application itself, existing solutions in the field of collaborative and scheduling editors were studied. The solution of the company IS4U, with whom this thesis is being realized, was studied in the most detail. A design for its improvement was created using an ER diagram and wireframes. The implementation predominantly utilizes TypeScript. On the server side, Node.js runtime environment and the Express.js framework are utilized. The client is implemented using the Vue.js framework. The thesis also includes user testing of the application and considerations for future improvements.

Keywords:

collaborative application, scheduler, web application, WebSocket, Vue.js, real-time communication, TypeScript, Node, MySQL, Express, collision detection, manual testing

Date of defence

14.06.2023

Result of the defence

Defended (thesis was successfully defended)

znamkaCznamka

Grading

C

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.

Topics for thesis defence

  1. Proč jste nevyužil literaturu doporučenou vedoucím práce v zadání?
  2. Kdy jste se dozvěděl, že firma IS4U přestala spolupracovat se školou? Zvažoval jste nějak revidovat zadání?
  3. Byl jste nějak v kontaktu s tvůrci rozvrhu na naší fakultě?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Ing. Peter Chudý, Ph.D., MBA (člen)
RNDr. Marek Rychlý, Ph.D. (člen)
Ing. Vojtěch Mrázek, Ph.D. (člen)
doc. Ing. Ondřej Lengál, Ph.D. (člen)

Supervisor’s report
Ing. Daniel Dolejška

Student bohužel nebyl od firemního konzultanta, jednatele firmy IS4U, dr. Šorma, schopen získat zpětnou vazbu k poslední implementované verzi vytvořeného řešení a tedy ta nejcenější zpětná vazba k funkčnosti aplikace není při zhodnocení práce k dispozici. Nehodnotím toto ovšem ani v nejmenším jako selhání studenta.


Vytvořené řešení je funkční a má reálné využití, ovšem má stále z velké části charakter technického prototypu a je použitelná pouze lokálně s jedním uživatelským účtem (i přes to že se jedná o webovou aplikaci).


S přihlédnutím ke složitosti zadání, stavu odevzdaného textu a stavu vytvořené aplikace hodnotím 72 body, tedy stupněm C.

Evaluation criteria Verbal classification
Informace k zadání

Téma bakalářské práce bylo vypsáno ve spolupráci s firmou IS4U zastoupenou jejím jednatelem, dr. Šormem, v roli konzultanta práce. Cílem práce bylo navrhnout a vytvořit webovou aplikaci pro interaktivní a kolaborativní vytváření a správu rozvrhu. Z pohledu dostupných moderních technologií i z pohledu vyžadované funkcionality bych zadání zhodnotil jako jedno z jednodušších.

Firma se bez předcházející komunikace rozhodla s Fakultou v průběhu vypracovávání této práce partnerství rozvázat. Dr. Šorm, jednatel společnosti, pak dále se studentem postup i výsledky práce explicitně odmítl konzultovat. I v průběhu probíhajícího "partnerství" byl ovšem dr. Šorm na studentovy pokusy o plánování konzultací značně nereaktivní.

Vytvořené řešení je funkční a má reálné využití, ovšem má stále jen charakter prototypu. Při využití moderních technologií by ovšem návrh a zpracování výsledného nástroje s korespondujícími technickými požadavky neměli být příliš složité.

Práce s literaturou

Student převážně cituje vhodné, relevantní a aktuální zdroje. Použité zdroje vyhledával student povětšinou zcela samostatně.

Aktivita během řešení, konzultace, komunikace

Student byl aktivní na začátku zimního semestru, kdy se s firemním konzultantem domlouval na úvodní konzultaci k práci. Práce na implementačním řešení byla s vedoucím práce konzultována zřídka.

Na domluvené konzultace přicházel student připraven a včas, s otázkami i pokroky či změnami od poslední konzultace.

Aktivita při dokončování

Student byl při dokončování práce aktivní – implementační řešení i text práce včas konzultoval. Text práce byl především konzultován až v průběhu jejího dokončování, ovšem v dostatečném předstihu před odevzdáním.

Publikační činnost, ocenění

-

Points proposed by supervisor: 72

Grade proposed by supervisor: C

Reviewer’s report
Ing. Libor Polčák, Ph.D.

Pan Novák splnil zadání práce. Škoda, že stavěl na zelené louce, i když to nebylo po odchodu firmy potřeba. Navrhuji práci hodnotit jako dobrou.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Zadání vzniklo na míru společnosti IS4U. Vysvětlení, že cílem práce je prozkoumat možností webových aplikací pro rozšíření tvorby produktů mně dává smysl.

V kapitole testování jsem byl překvapený absencí konzultace s firmou. Až teprve v posledních větách závěru jsem zjistil, že spolupráce v průběhu práce skončila.

Osobně mně v práci chyběla automatizovaná tvorba rozvrhů, například s ohledem na preference učitelů.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno s drobnými výhradami

Výčet existujícího software pro generování rozvrhů je poměrně strohý. Např. stránka https://github.com/topics/timetable-generator obsahuje celou řadu zdrojů, které se mohly v práci objevit.

Odevzdaný rozbor plně odpovídá očekávané spolupráci s firmou.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Prezentační úroveň technické zprávy

Práce se velmi málo věnuje teoretickému rozboru. Zbytek textu odpovídá očekáváním, ale stálo by za to se zamyslet nad smysluplnějším uspořádáním. Např. část implementace se zabývá  návrhem algoritmů, což by se spíše hodilo do návrhu.

Kapitola testování popisuje uživatelské testování, autor jej však označuje jako manuální testování.

Obrázky jsou často referovány až po jejich vysázení. Některé nejsou moc čitelné. Občas se vyskytují i jiné prohřešky.

70
Formální úprava technické zprávy

V textu se často vyskytují hovorové výrazy (spousta, nějaké). Některé věty jsou kostrbaté. Některé věty nedávají smysl. Např. poslední věta na str. 39 tvrdí, že chyby se objevily jen u jednoho uživatele ze dvou, ale testování probíhalo u 16 uživatelů. Našel jsem několik překlepů.

Obecně je však text kvalitní.

80
Práce s literaturou

Musím ocenit, že úvodní části práce ve mně vzbuzovaly pocit snahy proniknou do tématu např. konzultacemi s lidmi z oboru (např. Mgr. Krumpochová).

Nelíbí se mně způsob uvádění parafrází mimo věty, kdy není jasné, zda autor doslovně cituje, nebo jde opravdu o parafrázi.

Práce využívá téměř výhradně online zdroje. Jsem si jist, že využití hodnotnějších zdrojů jako je literatura doporučená vedoucím, nebo třeba kniha High Performance Browser Networking by práci prospěla.

70
Realizační výstup

Zdrojový kód není komentovaný, je však dobře čitelný. Testy nejsou.

Práci velmi chybí:

  1. Porovnání technologie WebSocket s jinými mechanismy pro obousměrnou výměnu dat, především WebRTC.
  2. Zdůvodnění vytvořeného rozhraní. Přestože se měl student seznámit s knihami o tvorbě UI, nejsou tyto knihy v práci citované a aplikované.
  3. Kolaborativní práce v editoru nebyla nijak testovaná a je nejasné, zda implementované algoritmy vůbec fungují. Vzhledem k názvu práce toto považuji za zásadní nedostatek.
70
Využitelnost výsledků

Sekce 5.4 dobře vystihuje proč nejsou výsledky práce využitelné. Zadání práce mělo smysl jen jako prototyp pro firmu.

Topics for thesis defence:
  1. Proč jste nevyužil literaturu doporučenou vedoucím práce v zadání?
  2. Kdy jste se dozvěděl, že firma IS4U přestala spolupracovat se školou? Zvažoval jste nějak revidovat zadání?
  3. Byl jste nějak v kontaktu s tvůrci rozvrhu na naší fakultě?
Points proposed by reviewer: 72

Grade proposed by reviewer: C

Responsibility: Mgr. et Mgr. Hana Odstrčilová