zkt25/sk1/README.md

1.9 KiB
Raw Blame History

🧠 Detekcia nenávistnej reči

Webová aplikácia na klasifikáciu textov a detekciu nenávistnej alebo toxickej reči. Projekt bol vytvorený ako súčasť zadania na skúšku a spĺňa všetky požiadavky vrátane cloud nasadenia, API rozhrania a perzistentného ukladania výsledkov.


Čo aplikácia robí

  • Umožňuje používateľovi zadať text cez frontend (React)
  • Text sa odosiela na backend (Flask API), kde je analyzovaný pomocou ML modelu
  • Výsledok predikcie („Pravdepodobne toxický“ alebo „Neutrálny text“) sa zobrazí používateľovi
  • Každá požiadavka sa uloží do history.json spolu s časovou pečiatkou
  • Endpoint /api/history vracia históriu predikcií vo formáte JSON

Použité technológie

Cloud infraštruktúra Railway

  • Automatizované nasadenie z GitHub
  • Predkonfigurovaný HTTPS a verejná doména
  • Automatická správa buildov, reštartov a logovania

Docker

  • Backend kontajnerizovaný vlastným Dockerfile (Flask + model)
  • Frontend ako samostatná React služba (build cez Nixpacks alebo Docker)
  • Podpora manuálneho spustenia cez Docker Compose

Perzistencia

  • history.json: lokálna databáza vo forme JSON
  • Uchováva: vstupný text, predikciu a čas
  • Endpoint: GET /api/history

Štruktúra projektu

.
├── backend/
│   ├── app.py              # Flask API endpointy
│   ├── Dockerfile          # Konfigurácia kontajnera pre backend
│   └── history.json        # Perzistencia predikcií
├── frontend/
│   └── vite.config.js      # Railway doménová konfigurácia
├── docker-compose.yaml     # Definuje služby pre frontend a backend
├── prepare-app.sh          # Spustenie Docker kontajnerov
├── remove-app.sh           # Zastavenie a odstránenie kontajnerov
└── README.md               # Dokumentácia projektu