zkt26/sk1/README.md
2026-05-19 20:28:07 +00:00

282 lines
4.3 KiB
Markdown

# Budget Tracker Cloud Application
## URL aplikácie
https://budgettomas.dedyn.io
---
# O aplikácii
Budget Tracker je webová aplikácia na správu príjmov a výdavkov.
Funkcie:
* pridávanie transakcií
* mazanie transakcií
* výpočet zostatku
* zobrazenie príjmov a výdavkov
* zabezpečené HTTPS pripojenie
---
# Použité technológie
* React frontend
* Node.js Express backend
* PostgreSQL databáza
* nginx reverse proxy
* Docker Compose
* Oracle Cloud Infrastructure
* Let's Encrypt HTTPS
---
# Kontajnery
Aplikácia používa 4 kontajnery:
* frontend
* backend
* postgres
* nginx
---
# Nasadenie aplikácie
Spustenie aplikácie:
./prepare-app.sh
Zastavenie a odstránenie aplikácie:
./remove-app.sh
---
# Záloha databázy
Vytvorenie zálohy databázy:
./backup.sh
Súbor zálohy:
backups/backup.sql
---
# Environment premenné
Citlivé údaje sú uložené v:
.env
Súbor .env je ignorovaný pomocou .gitignore.
---
# HTTPS
Aplikácia používa:
* nginx reverse proxy
* Let's Encrypt SSL certifikát
---
# Logy
Zobrazenie nginx logov:
docker logs budget_nginx
alebo:
docker exec -it budget_nginx cat /var/log/nginx/access.log
---
# Trvalé úložisko
Databáza používa Docker volume:
postgres_data:
---
# Automatický reštart
Kontajnery používajú:
restart: always
---
# Cloud infraštruktúra
Aplikácia je nasadená na Oracle Cloud Infrastructure pomocou Ubuntu Servera a Docker Compose.
---
# Externé zdroje
* Docker dokumentácia
* nginx dokumentácia
* PostgreSQL dokumentácia
* Oracle Cloud dokumentácia
* React dokumentácia
* Express.js dokumentácia
* Let's Encrypt dokumentácia
---
# Analýza nákladov
Predpoklady:
* 1000 používateľov denne
* databáza alebo súbory veľkosti 50 GB
Použité cloudové zdroje:
| Zdroj | Cena | Fakturácia |
| ----------------------- | ------------- | ---------- |
| Oracle Cloud Compute VM | 0 € | mesačne |
| 50 GB storage | približne 5 € | mesačne |
| Verejná IP adresa | 0 € | mesačne |
| HTTPS certifikát | 0 € | ročne |
| DNS služba | 0 € | mesačne |
Odhad ročných nákladov:
| Položka | Cena |
| ---------------- | -------------------- |
| Compute VM | 0 € |
| Storage | približne 60 € ročne |
| HTTPS certifikát | 0 € |
| DNS | 0 € |
| Spolu | približne 60 € ročne |
---
# Opis súborov
| Súbor | Obsah |
| ------------------- | -------------------------------- |
| docker-compose.yaml | konfigurácia Docker kontajnerov |
| nginx/default.conf | nginx reverse proxy konfigurácia |
| backend/server.js | backend API |
| backend/db.js | pripojenie na databázu |
| frontend/src/App.js | React frontend |
| backup.sh | vytvorenie databázovej zálohy |
| prepare-app.sh | spustenie aplikácie |
| remove-app.sh | odstránenie aplikácie |
| .env | environment premenné |
| README.md | dokumentácia projektu |
---
# Stručný opis konfigurácie
Projekt používa Docker Compose na správu kontajnerov.
nginx slúži ako reverse proxy a zabezpečuje HTTPS komunikáciu.
Backend pomocou Node.js Express a komunikuje s PostgreSQL databázou.
Frontend je vytvorený v Reacte.
---
# Návod na použitie aplikácie
Aplikáciu je možné otvoriť vo webovom prehliadači:
https://budgettomas.dedyn.io
Používateľ môže pridávať a mazať transakcie a sledovať zostatok.
---
# Návod na vykonanie zálohy
Spustenie backup scriptu:
./backup.sh
Výsledný backup sa uloží do:
backups/backup.sql
---
# Návod na zobrazenie logov
Zobrazenie nginx logov:
docker logs budget_nginx
alebo:
docker exec -it budget_nginx cat /var/log/nginx/access.log
---
# Podmienky spustenia scriptov
## prepare-app.sh
Podmienky:
* nainštalovaný Docker
* nainštalovaný Docker Compose
* Linux systém
* dostupný internet
* existujúci súbor .env
Spustenie:
./prepare-app.sh
---
## remove-app.sh
Podmienky:
* existujúce Docker kontajnery
* spustený Docker daemon
Spustenie:
./remove-app.sh
---