Bachelor's Thesis

System for Managing Scientific Content

Final Thesis 5.03 MB

Author of thesis: Bc. Tomáš Hlásenský

Acad. year: 2024/2025

Supervisor: Ing. Petr John

Reviewer: Ing. Jaroslav Dytrych, Ph.D.

Abstract:

This bachelor’s thesis focuses on the design and implementation of an information system for managing scientific content, tailored to the needs of a research group. The main goal of the thesis is to develop a system that enables efficient presentation, management, and sharing of research outputs, publications, and other academic materials. The thesis analyzes existing content management systems (CMS), their architectures, and the advantages and disadvantages of various approaches, including traditional, decoupled, headless, and hybrid architectures. Based on the analysis of the research group's requirements, a modular system was designed, consisting of three independent components: a CMS, a content editor, and a web scraper. The CMS handles user, content, and permission management; the editor allows for the creation of interactive content using the MDX format; and the web scraper automates the retrieval of data from external sources. The system is built on the Next.js platform, leverages the MDX markup language for content creation, and emphasizes flexibility, scalability, and a user-friendly interface. The resulting system enables simple management of scientific content, supports dynamic editing and content presentation, and is prepared for future development, including integration with external tools.

Keywords:

information system, content management, CMS, MDX, Next.js, web scraper, scientific content, content editing, modular architecture, user interface

Date of defence

19.06.2025

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č se pro ID v jednotlivých tabulkách v databázi využívá datový typ String (viz obr. 6.2)?
  2. V čem vaše řešení překonává stávající systémy pro správu obsahu?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Ing. Vladimír Janoušek, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)
doc. Ing. Jan Kořenek, Ph.D. (člen)
Ing. Zdeněk Materna, Ph.D. (člen)

Supervisor’s report
Ing. Petr John

Bakalářskou práci hodnotím velmi kladně. Student si osvojil potřebné technologie a důkladně prostudoval existující řešení i předchozí verzi webové prezentace. Na tomto základě vytvořil novou aplikaci, která původní řešení nejen plně nahrazuje, ale zároveň jej významně rozšiřuje. Kromě samotné aplikace student vyvinul také inteligentní editor pro tvorbu obsahu založený na jazyce MDX. Tento editor umožňuje snadné vytváření nového obsahu včetně pokročilých komponent, jako jsou galerie, a podporuje i jejich stylování. Výsledná kombinace aplikace a editoru výrazně přispěje k propagaci výsledků skupinky, pro niž byl systém vytvářen. Práci navrhuji hodnotit stupněm A

Evaluation criteria Verbal classification
Informace k zadání

Cílem této bakalářské práce bylo vytvořit systém, který pomůže s propagací a zviditelněním výzkumných skupin a skupinek výzkumníků. Za tímto účelem bylo nutné nastudovat existující aplikace pro prezentaci výzkumných výsledků (ResearchGate, Google Scholar, ORCID atd.), a také aktuálně používané přístupy k tvorbě informačních systémů. Dále sám student zvolil vhodnou platformu pro tvorbu nového informačního systému (Next.js), díky které mohl zkombinovat přístupy jak pro renderování na straně serveru, tak klienta. Také musel nastudovat programovací jazyk TypeScript, technologii pro objektové mapování Prisma.js a vlastnosti databázového systému PostgreSQL. Zadání hodnotím jako průměrně obtížné a považuji jej za splněné ve všech bodech.

Práce s literaturou

Student prostudoval doporučenou literaturu a sám aktivně vyhledával další relavatní zdroje.

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

Student během celého akademického roku aktivně komunikoval, a to jak prostřednictvím osobních konzultací, tak formou zpráv, ve kterých pravidelně informoval o svém pokroku od posledního setkání. Konzultace probíhaly ve dvoutýdenních intervalech po oba semestry. Student pracoval samostatně.

Aktivita při dokončování

Student dokončil práci včas, což umožnilo konzultaci finální verze jak technické zprávy, tak i softwaru. Velmi kladně hodnotím i dostupnost při nasazování software, díky které došlo k nasazení software ještě před ukončením bakalářské práce.

Publikační činnost, ocenění

-

Points proposed by supervisor: 98

