| .. | ||
| README.md | ||
📚 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. PersistentVolumepripojený k MySQL cezPersistentVolumeClaimzabezpečuje trvalé uloženie údajov v/var/lib/mysql.
⚙️ Konfigurácia kontajnerov
flask-webje nakonfigurovaný na porte5000, ktorý je sprístupnený cez službuflask-service.bot-deploymentvyužívaSecretna získanie Telegram tokenu.mysqlinicializuje databázu automaticky pomocouinitContaineraConfigMapso SQL skriptom.
🛠️ Návod na použitie
✅ Príprava aplikácie:
bash prepare-app.sh
➡️ Vytvorí Docker image a pushne ho na Docker Hub.
🚀 Spustenie aplikácie:
bash start-app.sh
➡️ Vytvorí všetky Kubernetes objekty a spustí port-forward (napr. na localhost:8080).
⏸️ Pozastavenie aplikácie (port-forward):
pkill -f "kubectl port-forward"
❌ Odstránenie celej aplikácie:
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