Přidat z2/README.md
This commit is contained in:
parent
dedfbc8343
commit
7513232859
105
z2/README.md
Normal file
105
z2/README.md
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
# 📚 Hate Speech Bot – Dokumentácia
|
||||||
|
|
||||||
|
## 🔍 Opis aplikácie
|
||||||
|
|
||||||
|
Ide o kompletný systém na detekciu nenávistných správ v prostredí Telegramu. Obsahuje Telegram bota, ktorý analyzuje správy, zaznamenáva porušenia do databázy MySQL, a webovú aplikáciu (Flask), ktorá tieto dáta zobrazuje v reálnom čase. Webová stránka sa automaticky aktualizuje každých 5 sekúnd a zobrazí najnovších porušovateľov.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Zoznam použitých kontajnerov
|
||||||
|
|
||||||
|
| Kontajner | Popis |
|
||||||
|
|--------------------------------------|-------|
|
||||||
|
| `tetianamohorian/hate-speech-bot` | Obsahuje Telegram bota a Flask webovú aplikáciu v jednom kontajneri. |
|
||||||
|
| `mysql:8` | Databázový server pre ukladanie porušení. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ☸️ Zoznam Kubernetes objektov
|
||||||
|
|
||||||
|
| Objekt | Popis |
|
||||||
|
|----------------------------|-------|
|
||||||
|
| `Namespace: botspace` | Oddelený menný priestor pre všetky objekty aplikácie. |
|
||||||
|
| `Deployment: bot-deployment` | Spúšťa Telegram bota. |
|
||||||
|
| `Deployment: flask-web` | Spúšťa webovú aplikáciu. |
|
||||||
|
| `StatefulSet: mysql` | Stabilné nasadenie MySQL databázy s uchovaním dát. |
|
||||||
|
| `PersistentVolume` | Trvalý zväzok na fyzickom disku pre MySQL. |
|
||||||
|
| `PersistentVolumeClaim` | Požiadavka na disk pre MySQL. |
|
||||||
|
| `Service: mysql` | Interný prístup k databáze z iných podov. |
|
||||||
|
| `Service: flask-service` | Sprístupňuje Flask web cez port-forward. |
|
||||||
|
| `ConfigMap: init-sql` | Obsahuje SQL skript na inicializáciu databázy. |
|
||||||
|
| `Secret: bot-secret` | Bezpečne uchováva Telegram API token. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌐 Virtuálne siete a pomenované zväzky
|
||||||
|
|
||||||
|
- Všetky pod-y komunikujú v internej sieti v rámci `botspace`.
|
||||||
|
- `PersistentVolume` pripojený k MySQL cez `PersistentVolumeClaim` zabezpečuje trvalé uloženie údajov v `/var/lib/mysql`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚙️ Konfigurácia kontajnerov
|
||||||
|
|
||||||
|
- `flask-web` je nakonfigurovaný na porte `5000`, ktorý je sprístupnený cez službu `flask-service`.
|
||||||
|
- `bot-deployment` využíva `Secret` na získanie Telegram tokenu.
|
||||||
|
- `mysql` inicializuje databázu automaticky pomocou `initContainer` a `ConfigMap` so SQL skriptom.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠️ Návod na použitie
|
||||||
|
|
||||||
|
### ✅ Príprava aplikácie:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash prepare-app.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
➡️ Vytvorí Docker image a pushne ho na Docker Hub.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🚀 Spustenie aplikácie:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash start-app.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
➡️ Vytvorí všetky Kubernetes objekty a spustí port-forward (napr. na `localhost:8080`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ⏸️ Pozastavenie aplikácie (port-forward):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pkill -f "kubectl port-forward"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ❌ Odstránenie celej aplikácie:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash stop-app.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
➡️ Zmaže celý namespace `botspace` a všetky objekty.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌍 Prístup k webovej aplikácii
|
||||||
|
|
||||||
|
Po spustení aplikácie si otvor webový prehliadač a zadaj adresu:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://localhost:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
➡️ Zobrazí sa webová stránka s tabuľkou porušovateľov, ktorá sa aktualizuje každých 5 sekúnd.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 👩💻 Autor
|
||||||
|
|
||||||
|
Vypracovala: **Tetiana Mohorian**
|
||||||
|
Projekt Z2 – Kubernetes nasadenie webovej aplikácie s databázou
|
||||||
Loading…
Reference in New Issue
Block a user