zkt25/sk1/README.md

51 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🧠 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
```