5. týždeň / 1. semester
- Dátum
- 29.10.2024, 09:00
- Umiestnenie:
- Slovenská Technická Univerzita v Bratislave, Fakulta Elektrotechniky a Informatiky
- Miestnosť:
- C517 (C Blok, 5. poschodie)
- Účastníci:
- Bc. Bence Both
- Bc. Matyas Horvath
- Bc. Jozef Nyitrai
- Bc. Aron Tükör
- Bc. Vincent Pálfy
- Vedúci:
- Ing. Stanislav Marochok
Bod programu č. 1: Analýza žiadostí a zjednodušenie vývoja webovej aplikácie
Počas konzultácií sme podrobne analyzovali a diskutovali o žiadostiach súvisiacich s projektom. Venovali sme sa spôsobom používania webovej aplikácie, možnostiam pre používateľov a detailom spracovania obrázkov. Dôležitým záverom bolo potvrdenie, že implementácia modulov na spracovanie obrazu a šifrovanie textov nie je súčasťou tohto projektu. Naším cieľom je vytvoriť webovú aplikáciu, ktorá umožní jednoduchú integráciu týchto modulov v budúcnosti, čím poskytujeme rámec pre celý proces.
Zároveň sme sa zaoberali tým, ako čo najjednoduchšie a efektívne zvládnuť proces vývoja. Doteraz sme na správu verzií používali nástroj Git a na lokálne spúšťanie aplikácie sme využívali server XAMPP na jednotlivých počítačoch. Na zjednodušenie týchto krokov bolo nutné vytvoriť centrálny server, čo sa stalo našou hlavnou úlohou na tento týždeň. Podrobnosti o vytvorení servera sú uvedené v nasledujúcej kapitole.
Bod programu č. 2: Zjednodušenie vývoja webovej aplikácie a nastavenie aplikácie na online prevádzku
Aby sme zabezpečili, že webová aplikácia osloví čo najviac ľudí a získala popularitu, bolo potrebné ju spustiť v online priestore. Na tento účel sme využili podobné riešenie ako pri serveri na správu zápisníc. Na spustenie aplikácie sme potrebovali server s nástrojmi, ako sú Apache, MariaDB, PhpMyAdmin a PHP, teda LAMP server. XAMPP nám poskytuje tento typ servera, avšak v predvolenom nastavení je dostupný len lokálne.
Prvou úlohou bolo spustiť XAMPP na online serveri. Po úspešnom nasadení v našej lokálnej sieti spolu s webovou aplikáciou sme museli prepnúť aplikáciu do online režimu. Na tento účel sme namiesto presmerovania portov využili platformu Cloudflare.
Cloudflare poskytuje služby na zlepšenie zabezpečenia a výkonu webových aplikácií a riadi prenos dát cez svoje servery, čím zabezpečuje dostupnosť a ochranu pred kybernetickými hrozbami, ako sú DDoS útoky. Ponúka jednoduchú správu DNS, čo zvyšuje dostupnosť aplikácie pre používateľov z rôznych regiónov. Na zabezpečený prístup k serveru bez potreby presmerovania portov sme použili Cloudflare Zero Trust Tunnel, čím sme minimalizovali riziká spojené s verejnou expozíciou servera.
Použitie Cloudflare bolo nevyhnutné, pretože server sa nachádza v oblasti s obmedzenou globálnou sieťou a pripojením len k lokálnej sieti WAN. Pripojením servera cez jediný prístupový kanál sme prekonali tieto obmedzenia a zabezpečili stabilný prenos dát.
Pre tento projekt sme získali doménu od Name.com, čo nám umožnilo správnu konfiguráciu DNS záznamov a profesionálny vzhľad aplikácie. Integrácia domény s Cloudflare zjednodušila správu DNS a umožnila implementáciu SSL/TLS šifrovania, čím sme zaistili bezpečnú komunikáciu medzi používateľmi a serverom.

Toto riešenie prinieslo aj ďalšie výhody, ako sú ochrana proti DDoS útokom a optimalizácia rýchlosti načítania stránky vďaka globálnej sieti serverov Cloudflare. Nastavenie pravidiel firewallu zvýšilo bezpečnosť a povolilo len dôveryhodný prístup k serveru. Tieto kroky umožnili spustiť aplikáciu v online režime so spoľahlivou ochranou, dostupnosťou a modernou bezpečnostnou infraštruktúrou.
V rámci servera má každý používateľ samostatný priečinok pre vývojárov, kde môže testovať svoje vlastné nápady. Keď je používateľ presvedčený, že jeho riešenie je pripravené, môže ho nahrať na server Git, odkiaľ sa zmeny automaticky sťahujú na hlavnú stránku pomocou autopull. Odkaz na vlastný priečinok pre vývojárov je https://test.tptimovyprojekt.software/xpalfy/ a odkaz na hlavnú stránku je https://test.tptimovyprojekt.software/tp_timovy_projekt/.

Tento systém umožňuje vývojárom nezávislé testovanie a vývoj nových funkcií s kontrolou nad svojimi prácami až do ich integrácie do hlavnej aplikácie.
