Webové prostredie na výuku refaktorizácií

Študent: Samuel Ješík
Názov práce: Webové prostredie na výuku refaktorizácií
Školiteľ: Ing. František Gyarfaš, CSc.
Kontakt na študenta: jesik2@uniba.sk

Zadanie

Refaktorizácia je zlepšovanie programového kódu bez toho, aby sme zmenili jeho funkčnosť. Je potrebné ju robiť po malých krôčikoch, ktoré sa priebežne overujú testmi. Cieľom bakalárskej práce je navrhnúť metodológiu cvičenia refaktorizácií v testmi riadenom prostredí (TDD) a navrhnutie katalógu vzorových úloh (aj s využitím riešení pomocou ChatGPT). Súčasťou práce bude vytvorenie webovej aplikácie, ktorá umožní v prehliadači programovať refaktorizačné cvičenia v jednom, príp. viacerých programovacích jazykoch (napr. C++, Python), spúšťanie refaktorovaného kódu na TDD testoch vo virtuálnom prostredí na serveri, ukladanie všetkých verzií do databázy. Študenti budú mať možnosť si skúšať rôzne typy refaktorizácií (vlastné alebo predpísané zadaním) s možnosťou hodnotenia učiteľom. Webová aplikácia bude vytvorená s použitím nástrojov ako: Python (Django), HTML5, CSS, JavaScript (jQuery), PHP, PostgreSQL.

Denník

20.2.2024 - 26.2.2024 -> Tvorba webovej stránky (Pre predmet), Prepájanie databázy so stránkou (BP), základný design (css) stránky (BP), vytvorenie základného layoutu v Djangu (BP).

26.2.2024 - 4.3.2024 -> Prehodenie z PyCharmu celého projektu do VS Code, menšie zmeny v DB, študovanie ohľadom pridania compileru a sandboxu na bezpečné spúštanie kódu, študovanie pridania text highlighteru.

4.3.2024 - 11.3.2024 -> Stretnutie so zadávateľom práce, prebranie aktuálneho progressu, implementácia highlight editoru, menšie zmeny ohľadom loginu do stránky, menšie zmeny dizajnu, urobená funkcionalita pridávania úloh, urobená funkcionalita zobrazenia úloh a následného zvolenia úlohy, fixnutie zobrazenia stránky len pre prihláseného používateľa.

Obrázky k tomuto týždňu

11.3.2024 - 18.3.2024 -> Malé zmeny na stránke, pokus o implemtáciu sandboxu aj s TDD testami.

18.3.2024 - 25.3.2024 -> Implementovanie sandboxu pomocou docker kontaineru. Upravenie login a register stránky.

Obrázky k tomuto týždňu

25.3.2024 - 1.4.2024 -> Dizajnové zmeny stránky, vytvorenie loga pre aplikáciu, pokusy o spúšťanie python kódu v sandboxe spolu s testami.

Obrázky k tomuto týždňu

1.4.2024 - 8.4.2024 -> Takmer finálne rozdelenie stránky, funkčné a takmer hotové implementovaná hlavná časť aplikácie, sandbox + kompiler + testovanie na unittestoch. Stretnutie so zadávateľom prebranie progressu, dohodnuté začatie písanie práce. Pridáne ukladanie riešenia do databázy, pridaný RUN button na skompilovanie kódu bezpečne + zobrazenie výsledkov komplácie a zobrazenie výsledkov testov.

Obrázky k tomuto týždňu

8.4.2024 - 15.4.2024 -> Upravená funkcionalita zobrazenia výsledkov testov podľa požiadavok zadávatela, pridanie ukladania každého zbehnutia po stlačení buttona run teda zapamätanie kódu + zbehnutia kódu + zbehnutia testov + output testov a k tomu zobrazenie týchto dát podľa požiadavok zadávateľa. Zmena fontu celej stránky na krajší "programátorský".

Obrázky k tomuto týždňu

15.4.2024 - 22.4.2024 -> Pridaná funkcionalita pre admina hodnotiť jednotlivé odovzdané zadania študentov, pridané sweet alerts na oboznámenie uživatela o úspechu či neúspechu. Zobrazenie toho, že študent dostal hodnotenie k zadaniu. Pridané zabezpečenie admin funkcii pre obyčajných userov.

Obrázky k tomuto týždňu

22.4.2024 - 29.4.2024 -> TODO

Zdroje

TODO

Text práce

TODO

Zdrojové súbory práce

TODO

Prezentácie

Prezentácia č.1 Plán a postup práce

Prezentácia č.2 PREDVEDENIE PROTOTYPU

DONE 16.4.2024

Prezentácia č.3 tréningová obhajoba práce

TODO