Bakalárska práca

Systém pre správu litostratigrafických dát.

Litostratigrafické dáta popisujú zloženie geografických formácií. V súčasnosti neexistuje centrálna databáza litostratigrafických dát pre Slovensko. Dáta sú distribuované v množstve publikácii.

notebook screen

Autor: Richard Dominik

Školiteľ: Ing. Alexander Šimko PhD.

Konzultant: doc. Mgr. Natália Hlavatá Hudáčková, PhD.

Cieľ

Cieľom práce je vytvoriť webovú viacpoužívateľskú aplikáciu na správu litostratigrafických dát podľa požiadaviek Katedry geológie a paleontológie PRIF UK. Hlavnými funkciami aplikácie budú: správa dát o geografických formáciách a podformáciách, ich profiloch, materiáloch, relevantných publikáciách a pod., potvrdzovanie zmien schvaľovateľom, vyhľadávanie dát a export dát do pdf formátu. Funkcie aplikácie budú používateľom sprístupnené na základe používateľských rolí.

Východiská

Obhajoba a text práce

Zdroje

Prezentácia zdrojov 26.11.2019

Laravel

( Taylor Otwell )

Vue.js

( Evan You )

Craftable

( BRACKETS by Triad )

Database Systems: The Complete Book

( Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom )

Fundamentals of Relational Database Management Systems

( Sumathi, S., Esakkirajan, S. )

Hlavné kapitoly

  1. Úvod
  2. Základné pojmy a požiadavky aplikácie
  3. Výber technológií
  4. Aplikácia z pohľadu používateľa
  5. Technický pohľad na aplikáciu
  6. Záver

Existujúce riešenia

Harmonogram práce

Október

  • - Wireframy formulárov.
  • - Overenie správnosti dátoveho modelu.
  • - Štúdium technológií a existujúcich riešení

December

  • - Importovanie dát z Excelu.
  • - Schvaľovanie zmien administrátorom.
  • - Wireframe pre frontend aplíkacie.
  • - Export dát do PDF.

Január/Február

  • - Prototyp backendu a administrácia.
  • - Začiatok práce na frontende.
  • - Začiatok písania dokumentu.

Apríl

  • - Frontend aplikácie.
  • - Dokončenie textu bakalárskej práce.
  • - Finálne testovanie aplíkacie.
  • - Zapracovanie pripomienok.

Máj

  • - Finálna verzia bakalárskej práce.
  • - Prezentácia.

Plán a postup práce

Denník

Zimný semester

1.10.2019 - 13.10.2019

Overenie spávnosti dátoveho modelu pomocou prototypu aplíkacie. Návrh riešenia pre importovania litostratografického grafu pomocou Excelu a návrh wireframov pre formuláre v aplikácií. Prezentačný web o bakalárskej práci

14.10.2019 - 23.10.2019

Rozvrhnutie harmonogramu práce a hlavných kapitol práce. Návrh hlavného formulára pre pridávanie formácii a opätovné testovanie novej verzie dát do databázy. Konfigurácia testovacieho servera.

23.10.2019 - 30.10.2019

Oprava hlavných kapitol práce po konzultácii so školiteľom a začiatok práce na administrátorskej časti aplikácie pomocou Craftable 5 a Dockeru. Pokračovanie v návrhu formuláru pre pridávanie a editovanie formácii. Štúdium implementácie schvaľovanie zmien hlavným administrátorom.

30.10.2019 - 6.11.2019

Importovanie intervalov z Excelu a štúdium literátury o aplikačných databázových transakciách a o uchovávaní viacerých verzií dát v relačných databázach. Dokončenie návrhu implementácie schvaľovania zmien hlavným administrátorom. Návrh vyhľadávacieho formulára pre frontend.

6.11.2019 - 13.11.2019

Stretnutie na PRIFUK a prekonzultovanie formulárov pre pridávanie a editovanie formácii. Špecifikácia používateľkých rolí. Došpecifikovanie požiadaviek pre systém a dátový model.

13.11.2019 - 20.11.2019

Úprava dátového modelu podľa nových požiadaviek zo stretnutia na PRIFUK.

20.11.2019 - 27.11.2019

Prezentácia zdrojov, úprava dátového modelu a príprava prezentácie a abstraktu na predvianočný seminár PRIFUK.

27.11.2019 - 11.12.2019

Implementácia aplikácie (migrácie, rozpracované CRUD operácie, formulár pre pridávanie formácií).

Letný semester

18.02.2020 - 25.02.2020

Návrh frontendu pre detail formácie. Pridané používateľské role a právomoci pre "Reviewer", "Creator", scopes pre formácie a jej vzťahy (listing dát, frontend, formuláre), verziovanie referenčných a typových profilov. Vylepšené vyhľadávanie formácii na frontende (podľa anglického názvu, iného názvu, geologických jednotiek). Refaktorovanie verziovania dát v aplikácii.

25.02.2020 - 03.03.2020

Pridanie databázového seedera pre Fosílie, Litotypy, Metódy merania, Oblasti, Publikácie, Geologické jednotky, Používateľou. Zapracovanie dizajnu pre detail formácii podľa návrhu a pridanie ilustrácii z undraw.co. Vykreslovanie geografickej pozície profilov za pomoci knižnice Leaftlet v administrácii aj na frontende. Pridanie stĺpca created_by_admin_user_id pri meraniach veku a profiloch. Pridaná História autorov v administrácii formácii.

03.03.2020 - 10.03.2020

