v1.36: Mieterverwaltung (Mieter 1:1 pro Wohnung, Kaution/Vertrag/Dokumente) + v1.37: KI-Assistent (N8N + Kimi, 6 Portal-Tools)
This commit is contained in:
@@ -189,6 +189,43 @@ tar -czf mp-dist.tar.gz -C dist .
|
||||
|
||||
## 8. Verlauf / offene Punkte
|
||||
|
||||
**Erledigt 04.10. (v1.36):** Mieterverwaltung. Mieter ist ein eigenes Objekt
|
||||
1:1 zur Wohnung (Tabelle mieter: Name, Vorname, Telefon, E-Mail, Kalt-/Warmmiete,
|
||||
Vertragsstatus aktiv|befristet|gekuendigt inkl. „gekündigt zum/von", Kaution
|
||||
Höhe + Art bar|ueberwiesen|sonstiges (Freitext), Zahlung komplett|raten inkl.
|
||||
Ratenanzahl, Mietzeitraum Start/Ende). Units schlank: Kaltmiete/Warmmiete/Mieter
|
||||
aus API + Formularen entfernt (Spalten bleiben physisch), Status jetzt
|
||||
vermietet|leerstand|unklar (Migration: frei→leerstand, units.tenant→mieter-Rows,
|
||||
läuft bei Start automatisch). Server: Mieter-CRUD adminOnly (POST/PATCH/DELETE
|
||||
/api/mieter, Anlage/Löschung setzt Unit-Status), Dokument-Upload pro Mieter +
|
||||
Kategorie (POST /api/mieter/:id/dokumente?kategorie=, 1 Slot je Kategorie:
|
||||
Personalausweis, SCHUFA-Auskunft, Bankauszug, Sonstiges; PDF+JPG/PNG; Upload
|
||||
ersetzt, DELETE kaskadiert Dateien), Preview liefert Content-Type per Endung
|
||||
(Bilder rendern in Lightbox/Thumbnails). Bootstrap: Mieter (Admin alle, Mieter
|
||||
nur eigene Wohnung – PII-Schutz). Abrechnung + Mietvertrags-Aktivierung ziehen
|
||||
Mietdaten aus mieter-Tabelle. Frontend: Seite /mieter (Listenansicht + Suche,
|
||||
Vertrags-/Kaution-Badges), einspaltiger Dialog mit Dokumenten-Thumbnails
|
||||
(Mini-iframe → PdfLightbox), Bestand/Wohnungsformular schlank, Dashboard/
|
||||
Payments/BenutzerVerwaltung/Mietvertraege umgestellt. Deployt, E2E-getestet
|
||||
(CRUD, Sonderfelder, Upload PDF+PNG, Kaskaden, Migration 44 Mieter live).
|
||||
|
||||
**Erledigt 04.10. (v1.37):** KI-Assistent (Verwaltung fragt, N8N + Kimi
|
||||
antworten). Server (server/src/assist.js): POST /api/assist (auth+adminOnly,
|
||||
leitet Frage+Verlauf an N8N_ASSIST_WEBHOOK weiter, x-assist-secret-Header,
|
||||
90 s Timeout, erwartet JSON {antwort}) + 6 Tool-Endpunkte
|
||||
/api/assist/tools/{leerstaende,mieteinnahmen,offene-schaeden,mieter-kontakt,
|
||||
zaehler-anomalien,kosten} geschützt per Header x-assist-key=ASSIST_API_KEY,
|
||||
kompakte JSON-Antworten direkt aus Postgres. Frontend: Seite /assistent
|
||||
(Chat-UI, Verlauf nur Session, Beispielfragen, Admin-only). Env
|
||||
(docker-compose + portal.env auf Server): N8N_ASSIST_WEBHOOK,
|
||||
ASSIST_SHARED_SECRET, ASSIST_API_KEY (letztere zwei auf Server gesetzt).
|
||||
N8N: importierbarer Workflow n8n/assist-workflow.json (Webhook → AI-Agent mit
|
||||
Kimi OpenAI-kompatibel https://api.moonshot.ai/v1, Modell kimi-k2.6 → 6
|
||||
HTTP-Tools → Respond {antwort}); Setup-Doku n8n/README-assistent.md.
|
||||
Deployt, E2E-getestet (Tools 401/200, /api/assist sauberer 503 ohne Webhook).
|
||||
**Offen:** Workflow in N8N importieren + Kimi-Credential + Header-Auth +
|
||||
Webhook-URL in portal.env eintragen (Schritte in n8n/README-assistent.md).
|
||||
|
||||
**Erledigt 04.10. (v1.35):** Mietvertragsmodul (Verwaltung, Navigation
|
||||
„Mietverträge", Admin-only). Workflow: anlegen → Entwurf-PDF → Versand an
|
||||
zukünftigen Mieter → Upload unterschriebenen Vertrag → manuell aktivieren
|
||||
|
||||
Reference in New Issue
Block a user