Der Zuschnitt
DiPAgE ist eine Single-Page-Angular-Anwendung, die vollständig im Browser läuft. Es gibt keinen Anwendungsserver, keine bereitzustellende Datenbank und kein Kontosystem. Der einzige beteiligte Server liefert das statische Bundle aus, und damit endet seine Aufgabe. Alles, was die App weiß, liegt in der IndexedDB des Geräts, auf dem es erfasst wurde.
Technologieentscheidungen, die man kennen sollte
- Angular 22 mit Standalone-Komponenten und durchgängig Signals. Change Detection ist zoneless, jede Komponente
OnPush. - TypeScript im Strict-Modus einschließlich
strictTemplates. Beachten Sie die Lücke:tscprüft keine Templates, eine veraltete Bindung fällt erst beim AOT-Build auf. - Tailwind CSS 4 mit DaisyUI 5. Eigenes CSS nur dort, wo eine Utility-Klasse die Regel nicht ausdrücken kann.
- UUIDv7 für jede erzeugte ID, damit Bezeichner nach Erstellungszeit sortieren.
Was zoneless kostet
Wer Tests gegen diese Codebasis schreibt, sollte eine Falle vorab kennen: unter zoneless Change Detection lässt sich eine im Konstruktor angelegte debounceTime- oder delay-Subscription in fakeAsync nicht mit tick() durchspülen. Die Zusicherung läuft dann durch, ohne die Entprellung überhaupt auszuführen. Legen Sie die Subscription stattdessen im Testkörper an.
Was lokale Datenhaltung kostet
Keine Synchronisation, kein Mehrgeräte-Abgleich, kein serverseitiges Backup. Daten zwischen Geräten zu bewegen ist ein ausdrücklicher Export und Import, und die zugehörige Konfliktlösung ist ein sichtbarer Ablauf statt eines Algorithmus im Hintergrund. Das ist der bewusste Preis dafür, ohne Verbindung zu arbeiten und keine personenbezogenen Daten zentral zu halten.