Table of Contents
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.
Entwicklung
Node ab Version 22 (im Image und in den Tests 24 LTS), Oberfläche in Vanilla JS ohne Build-Schritt. Daten liegen in einer JSON-Datei.
Aufbau
server.js HTTP-Server und API (Express)
src/config.js Pfade (Dropbox-Erkennung), Port
src/store.js JSON-Datenspeicher
src/struktur.js Ordnerstruktur-Standard
src/dokumente.js Dateiablage mit Pfadprüfung
src/kennzahlen.js Cashflow, Rendite, Restschuld, Kostenstände, Jahresrechnung, Zahlungen, Fristen
src/zuordnung.js Zielordner-Ermittlung für Altbestand und Posteingang, Namensvorschlag
src/regeln.js Einsortier-Regelwerk
src/texterkennung.* Inhalt von PDFs und Bildern lesen (Windows-OCR oder poppler + tesseract)
src/volltext.js Volltext-Lauf über die ganze Ablage im Hintergrund
src/migration.js Datenmigrationen beim Serverstart
src/assistent.js Objekt-Assistent: Pflichtangaben, Anlegen in einem Zug
src/abgleich.js Cloud-Abgleich in beide Richtungen (Konflikte, Papierkorb, Sicherheitsstopp)
src/anbieter/ Dropbox und Google Drive (OAuth mit PKCE, API-Aufrufe)
src/benachrichtigung.js Hinweis-Mails
src/defaults/ gemeinsame Module aus tool-defaults (Anmeldung, Rollen, Protokoll, Mail, Update …)
public/ Oberfläche
public/js/felder.js Formularfelder aller Datensätze
public/js/objekt.js Objektseite mit ihren Reitern
public/assets/ Design-System aus tool-defaults
werkzeuge/ Startdaten, Einsortieren, Hinweis-Mails, Demodaten, Notfallzugang
deploy/ Server: immo.sh, Compose-Vorlage, Caddy
test/ Tests
tool-defaults
Gemeinsame Funktionen der ho.Systeme-Werkzeuge kommen aus
tool-defaults und liegen als Kopie in
src/defaults/ und public/assets/. Dort nicht bearbeiten – Änderungen gehören nach
tool-defaults und werden von dort übernommen. Werkzeugspezifisches kommt über src/defaults/bridge.js.
Tests
npm test # alle
npm run test:anmeldung
npm run test:update
npm run test:mail
npm test umfasst Anmeldung, Update, Mail, Cloud-Abgleich, Objekt-Assistent, Unterlagen und Texterkennung. Die Tests laufen
mit Node selbst, ohne Testframework; Dropbox und Google Drive werden durch Attrappen in
test/hilfen/ ersetzt.
Der Texterkennungs-Test (npm run test:texterkennung) braucht Linux mit poppler, Tesseract,
ImageMagick (samt PDF-Modul) und DejaVu-Schrift; er erzeugt seine Testdokumente selbst und überspringt
sich sonst. Er läuft im Workflow .forgejo/workflows/texterkennung.yml auf dem Forgejo-Runner in
einem node:24-alpine-Container mit denselben Paketen wie das Dockerfile – bei Änderungen an der
Paketliste beide anpassen.
Demodaten
npm run demo # .demo\ mit erfundenen Objekten und Beispielablage
npm run demo:start # Server damit auf Port 4799
Screenshots für README und Wiki (docs/bilder/) stammen aus diesem Datensatz – nie aus echten Daten.
Versionen
Jede Änderung bekommt eine Versionsnummer in package.json und einen Eintrag im
CHANGELOG
(Neu / Geändert / Behoben / Entfernt). Die App zeigt die Einträge unter „was ist neu?“.
Erste Schritte
Bedienung
- Übersicht und Fristen
- Objekt und Kostenstände
- Einheiten und Mieter
- Zahlungen
- Miete über die SEV
- Finanzierung, Konten, Adressbuch
- Dokumente
- Cloud-Abgleich
- Hinweis-Mails
Betrieb