zkt26/z1
Bohdan Kapliuk 2718263509 message
2026-04-08 12:36:10 +03:00
..
backend kapliuk 2026-03-24 19:47:13 +02:00
frontend kapliuk 2026-03-24 19:47:13 +02:00
docker-compose.yaml kapliuk 2026-03-24 19:47:13 +02:00
prepare-app.sh message 2026-04-08 12:36:10 +03:00
README.md message 2026-04-08 12:36:10 +03:00
remove-app.sh message 2026-04-08 12:36:10 +03:00
start-app.sh message 2026-04-08 12:36:10 +03:00
stop-app.sh message 2026-04-08 12:36:10 +03:00

Zadanie 1

Opis aplikacie

Tato aplikacia je jednoducha webova aplikacia nasadena pomocou Docker Compose. Umoznuje zapisat meno cez webove rozhranie do databazy PostgreSQL a nasledne zobrazit zoznam ulozenych zaznamov. Aplikacia obsahuje frontend, backend, databazu a webove rozhranie Adminer na pracu s databazou.

Potrebny software

  • Linux
  • Docker
  • Docker Compose plugin (docker compose)

Pouzite kontajnery

  • nginx:latest - webovy server pre staticke subory frontendu
  • node:18 - backend aplikacie postaveny zo suboru backend/Dockerfile
  • postgres:15 - relacna databaza PostgreSQL
  • adminer - webove rozhranie na pracu s databazou

Siete a zvazky

Docker Compose vytvori predvolenu virtualnu siet, v ktorej spolu komunikujú sluzby:

  • web
  • backend
  • db
  • adminer

Pouzity pomenovany trvaly zvazok:

  • db_data - uklada databazove data PostgreSQL, aby zostali zachovane aj po zastaveni aplikacie

Konfiguracia kontajnerov

  • web bezi v kontajneri s Nginx a spristupnuje frontend na porte 8080
  • backend bezi v Node.js kontajneri a je dostupny na porte 5000
  • db bezi ako PostgreSQL databaza s premennymi POSTGRES_USER, POSTGRES_PASSWORD a POSTGRES_DB
  • adminer je dostupny na porte 8081
  • vsetky sluzby maju nastavene restart: always
  • backend zavisi od databazy a Adminer zavisi od databazy

Navod na pouzitie

Priecinok projektu:

cd z1

Spustenie aplikacie:

./start-app.sh

Zastavenie aplikacie:

./stop-app.sh

Alternativne je mozne aplikaciu spustit aj priamo cez Docker Compose:

docker compose up -d

Pristup cez webovy prehliadac

  • Hlavna aplikacia: http://localhost:8080
  • Backend API: http://localhost:5000
  • Adminer: http://localhost:8081

Prihlasovacie udaje do PostgreSQL:

  • system: PostgreSQL
  • server: db
  • username: user
  • password: password
  • database: mydb

Priklad prace s aplikaciou

  1. Otvorte http://localhost:8080
  2. Zadajte meno do formulara
  3. Kliknite na tlacidlo Save & Show
  4. Udaj sa ulozi do databazy a zobrazi v zozname

Zdroje

  • Docker dokumentacia
  • Docker Compose dokumentacia
  • Nginx oficialny image na Docker Hub
  • Node.js oficialny image na Docker Hub
  • PostgreSQL oficialny image na Docker Hub
  • Adminer oficialny image na Docker Hub

Pouzitie umelej inteligencie

Pri priprave dokumentacie a pomocnych skriptov bola pouzita umele inteligencia vo forme AI agenta Codex.