zkt25/sk1/README.md

102 lines
3.4 KiB
Markdown

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