102 lines
3.4 KiB
Markdown
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**
|