-> 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
Backend
PHP 8, PostgreSQL 16
Echtzeit
Node.js 22 SSE-Server mit PostgreSQL LISTEN/NOTIFY
Kalender
FullCalendar v6
Editor
Tiptap (Rich Text)
Charts
Chart.js
Dateimanager
VueFinder
Drag & Drop
Vuedraggable
Deployment
Lokal, Cloud oder Docker (Apache/NGINX) mit Let's Encrypt SSL

Designprinzipien

UX First
Jede Entscheidung priorisiert Bedienbarkeit — Klicks reduzieren, Informationen verdichten
Logik in der Datenbank
SQL statt PHP für Geschäftslogik — PHP transportiert, PostgreSQL verarbeitet
Ein Request = Eine Query
Komplexe Views statt Daten-Assemblierung im Backend
Single Source of Truth
Pinia-Stores verhindern redundante API-Aufrufe
Kein Hardcoding
Konfiguration, Listen und Übersetzungen kommen aus der Datenbank
Prepared Statements
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