4.3 KiB
Budget Tracker Cloud Application
URL aplikácie
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:
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