Grade proposed by supervisor: A

Reviewer’s report
Ing. Jaroslav Dytrych, Ph.D.

Vytvořené řešení splňuje požadavky výzkumné skupiny Dexter@FIT vedené dr. Hynkem a pro toto nasazení bylo řádně otestováno. Součástí řešení je i editor textu ve formátu MDX, jehož využití by mohlo být širší. Řešení je však mimo tento editor navrženo jako jednoúčelové a minimalisticky splňuje nízké nároky skupiny, aniž by bylo připraveno na obecnější nasazení s většími objemy dat. Kvalita technické zprávy je i přes nadprůměrnou volbu literatury nízká a obsahuje velké množství nerelevantních informací. Celkově proto práci hodnotím stupněm C.

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

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

Zadání bylo možné pojmout jako méně obtížné až obtížnější. Student jej dle mého názoru pojal jako méně obtížné a některým obtížnějším částem jako práce s API IS VUT se vyhnul.

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

Technická zpráva sice má logickou strukturu, ale obsahuje velké množství informací, které pro samotné řešení nejsou relevantní. Popis teoretických základů, které jsou pro práci důležité, je naopak povrchní, což bylo následně nutno částečně suplovat v návrhu. Celkově teoretická část práce obsahuje řadu chyb v terminologii a jejím vysvětlení. Místy má student problém s jednotností využívané terminologie. 

Z textu jsem nepochopil, proč student zmiňuje možnost získávání dat přes API, ale vůbec se jí nezabýval a vytvořil Web scraper, který je závislý na konkrétní podobě webu, který je průběžně vyvíjen a lze tak očekávat nutnost častých změn, což je v rozporu s popsaným požadavkem na udržitelnost.

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

V práci je velké množství překlepů, v některých větách zjevně chybí slova a některé formulace dělají práci hůře čitelnou. Často se vyskytuje anglický slovosled v českém textu, a to i v nadpisech. Místy se vyskytují i různé typografické chyby jako mezera před odkazem na poznámku pod čarou, využití nesprávných uvozovek, jednopísmenné spojky a předložky na koncích řádků apod. Některé obrázky nejsou vhodně odkazované z textu. Navíc bych očekával spíše diagramy v UML než ne zcela obvyklý přístup, který je místy hůře pochopitelný (např. obrázek 5.2).

58
Realizační výstup

Realizační výstup představuje jednoduchý informační systém pro výzkumnou skupinu Dexter@FIT vedenou dr. Hynkem. Hlavní přínos práce spatřuji v editoru textu ve formátu MDX s jednoduchým vkládáním různých komponent vč. komplexnějších jako je fotogalerie. S ohledem na optimalizace zátěže serveru v podobě předgenerování výsledných stránek při publikování či změně publikovaného článku je systém provozovatelný i na slabším HW jako je Raspbery Pi. Další přínos je oprimalizace pro vyhledávače, která je v realizačním výstupu ve větším rozsahu než v textu, což by výzkumné skupině mohlo pomoci s publicitou.

78
Využitelnost výsledků

S ohledem na některá řešení, která dle mého názoru nejsou využitelná pro větší rozsah dat, považuji výtvořený systém za jednoúčelový. Řešení je nasaditelné ve výzkumné skupině Dexter@FIT vedené dr. Hynkem, které plně vyhoví. Aby však bylo obecně využitelné, vyžadovalo by to dle mého názoru nemalé úsilí na předělání a doplnění systému.

Editor textu ve formátu MDX by po oddělení z projektu mohl být využitelný i v jiných projektech.

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

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce má 71 normostran, ale s ohledem na relevantnost obsahu je spíše na dolní hranici obvyklého rozmezí.

Práce s literaturou

Student čerpá z knih i elektronických zdrojů, které zahrnují i vědecké články. Vzhledem k zaměření práce výběr literatury považuji za vhodný a nadprůměrný. Student však mohl zpracovanou literaturu lépe promítnout do kvality textu práce.

89
Topics for thesis defence:
  1. Proč se pro ID v jednotlivých tabulkách v databázi využívá datový typ String (viz obr. 6.2)?
Points proposed by reviewer: 72

Grade proposed by reviewer: C

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