Tallyroom
B2B-Dashboard & Kundenportal





Kennzahlen mit klarer Regel. Der monatliche Vertragswert zählt nur bestätigte, laufende Verträge mit der letzten Preisversion vor dem Stichtag. Tests prüfen die Zahl selbst, nicht nur die Form der Antwort.
Alles zu einem Kunden an einem Ort. Kontaktdaten, Projekte, Verträge, Anfragen und Unterlagen gebündelt. Interne Notizen sieht nur das Team.
Anfragen mit Status und Zuständigkeit. Serviceanfragen aller Kunden in einer Liste: Priorität, Status, wer zuständig ist und wann zuletzt etwas passiert ist.
Freigeben ist eine Handlung. Dokumente bleiben intern, bis jemand sie freigibt. Dateien liegen in einem privaten Speicher und sind nur über die geschützte API erreichbar.
Der Kunde sieht nur, was ihn betrifft. Das Kundenportal hat eine eigene Datenschicht ohne interne Felder. 16 Integrationstests sichern die Trennung, und fremde Objekte antworten mit 404 statt 403.
- OberflächeReact und TypeScript, vier Sprachen, hell und dunkel
- Kundenportaleigene Datenschicht ohne interne Felder, 16 Integrationstests
- APIExpress mit Rollenrechten, fremde Objekte antworten mit 404
- DatenbankPostgreSQL, jeder Kunde nur mit seinen Daten
- BetriebDocker auf eigenem Server, nächtliche Sicherung, geprobte Wiederherstellung
Dashboard mit Kundenportal für kleine Digitalagenturen, in vier Sprachen. Live, mit einer eigenen Demo für jeden Besucher; die Daten sind erfunden und werden nach 60 Minuten gelöscht.
- Stack
- React, TypeScript, Express, PostgreSQL, Docker
- Tests
- 276 Unit- und Integrationstests; die Integrationstests sichern Rollenrechte und dass kein Kunde fremde Daten sieht
- Prüfung
- Playwright prüft in sechs Bildschirmbreiten Barrierefreiheit (axe, hell und dunkel), vier Sprachen und Tastaturbedienung; VoiceOver und NVDA laufen echt in der CI
- Betrieb
- Läuft mit Docker auf eigenem Server, mit nächtlicher Sicherung und geprobter Wiederherstellung
- Leistung
- Lighthouse live: mobil 99, Desktop 100
Zahlen aus der Fallstudie, Stand 22. September 2026
























