zkt25/z2
2025-04-10 10:55:38 +00:00
..
README.md Přidat z2/README.md 2025-04-10 10:55:38 +00:00

📚 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 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