Frontendové vyhľadávanie pre výrazy, ktoré su dlhšie ako 3 znaky a vylepšené vyhľadávanie v iných názov formácii. Vyriešený problém pri zobarazovaní bodov v knižnici Leaftlet pre Vue.js. Redizajn formulárov v administrácii pre akcie "show" a "review". Refaktorizácia kódu. Pridanie stĺpcov edited_at a edited_by_admin_user_id v databábaze pre formácie za účelom aplikačných transakcii, ktoré su rozpracované.

10.03.2020 - 17.03.2020

Pridanie show akcie pre všetky dáta v administrácii. Vylepšenie zamykania dát pre formácie, profily a merania veku (nové pravidlá, pridána vyššia úroveň pre databázové transakcie). Vytvorenie testovacej verzie aplikácie pre PRIFUK. Pridané stránkovanie pre výsledky na frontende a pridaná warning hláška ak zadaným kritériam nevyhovuje žiadna formácia. Pridané zakladné filtrovanie v listingu formácii. Refaktorizácia a optimalizácia aplikácie.

17.03.2020 - 24.03.2020

Zmena hlášky upozornenia pri frontendovom vyhľadávaní ak žiadne formácie nezodpovedajú zadaným kritériam používateľa. Odstánenie tabuľky pre časové ekvivalenty (po vyjadrení PRIFUK sa to zapracuje ako databázový pohľad). Pridané pokročilé filtrovanie pri listingu formácii (napríklad podľa publikácií). Pridaný PDF export formácii. Refaktorizácia service pre formácie. Slug pre formácie (aby frontendový používatelia nevideli v url adrese id formácie, ale slug, ktorý si vedia prípadne aj lepšie zapamätať). Príprava prezentácie s názvom "Plán a postup práce" .

24.03.2020 - 31.03.2020

Zobrazovanie ID stĺpca v listingu pre formácie iba v lokálnom prostredi (APP_ENV=local). Pridanie fosilií do pokročilého filtrovanie v listingu formácii. Frontendove vyhľadávanie pomocou databázovej funkcie UNACCENT (aj migrácia pre vytvorenie tejto extension). Vlastné vynímky pre zamykanie formácii a pre frontendove vyhľadávanie. Pridané databázové indexy. Návrh kapitol a podkapitol pre text bakalárskej práce. Vylepšenie PDF exportu : Dáta formácii sa exportuju ako zip súbor s pdf súbormi podľa množstva exportovaných dát (doležité pri exportoch s veľkým objemom dát).

31.03.2020 - 07.04.2020

Zobrazovanie ID stĺpcou iba v lokálnom prostredi (APP_ENV=local). Zmena prekladov v aplikácii podľa feedbacku z PRIFUK. Vytvorený command na mazanie export súborov, ktorý sa spúšta pomocou cronu každú polnoc. Pridaný databázový seeder pre všetky dáta a tabuľky (manuálne pretestovanie aplikácie na väčšej množine dát). Pridané jednotkové testy pre formácie (listing, review listing, show) pre všetky používateľské role. Štúdium materiálov pre prehľad o stratigrafii a litostratigrafii.

07.04.2020 - 14.04.2020

Vylepšený databázový seeder (rodičovské formácie, iné názvy formácii, referenčné profily). Pridané jednotkové testy pre formácie (duplikovanie, zamykanie, editovanie, vytváranie, mazanie, recenzovanie), profily (listing, mazanie, vytváranie), merania veku (listing, mazanie, vytváranie), intervaly (listing, show, editovanie) , používateľov (vytváranie, editovanie, listing) pre všetky používateľské role. Bugfixy, ktoré odhalili jednotkové testy. Refaktorizácia (odstránené magické konštanty a chybové hlášky v prekladači). Začiatok písanie bakalárske práce (kapitola Úvod do problematiky a požiadaviek aplikácie).

14.04.2020 - 21.04.2020

Vyriešený problém s databázovými transakciami a testami. Pridané jednotkové testy pre duplikovanie profilov a metód určovania veku. Refaktorizácia jednotkových testov. Drobné fixy odhalené jednotkovými testami pri duplikovaní. Písanie bakalárske práce (kapitola Úvod do problematiky a požiadaviek aplikácie premenovaná na Základné pojmy a požiadavky aplikácie + zapracovanie pripomienok od školiteľa, pridané kapitoly Analýza technológii a Aplikácia z pohľadu používateľa). Vylepšený príkaz pre mazanie export súborov (mažú sa súbory, ktoré sú staršie ako pol dňa).

21.04.2020 - 28.04.2020

Drobné fixy a presunutie kódu do vetvy master na githube. Zapracovanie pripomienok od školitela k textu bakalárskej práce (pridané podobného riešenia a jeho analýza, citácie ...). Upravené definície stratigrafie a litostratigrafie na základe feedbacku od konzultantky. Písanie kapitoly Technický pohľad aplikácie.

28.04.2020 - 05.05.2020

Preusporiadanie informácii v detaile formácii a korektúra prekladov na základe pripomienok z PRIFUK. Zapracovanie pripomienok k textu (kapitoly 1,2,3). Pridanie entitno relačného modelu a transformovaného relačného modelu pomocou nástroja TikZ-UML do textu bakalárskej práce.

05.05.2020 - 12.05.2020

Zapracovanie pripomienok k textu (kapitola 3). Pridanie komponentových diagramov do implementačnej časti práce, úprava a pokračovanie v písani tejto kapitoly práce. Príprava prezentácie prototypu na predmet bakalársky seminár.