Generovanie používateľského rozhrania z grafových dát

User interface generation from graph-based data


Denník

Zimný semester
Zoznámila som sa s témou, čítala som materiály, študovala som už existujúci kód a funkcionalitu Courses. Pracovala som na návrhu novej, vedľajšej ontológie, ktorá by popisovala vizualizačné vlastnosti.
21.2. - 27.2.2024
Testujem knižnicu ReactFlow na vizualizáciu diagramov v Reacte, knižnicu Dagre.js na stromové layoutovanie už existujúcich uzlov a knižnicu React Flow Smart Edge na vizualizáciu hrán, ktoré nekonfliktujú s uzlami.
28.2. - 5.3.2024
S vyššie spomínanými knižnicami sa mi podarilo vytvoriť konzistentné vizualizácie, opravila som v nich chyby, pridala som focus na uzly reprezentujúce témy po ich nakliknutí v zozname.
6.3. - 12.3.2024
Zistila som, že v dependencies projektu kvôli mojím používaným knižniciam došlo k istému nesúladu, snažila som sa teda využiť staršiu verziu ReactFlow, ktorá by sa nebila s našou používanou verziou Reactu. Nakoniec sme sa ale rozhodli, že použijeme aktuálnu verziu ReactFlowu, keďže celý systém by mal v blízkej budúcnosti prechádzať refactorom na novú verziu Reactu. Do grafového zobrazenia som tiež prirobila kontextové menu a prepojila cez (už hotové) API mazanie uzlov s databázou.
13.3. - 19.3.2024
Nebola som spokojná s aktuálnym layoutovaním grafu, jeho hrany sa príliš prekrývali, nedávalo mi tiež zmysel, že jednotlivé stromy tém (a podtém) sú iba poukladané pri sebe v jednej línii. Preto som sa rozhodla zachovať stromový layout jednotlivých hierarchií tém, tieto väčšie skupiny som potom uzavrela do jednotlivých veľkých uzlov a na tieto uzly tiež použila Dagre.js a stromový layout, tentokrát však v smere zľava doprava. Grafy sú teraz čistejšie a prehľadnejšie.
20.3. - 26.3.2024
Začala som pracovať na obohacovaní dát o vizuálne vlastnosti, zvažovali sme dve možnosti: viacnásobnú dedičnosť (resp. viacnásobné typovanie) a reasoner. Rozhodli sme sa pre reasoner, keďže dáva väčší zmysel vizuálne vlastnosti dátam priraďovať až po ich získaní z databázy.
27.3. - 2.4. 2024
Vytvorila som základnú verziu reasoneru, dátam vie priraďovať vizuálne vlastnosti. Do reasonu teda vstupujú dáta získané z databázy, pôvodná doménová ontológia, moja nová vizuálna ontológia a mapovacia ontológia, ktoré popisuje vzťahy medzi nimi.
3.4. - 9.4. 2024
Analyzovali sme, ako urobiť reasoner čo najuniverzálnjším a najjednoduchším, aké rôzne požiadavky by mal spĺňať. Prebrali sme obsah bakalárskej práce, písala som prvú kapitolu, celú prácu som si rozvrhla.
10.4. - 16.4.2024
Pracovala som na už reálnej verzii reasoneru, vygenerovala som si doménovú ontológiu systému z backendu a importovala som knižnicu rdflib.js, ktorú používam na parsovanie ontológií.
17.4. - 23.4.2024
Na frontende som vytvorila triedu Ontology, ktorej som naprogramovala rôzne užitočné metódy. Pomocou tejto triedy je teraz možné vykonávať veľmi jednoduchý reasoning, no pre naše účely to stačí.
24.4. - 30.4.2024
Tento týždeň som sa venovala hlavne písaniu práce, snažila som sa tiež refactorovať môj kód a vymyslieť, ako ho lepšie logicky rozčleniť a usporiadať.