Schulportal-Konventionen übernommen: Dark Mode (ThemeToggle), beispieldaten.py + generated.json, kimi.md, mail-server (Postfix-Relay + API), Deploy-Workflow (pscp/plink, npm_default), Screenshots in preview/
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# Hocks Mieterportal
|
||||
|
||||
Mieterportal für die Verwaltung von 50 Wohnungen in 3 Häusern — analog zum Schulportal der Hocks-Gruppe.
|
||||
Mieterportal der Hocks Verwaltung für **50 Wohnungen in 3 Häusern** (Hauptstraße 12 ·
|
||||
Ringweg 3 · Am Park 5) – analog zum [Schulportal](https://git.hocks.eu/ah-admin/Schulportal).
|
||||
Live-Ziel: `https://mieterportal.hocks.eu`.
|
||||
|
||||
## Module
|
||||
|
||||
@@ -10,26 +12,35 @@ Mieterportal für die Verwaltung von 50 Wohnungen in 3 Häusern — analog zum S
|
||||
4. **Dokumente** – Verträge, Abrechnungen, Hausordnung; zentraler Such- und Filterzugriff
|
||||
5. **Nachrichten** – Direktkommunikation Mieter ↔ Verwaltung
|
||||
|
||||
Der Rollenwechsel Mieter ↔ Verwaltung erfolgt über die Schaltfläche in der Seitenleiste. Alle Demo-Daten werden lokal im Browser (localStorage) gespeichert.
|
||||
Der Rollenwechsel Mieter ↔ Verwaltung erfolgt über die Seitenleiste (Demo-Modus).
|
||||
Alle Demo-Daten werden lokal im Browser (localStorage) gespeichert. Dark-Mode-Umschalter
|
||||
in der Seitenleiste bzw. Mobilen Kopfzeile.
|
||||
|
||||
## Lokale Entwicklung
|
||||
## Entwicklung
|
||||
|
||||
```bash
|
||||
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)
|
||||
```
|
||||
|
||||
## Docker
|
||||
Projekt-Kontext für Kimi Work: [kimi.md](kimi.md).
|
||||
|
||||
## Deployment (bewährter Workflow, s. kimi.md Kap. 4)
|
||||
|
||||
```bash
|
||||
docker build -t mieterportal .
|
||||
docker run -d -p 8080:80 --name mieterportal mieterportal
|
||||
# oder:
|
||||
docker compose up -d --build
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
Der Container liefert das gebaute Frontend über Nginx (SPA-Routing inklusive).
|
||||
Für den Betrieb unter `https://mieterportal.hocks.eu` einfach einen Reverse Proxy
|
||||
(Traefik, nginx, Caddy) davor setzen — Beispiel-Labels für Traefik inkl. Let's Encrypt
|
||||
liegen in der `docker-compose.yml`.
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user