# Sledovač výdavkov Web App na Azure Toto je webová aplikácia na sledovanie výdavkov, nasadená v cloude Azure s využitím kontajnerizácie a spravovaných služieb. ## Popis aplikácie Sledovač výdavkov je plnohodnotná webová aplikácia na správu osobných financií, ktorá umožňuje: - Pridávať, odstraňovať a upravovať finančné transakcie - Prezerať históriu transakcií - Sledovať výdavky podľa kategórií ## Architektúra riešenia Aplikácia pozostáva z nasledujúcich komponentov: 1. **Frontend**: React aplikácia nasadená v Azure Container Apps - Vyvinutá pomocou React, TypeScript a Vite - Poskytuje používateľské rozhranie na správu finančných transakcií 2. **Backend API**: Node.js/Express API nasadené v Azure Container Apps - Poskytuje RESTful API na prácu s transakciami - Komunikuje s MongoDB databázou 3. **Databáza**: Azure Cosmos DB s MongoDB API - Zabezpečuje trvalé ukladanie údajov - Využíva MongoDB API pre kompatibilitu s existujúcim kódom ## Použité služby Azure - **Azure Container Apps**: Na nasadenie Frontend a Backend aplikácií ako kontajnerov - **Azure Container Registry**: Na ukladanie a správu kontajnerových obrazov - **Azure Cosmos DB**: Na ukladanie údajov s využitím MongoDB API - **Azure Managed Certificates**: Na zabezpečenie HTTPS prístupu s platným certifikátom ## Popis súborov riešenia - `prepare-app.sh`: Skript na prípravu a nasadenie aplikácie v Azure - Vytvára skupinu zdrojov - Vytvára a konfiguruje Azure Container Registry - Vytvára databázu Azure Cosmos DB s MongoDB API - Zostavuje a nahráva Docker obrazy - Vytvára a konfiguruje Container Apps pre Frontend a Backend - Nastavuje HTTPS - `remove-app.sh`: Skript na odstránenie všetkých vytvorených zdrojov z Azure - Úplne odstraňuje celú skupinu zdrojov - Zabezpečuje čisté odstránenie bez zvyškových zdrojov - `Frontend/` a `Backend/`: Adresáre so zdrojovým kódom aplikácie - Obsahujú Dockerfile pre kontajnerizáciu - Sú nakonfigurované na prácu v cloudovom prostredí ## Pokyny na použitie ### Predpoklady 1. Nainštalované a nakonfigurované Azure CLI 2. Účet v Microsoft Azure s dostatočnými právami 3. Lokálne nainštalovaný Docker ### Nasadenie aplikácie 1. Prihláste sa do Azure CLI: ``` az login ``` 2. Spustite skript prípravy: ``` chmod +x prepare-app.sh ./prepare-app.sh ``` 3. Po úspešnom nasadení dostanete URL adresy na prístup k frontendu a backendu. ### Používanie aplikácie 1. Prejdite na URL adresu frontendu, uvedenú vo výstupe skriptu prepare-app.sh 2. Začnite pridávať, upravovať a sledovať svoje finančné transakcie ### Odstránenie aplikácie Pre úplné odstránenie všetkých vytvorených zdrojov vykonajte: ``` chmod +x remove-app.sh ./remove-app.sh ``` ## Technické detaily - **Automatický reštart**: Kontajnery sú nakonfigurované na automatický reštart pri zlyhaní - **Škálovanie**: Nakonfigurované automatické škálovanie od 1 do 3 replík - **Trvalé ukladanie**: Údaje sú uložené v Azure Cosmos DB - **Bezpečnosť**: Všetky spojenia sú zabezpečené HTTPS s platným certifikátom ## Zoznam externých zdrojov a použitie generatívneho modelu - **Azure Blog** - https://azure.microsoft.com/blog/ - **React Blog** - https://reactjs.org/blog/ - **Node.js Blog** - https://nodejs.org/en/blog/ - **claude-3.7-sonnet**