File: //opt/kw-schueler.bak.21032025/README.md
# Klausurenweb
Eine webbasierte Anwendung zur Verwaltung von Schulmaterialien und Klausuren.
## Anforderungen
- Python 3.8 oder höher
- MySQL-Datenbank
- poppler-utils (für PDF-Bearbeitung)
## Installation
1. Repository klonen:
```bash
git clone <repository-url>
cd klausurenweb-schueler
```
2. Abhängigkeiten installieren:
```bash
pip install -r requirements.txt
```
3. System-Pakete installieren:
```bash
sudo apt-get install poppler-utils
```
4. Streamlit-Konfiguration einrichten:
Erstellen Sie eine Datei `.streamlit/secrets.toml` mit folgendem Inhalt:
```toml
[mysql]
host = "your-db-host"
user = "your-db-user"
password = "your-db-password"
database = "klausurenweb_db"
```
5. Datenbank einrichten:
```bash
mysql -h <host> -u <user> -p < mysql_setup.sql
```
6. Teilen und Sichtbarkeit aktivieren (optional):
```bash
python3 apply_sharing_and_visibility.py
```
(Weitere Informationen siehe `README_SHARING_VISIBILITY.md`)
## Migration von Materialien
Um vorhandene Materialien zu migrieren:
```bash
# Stellen Sie sicher, dass das Skript ausführbar ist
chmod +x migrate_materials.py
# Führen Sie die Migration aus
./migrate_materials.py --host <db-host> --user <db-user> --password '<db-password>' --database <db-name> --setup-tables
```
**Wichtig:** Bei Passwörtern mit Sonderzeichen diese in einfache Anführungszeichen setzen.
## Anwendung starten
```bash
cd /pfad/zu/klausurenweb-schueler
streamlit run app.py
```
Die Anwendung ist dann unter http://localhost:8501 verfügbar.
## Konfiguration
Details zur Datenbankstruktur und Konfiguration finden Sie in der Datei `README_DB_SETUP.md`.
## Funktionen
### Materialien verwalten
- Erstellen und Bearbeiten von Unterrichtsmaterialien
- Hochladen und Verwalten von Quelltexten
- Definieren von Bewertungskriterien und Erwartungshorizonten
### Materialien teilen und Sichtbarkeit steuern (neu)
- Teilen von Materialien mit Kollegen, ohne dass Originale verändert werden
- Kontrolle darüber, welche Materialien im Schülerbereich sichtbar sind
- Details siehe `README_SHARING_VISIBILITY.md`
### Schülerlösungen
- Einreichen und Bewerten von Schülerlösungen
- Automatisches Feedback durch KI
- Detaillierte Auswertungen und Statistiken