Files
MABEA/backend/pyproject.toml
T
patrickandClaude Sonnet 5 aba991bbe2
CI / backend-tests (push) Successful in 54s
Sprint 6: Dashboard-Kennzahlen, Ablaufdaten-Warnungen, E-Mail-Benachrichtigung
- benutzer.email ergänzt (additive Migration 0003) - Prompt 20 hatte kein E-Mail-
  Feld vorgesehen, aber Karte 05 braucht es für Benachrichtigungen
- Dashboard-Kennzahlen (Prompt 12.2): offen/in_bearbeitung/nachgefuellt_teilweise
  zählen gemeinsam als "offen", genehmigte Mindermengen separat, kürzlich erledigt
  (7 Tage), problematische Objekte
- Ablaufdaten-Warnungen (Prompt 14): serverseitige Statusberechnung
  gueltig/bald_ablaufend/abgelaufen je Objektposition, Standard-Warnzeitraum 30
  Tage falls am Material nicht gesetzt, sortiert nach verbleibenden Tagen (E1:
  einzige Zeit-/Fälligkeits-Sicht in V1, keine Kontrollintervall-Logik)
- GET /fehlbestaende um Filter (Standort/Objekt/Material/genehmigt) und
  Alter-Sortierung erweitert (Prompt 12.3)
- Asynchrone E-Mail-Benachrichtigung bei neuem Fehlbestand (Karte 05): fire-and-
  forget an aktive Materialverantwortliche/Leitungsverantwortliche mit hinterlegter
  E-Mail; kein SMTP konfiguriert -> wird nur geloggt, kein harter Fehler
- Tests: Aggregationsregel, Ablaufdaten-Filterung/Sortierung, Rollenrechte,
  E-Mail-Versand (SMTP gemockt, kein Docker/Test-Mailserver im Host-Runner
  verfügbar - Aufruf mit korrekten Empfängern/Betreff wird geprüft)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
2026-09-03 23:59:40 +02:00

37 lines
1.1 KiB
TOML
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.
[project]
name = "mabea-backend"
version = "0.1.0"
description = "MABEA Digitales Materialmanagement Rettungsdienst/KatS, Backend (Sprint 0)"
requires-python = ">=3.11"
dependencies = [
"fastapi>=0.115,<0.116",
"uvicorn[standard]>=0.32,<0.33",
"sqlalchemy>=2.0,<2.1",
"asyncpg>=0.30,<0.31",
"alembic>=1.13,<1.14",
"pydantic-settings>=2.6,<2.7",
"passlib[bcrypt]>=1.7,<1.8",
# passlib 1.7.4 liest bcrypt.__about__.__version__, das ab bcrypt 4.1 entfernt wurde
# (Fund im ersten echten CI-Lauf: "password cannot be longer than 72 bytes" ist eine
# irreführende Folgefehlermeldung, echte Ursache ist die AttributeError beim Backend-Check).
"bcrypt>=4.0,<4.1",
"pyjwt>=2.9,<2.10",
"python-multipart>=0.0.12,<0.1",
"aiosmtplib>=3.0,<3.1",
]
[project.optional-dependencies]
dev = [
"pytest>=8.3,<8.4",
"pytest-asyncio>=0.24,<0.25",
"pytest-cov>=5.0,<6.0",
"httpx>=0.27,<0.28",
]
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
include = ["app*"]