1.9 KiB
1.9 KiB
🧠 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.jsonspolu s časovou pečiatkou - Endpoint
/api/historyvracia 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