-> Inter-Data
-> Technik
-> Architektur & Tech-Stack
Architektur & Tech-Stack
Technologie-Entscheidungen und Designprinzipien
Tech-Stack
Frontend
Vue 3, Vuetify 3, Vite 7, Pinia, Vue Router 4
Vue 3, Vuetify 3, Vite 7, Pinia, Vue Router 4
Backend
PHP 8, PostgreSQL 16
PHP 8, PostgreSQL 16
Echtzeit
Node.js 22 SSE-Server mit PostgreSQL LISTEN/NOTIFY
Node.js 22 SSE-Server mit PostgreSQL LISTEN/NOTIFY
Kalender
FullCalendar v6
FullCalendar v6
Editor
Tiptap (Rich Text)
Tiptap (Rich Text)
Charts
Chart.js
Chart.js
Dateimanager
VueFinder
VueFinder
Drag & Drop
Vuedraggable
Vuedraggable
Deployment
Lokal, Cloud oder Docker (Apache/NGINX) mit Let's Encrypt SSL
Lokal, Cloud oder Docker (Apache/NGINX) mit Let's Encrypt SSL
Designprinzipien
UX First
Jede Entscheidung priorisiert Bedienbarkeit — Klicks reduzieren, Informationen verdichten
Jede Entscheidung priorisiert Bedienbarkeit — Klicks reduzieren, Informationen verdichten
Logik in der Datenbank
SQL statt PHP für Geschäftslogik — PHP transportiert, PostgreSQL verarbeitet
SQL statt PHP für Geschäftslogik — PHP transportiert, PostgreSQL verarbeitet
Ein Request = Eine Query
Komplexe Views statt Daten-Assemblierung im Backend
Komplexe Views statt Daten-Assemblierung im Backend
Single Source of Truth
Pinia-Stores verhindern redundante API-Aufrufe
Pinia-Stores verhindern redundante API-Aufrufe
Kein Hardcoding
Konfiguration, Listen und Übersetzungen kommen aus der Datenbank
Konfiguration, Listen und Übersetzungen kommen aus der Datenbank
Prepared Statements
Konsequent parametrisierte Queries — keine String-Interpolation
Konsequent parametrisierte Queries — keine String-Interpolation
Echtzeit-Architektur
Ein eigenständiger Node.js-Dienst verbindet PostgreSQL mit dem Browser über Server-Sent Events (SSE). Wenn sich in der Datenbank etwas ändert, sendet PostgreSQL ein NOTIFY — der SSE-Server empfängt es per LISTEN und leitet es an alle verbundenen Clients des Mandanten weiter.
Sechs Kanäle liefern Live-Updates: Anrufe, WhatsApp, Kalender, Faktura, Weroni-Rückfragen und Kamera-Ereignisse. Ein 30-Sekunden-Heartbeat hält die Verbindung stabil. Bei Verbindungsabbruch stellt der Browser die Verbindung automatisch wieder her.
Integrationen
- Meta WhatsApp Business API — Messaging direkt im ERP
- Brevo (Sendinblue) — E-Mail-Templates
- OpenAI Whisper — Spracherkennung für Anruftranskription
- Anthropic Claude — KI-Zusammenfassungen, Beleganalyse, Weroni
- VIES — EU-weite USt-IdNr.-Validierung
- IMAP/SMTP — Integrierter E-Mail-Client
- FinTS — Automatischer Bankimport
- DATEV — Buchhaltungsexport
- Telefonanlagen — Click-to-Call