# Aufgaben: Tätigkeitsnachweis-Generator (Streamlit App) ## 🔍 Analyse ✅ - [x] **A1**: Input-Datei `input/2025 JM.xlsx` analysieren → Sheet-Namen, exakte Spaltenüberschriften (Zeile 1), Spaltenpositionen (A, B, C…), Beispiel-Daten - [x] **A2**: Template `template/Tätigkeitsnachweise Stellenförderung.xlsx` analysieren → zu befüllende Zielzellen identifizieren (Zelladresse + erwarteter Inhalt) ## ⚙️ Konfiguration ✅ - [x] **K1**: `config/input-fields.json` mit Spaltenschema befüllen — `column` (A, B…), `field_name` (exakte Überschrift aus Excel), `type`, `required` - [x] **K2**: `config/output-fields.json` mit Zell-Mappings befüllen — `source_field` (exakte Spaltenüberschrift aus input-fields.json), `target_cell`, `format` - [x] **K3**: `config/settings.ini` mit Pfaden und Einstellungen befüllen ## 🧱 Core-Module ✅ - [x] **C1**: `requirements.txt` befüllen (streamlit, openpyxl) - [x] **C2**: `src/__init__.py` + `src/models.py` — Datenklassen - [x] **C3**: `src/config.py` — Konfigurations-Loader - [x] **C4**: `src/parser.py` — Input-Datei parsen - [x] **C5**: `src/validator.py` — Eingabevalidierung - [x] **C6**: `src/writer.py` — Output generieren ## 🖥️ UI & Start ✅ - [x] **U1**: `app.py` — Streamlit-Oberfläche (Input-Selektion: validieren & Mitarbeiteranzahl + Antragsnummern anzeigen; Template-Selektion: validieren & Zielfelder anzeigen; Mitarbeiter-Multiselect zum Ein-/Ausschließen) - [x] **U2**: `start.bat` — Windows Batch-Startdatei - [x] **U3**: `README.md` — vollständige Dokumentation ## ✅ Test ✅ - [x] **T1**: App mit vorhandener Input-Datei und Template testen — 19 Tätigkeitsnachweise erfolgreich generiert - [x] **T2**: Edge Cases prüfen (leere Zeilen, Sonderzeichen, fehlende Monate) — Umlaute, Sonderzeichen in Namen, "Alle Rollen"-Sheet korrekt behandelt