Aktualizovat z1/README.md

This commit is contained in:
Tetiana Mohorian 2025-03-18 20:31:40 +00:00
parent e625e0ae55
commit 6f04ff996c

View File

@ -1,116 +1,116 @@
#Dokumentácia k nasadeniu webovej aplikácie # Dokumentácia k nasadeniu webovej aplikácie
##Podmienky na nasadenie a spustenie ## Podmienky na nasadenie a spustenie
Na správne nasadenie a spustenie aplikácie je potrebné mať nainštalovaný nasledujúci softvér: Na správne nasadenie a spustenie aplikácie je potrebné mať nainštalovaný nasledujúci softvér:
- Operačný systém: Linux (testované na Ubuntu, ale môže fungovať aj na iných distribúciách) - Operačný systém: Linux (testované na Ubuntu, ale môže fungovať aj na iných distribúciách)
- Docker: Nástroj na kontajnerizáciu aplikácií (stiahnuť Docker) - Docker: Nástroj na kontajnerizáciu aplikácií (stiahnuť Docker)
- Docker Compose: Nástroj na orchestráciu viacerých kontajnerov (stiahnuť Docker Compose) - Docker Compose: Nástroj na orchestráciu viacerých kontajnerov (stiahnuť Docker Compose)
Odporúčame overiť správnu inštaláciu spustením príkazov: Odporúčame overiť správnu inštaláciu spustením príkazov:
docker --version docker --version
docker-compose --version docker-compose --version
Opis aplikácie Opis aplikácie
Táto aplikácia je jednoduchý webový systém, ktorý obsahuje frontendovú a backendovú časť: Táto aplikácia je jednoduchý webový systém, ktorý obsahuje frontendovú a backendovú časť:
Frontend: React aplikácia, ktorá poskytuje webové rozhranie pre používateľov. Frontend: React aplikácia, ktorá poskytuje webové rozhranie pre používateľov.
Backend: API server napísaný v Pythone (FastAPI alebo Flask), ktorý spracováva požiadavky od frontendu. Backend: API server napísaný v Pythone (FastAPI alebo Flask), ktorý spracováva požiadavky od frontendu.
Aplikácia umožňuje používateľom interakciu cez webový prehliadač, pričom backend spracováva požiadavky a odosiela odpovede. Systém je navrhnutý tak, aby bol jednoduchý na nasadenie pomocou Dockeru. Aplikácia umožňuje používateľom interakciu cez webový prehliadač, pričom backend spracováva požiadavky a odosiela odpovede. Systém je navrhnutý tak, aby bol jednoduchý na nasadenie pomocou Dockeru.
Používané virtuálne siete a zväzky Používané virtuálne siete a zväzky
Aplikácia využíva Docker Compose na vytvorenie izolovanej siete a spravovanie dát. Aplikácia využíva Docker Compose na vytvorenie izolovanej siete a spravovanie dát.
Virtuálna sieť: Docker Compose automaticky vytvorí vlastnú sieť, ktorá zabezpečuje komunikáciu medzi frontendom a backendom. Virtuálna sieť: Docker Compose automaticky vytvorí vlastnú sieť, ktorá zabezpečuje komunikáciu medzi frontendom a backendom.
Pomenované zväzky: Použité na ukladanie perzistentných dát v prípade potreby, napríklad ak by aplikácia mala databázu alebo logy. Pomenované zväzky: Použité na ukladanie perzistentných dát v prípade potreby, napríklad ak by aplikácia mala databázu alebo logy.
Konfigurácia kontajnerov Konfigurácia kontajnerov
Aplikácia sa skladá z dvoch kontajnerov: Aplikácia sa skladá z dvoch kontajnerov:
Frontend: Frontend:
Port: 5174:5174 Port: 5174:5174
Závislosť: backend (musí byť dostupný pre správne fungovanie frontendu) Závislosť: backend (musí byť dostupný pre správne fungovanie frontendu)
Automatické reštartovanie: always (zabezpečí opätovné spustenie v prípade výpadku) Automatické reštartovanie: always (zabezpečí opätovné spustenie v prípade výpadku)
Vytvára sa zo súborov v priečinku frontend/ Vytvára sa zo súborov v priečinku frontend/
Backend: Backend:
Port: 5000:5000 Port: 5000:5000
Automatické reštartovanie: always Automatické reštartovanie: always
Obsahuje hlavné API aplikácie a spracováva požiadavky od frontendu Obsahuje hlavné API aplikácie a spracováva požiadavky od frontendu
Vytvára sa zo súborov v priečinku backend/ Vytvára sa zo súborov v priečinku backend/
Používané kontajnery Používané kontajnery
V aplikácii sú použité tieto kontajnery: V aplikácii sú použité tieto kontajnery:
Frontend: Frontend:
Technológia: React Technológia: React
Poskytuje webové rozhranie aplikácie Poskytuje webové rozhranie aplikácie
Beží na porte 5174 Beží na porte 5174
Backend: Backend:
Technológia: Python (FastAPI/Flask) Technológia: Python (FastAPI/Flask)
Spracováva požiadavky z frontendu Spracováva požiadavky z frontendu
Beží na porte 5000 Beží na porte 5000
Príručka pre nasadenie Príručka pre nasadenie
Na nasadenie aplikácie postupujte podľa nasledujúcich krokov: Na nasadenie aplikácie postupujte podľa nasledujúcich krokov:
Príprava aplikácie: Príprava aplikácie:
./prepare-app.sh ./prepare-app.sh
Tento krok vytvorí potrebné Docker obrazy a pripraví aplikáciu na spustenie. Tento krok vytvorí potrebné Docker obrazy a pripraví aplikáciu na spustenie.
Spustenie aplikácie: Spustenie aplikácie:
./start-app.sh ./start-app.sh
Po spustení bude aplikácia dostupná na http://localhost:5174 Po spustení bude aplikácia dostupná na http://localhost:5174
Pozastavenie aplikácie: Pozastavenie aplikácie:
./stop-app.sh ./stop-app.sh
Tento príkaz zastaví všetky bežiace kontajnery bez ich odstránenia. Tento príkaz zastaví všetky bežiace kontajnery bez ich odstránenia.
Odstránenie aplikácie: Odstránenie aplikácie:
./remove-app.sh ./remove-app.sh
Tento príkaz odstráni všetky vytvorené kontajnery a ich dáta. Tento príkaz odstráni všetky vytvorené kontajnery a ich dáta.
Príklad použitia Príklad použitia
Po spustení aplikácie otvorte webový prehliadač a prejdite na http://localhost:5174. Na stránke by sa mala zobraziť webová aplikácia, ktorá komunikuje s backendom. Po spustení aplikácie otvorte webový prehliadač a prejdite na http://localhost:5174. Na stránke by sa mala zobraziť webová aplikácia, ktorá komunikuje s backendom.
Ak backend správne funguje, môžete skúsiť odoslať požiadavku cez terminál: Ak backend správne funguje, môžete skúsiť odoslať požiadavku cez terminál:
curl -X POST http://localhost:5000/api/predict -H "Content-Type: application/json" -d '{"input": "some_data"}' curl -X POST http://localhost:5000/api/predict -H "Content-Type: application/json" -d '{"input": "some_data"}'
Tento príkaz by mal vrátiť odpoveď z backendu, čo znamená, že komunikácia medzi frontendom a backendom je funkčná. Tento príkaz by mal vrátiť odpoveď z backendu, čo znamená, že komunikácia medzi frontendom a backendom je funkčná.