Files
CheckInCare/PR_DESCRIPTION.md
Albert 01bb09af0d
Some checks failed
CI / test (3.11) (push) Has been cancelled
CI: remove workflow files per request
2025-12-21 23:15:34 +01:00

41 lines
1.6 KiB
Markdown
Raw Permalink 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.

Titel: Feature: AppFactory, Validierung, vCard-Export, Tests
Kurzbeschreibung
- Ersetzt das papierbasierte Anmeldeformular durch eine Flask-Webseite (AppFactory).
- Speichert deutsche Adressdaten inkl. Telefon und EMail in SQLite.
- Fügt serverseitige Validierung für PLZ, EMail 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/FlaskMigrate).
Änderungen
- Neue/überarbeitete Dateien:
- `application/` package (AppFactory, `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 (EMail / 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.