From d5361f3a8c5868b8d301350b2c87a5b7c6d3d0e2 Mon Sep 17 00:00:00 2001 From: Tetiana Mohorian Date: Tue, 20 May 2025 11:10:45 +0000 Subject: [PATCH] =?UTF-8?q?Nahr=C3=A1t=20soubory=20do=20=E2=80=9Ewebsite?= =?UTF-8?q?=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/README (6).md | 101 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 website/README (6).md diff --git a/website/README (6).md b/website/README (6).md new file mode 100644 index 0000000..63077a0 --- /dev/null +++ b/website/README (6).md @@ -0,0 +1,101 @@ +# 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): + +```bash +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:8888 +``` + +Zobrazí sa webová stránka s tabuľkou porušovateľov, ktorá sa aktualizuje každých 5 sekúnd. + +--- +