Zwei Seiten eines Mietverhältnisses, zwei Werkzeugkästen
Private Vermieter und ihre Mieter kümmern sich um denselben Vertrag, dieselben Zahlungen und dieselben Reparaturanfragen, aber per E-Mail, Messenger, Tabellen und Papier. Jede Seite hat ihre eigene Version der Fakten, und jede Frage wird zu einem Nachrichtenverlauf.
Wohnster ist die Antwort von SteinByte: eine Plattform, auf der der Vermieter Objekte und Mietverhältnisse verwaltet und der Mieter seinen eigenen Vertrag, seine Dokumente und Anfragen sieht, beide auf denselben Datensätzen. [TODO: den konkreten Markt und die erste Zielgruppe ergänzen.]
Ein Backend, zwei Portale, ein Login
Statt zwei Apps, die sich synchronisieren, haben wir ein Kotlin-Backend gebaut, das das Datenmodell besitzt und es über dieselbe API an zwei Next.js-Portale ausliefert. Rollen kommen aus Keycloak, sodass sich jemand, der in einem Mietverhältnis Vermieter und in einem anderen Mieter ist, nur einmal anmeldet.
- Deutsch zuerst, Englisch daneben: jeder Text existiert ab dem ersten Commit in beiden Sprachen, geprüft von einem Test, der bei einem fehlenden Schlüssel fehlschlägt.
- Eine Staging-Umgebung von Anfang an, automatisch ausgerollt bei jedem Merge, damit das Produkt ausprobiert werden kann, während es entsteht.
- Pull Requests, Code-Review und CI als einziger Weg in den Hauptzweig, für ein Team von drei Leuten.
Bisher
Vermieterportal
Dashboard, Onboarding, Objekte und Mietverhältnisse. [TODO: fertige Module auflisten]
Mieterportal
Eigener Vertrag, Dokumente und Anfragen, in der Sprache des Mieters. [TODO: fertige Module auflisten]
Anmeldung und Rollen
Keycloak mit Vermieter- und Mieterrolle, ein Konto für beides, rollenbasiertes Routing im Frontend.
Plattform
Docker-Images für beide Dienste, eine GitHub-Actions-Pipeline, ein Staging-Server hinter Cloudflare, Mail-Tests mit Mailpit.
In Entwicklung
Wohnster läuft auf einer Staging-Umgebung und ist noch nicht öffentlich. [TODO: geplanter erster Release und wie man frühen Zugang bekommt.] Updates veröffentlichen wir hier, sobald sich das Produkt bewegt.

