| .. | ||
| backend | ||
| frontend | ||
| docker-compose.yaml | ||
| Dockerfile | ||
| history.json | ||
| package-lock.json | ||
| package.json | ||
| prepare-app-cloud.sh | ||
| README.md | ||
| remove-app-cloud.sh | ||
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:
./prepare-app.sh
Vytvorí Docker image a pushne ho na Docker Hub.
Spustenie aplikácie:
./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:
./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:8888
Zobrazí sa webová stránka s tabuľkou porušovateľov, ktorá sa aktualizuje každých 5 sekúnd.