Titel: Feature: App‑Factory, Validierung, vCard-Export, Tests Kurzbeschreibung - Ersetzt das papierbasierte Anmeldeformular durch eine Flask-Webseite (App‑Factory). - Speichert deutsche Adressdaten inkl. Telefon und E‑Mail in SQLite. - Fügt serverseitige Validierung für PLZ, E‑Mail und Telefon hinzu (`email-validator`, `phonenumbers` mit Fallback). - Generiert vCard 4.0 nach erfolgreicher Einreichung und speichert sie unter `vcards/`. - Enthält Unit- und Integrationstests (pytest) und initiale Datenbank-Migrationen (Alembic/Flask‑Migrate). Änderungen - Neue/überarbeitete Dateien: - `application/` package (App‑Factory, `routes.py`, `models.py`, `extensions.py`) - `utils.py` (vCard-Generator) - `templates/index.html` (Formular/Fehlermeldungen) - `tests/` (Unit- und Integrationstests) - `migrations/` (gestampfte Basis) - `requirements.txt` (`email-validator`, `phonenumbers`) Testen (lokal) 1. Virtuelle Umgebung aktivieren / Python 3.11 verwenden. 2. Abhängigkeiten installieren: ```bash pip install -r requirements.txt ``` 3. Tests ausführen: ```bash pytest -q ``` Migrationshinweise - `migrations/` ist initialisiert und die DB wurde gestampft. Bei Modelländerungen bitte neue Migrationen mit `flask db migrate` und `flask db upgrade` erzeugen. Review-Checklist - [ ] Validierung (E‑Mail / Telefon / PLZ) prüfen. - [ ] Formular-UI prüfen (templates/index.html). - [ ] vCard-Export testen (Erstellung in `vcards/`). - [ ] CI testen (siehe `.github/workflows/ci.yml` / `.gitlab-ci.yml`). Zusätzliche Hinweise - `email-validator` wird ohne externe Lieferbarkeitschecks verwendet, damit Tests reproduzierbar sind.