Files
Mieterportal/README.md
T
ah-admin fbe033ebd6 v1.1: Rebrand Hinterstein Immobilien + echtes Auth-System
- Rebrand: Kunden-Logo, Joseph-Hinterstein-Portrait, Kontakt-Banner, Texte
- Login-Pflicht auf /login (Route-Guard), Gruppen Verwaltung/Mieter
- Mieter-Registrierung per einmaligem Registrierungscode
- Benutzerverwaltung als 6. Modul (/benutzer, nur Verwaltung)
- Demo-Zugänge mit Passwort 0815 (j.hinterstein, a.berger, m.wolf)
- Mail-Server-API: Token-Auth (/send, X-Api-Token), Mail-Stack live auf Server
- Store-Key hinterstein-mieterportal-v2, Doku (kimi.md, README) nachgeführt
2026-10-02 12:11:43 +02:00

2.2 KiB
Raw Blame History

Hinterstein Immobilien · Mieterportal

Mieterportal der Hinterstein Immobilien für 50 Wohnungen in 3 Häusern (Hauptstraße 12 · Ringweg 3 · Am Park 5) – analog zum Schulportal. Live-Ziel: https://mieterportal.hocks.eu.

Module

  1. Dashboard – persönliche Übersicht (Mieter) bzw. Kennzahlen, Belegung und Einnahmen (Verwaltung)
  2. Benutzerverwaltung (nur Verwaltung) – Konten anlegen/pflegen, Registrierungscodes erzeugen
  3. Mietkonto & Zahlungen – Buchungsverlauf, offene Forderungen, Nebenkosten; Verwaltung sieht Zahlungsstatus aller 50 Wohnungen
  4. Schadensmeldungen – Tickets erfassen, priorisieren und Status pflegen
  5. Dokumente – Verträge, Abrechnungen, Hausordnung; zentraler Such- und Filterzugriff
  6. Nachrichten – Direktkommunikation Mieter ↔ Verwaltung

Anmeldung erforderlich – Gruppen: Verwaltung und Mieter (Registrierung der Mieter per Code auf der Startseite). Demo-Zugänge (Passwort jeweils 0815): j.hinterstein (Verwaltung) · a.berger (Mieterin) · Demo-Registrierungscode: MP-2026-0815. Alle Demo-Daten werden lokal im Browser (localStorage) gespeichert. Dark-Mode-Umschalter in der Seitenleiste bzw. Mobilen Kopfzeile.

Entwicklung

npm install
npm run dev        # http://localhost:3000
npm run build      # Produktionsbuild nach dist/
python beispieldaten.py   # generiert src/data/generated.json (Seed wählbar)

Projekt-Kontext für Kimi Work: kimi.md.

Deployment (bewährter Workflow, s. kimi.md Kap. 4)

./deploy.sh

baut das Frontend, lädt das dist/-Paket per pscp auf den Server (Port 38592, Pageant-Key Z:\Devel\ssh\priv_ionos_hocks_vps.ppk) und startet den nginx-Container mp-portal neu. TLS/Subdomain liefert der Nginx Proxy Manager (npm_default-Netz).

Alternativ lokal ohne Server: docker build -t mieterportal . && docker run -p 8080:80 mieterportal.

Optional: Mail-Stack

mail-server/ enthält den aus dem Schulportal übernommenen Aufbau: Postfix-Relay (nur intern, kein offenes Relay) + schlanke Python-API. Konfiguration über mail-server/mail.env (Vorlage: mail.env.example), nicht im Repo.