zkt26/z1/README.md
Bohdan Kapliuk 2718263509 message
2026-04-08 12:36:10 +03:00

101 lines
2.4 KiB
Markdown

# 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:
```bash
cd z1
```
Spustenie aplikacie:
```bash
./start-app.sh
```
Zastavenie aplikacie:
```bash
./stop-app.sh
```
Alternativne je mozne aplikaciu spustit aj priamo cez Docker Compose:
```bash
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.