51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
# 🧠 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](https://railway.app)
|
||
- 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
|
||
```
|
||
|