# 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 --- # 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 ---