# Pulse CRM - Architektur ## Übersicht Pulse CRM ist eine cloud-basierte (SaaS) Customer Relationship Management Lösung, entwickelt für den deutschen Markt mit voller DSGVO-Konformität. ## Architektur-Diagramm ``` ┌─────────────────────────────────────────────────────────────────┐ │ CLIENTS │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Web App │ │ Mobile │ │ API │ │ Webhooks │ │ │ │ (Vue 3) │ │ PWA │ │ Client │ │ │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ └───────┼─────────────┼─────────────┼─────────────┼───────────────┘ │ │ │ │ └─────────────┴──────┬──────┴─────────────┘ │ HTTPS ▼ ┌─────────────────────────────────────────────────────────────────┐ │ LOAD BALANCER │ │ (nginx / Traefik) │ └────────────────────────────┬────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ API GATEWAY │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Deno + Oak │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │ Auth │ │ CORS │ │ Rate │ │ Logging │ │ │ │ │ │Middleware│ │Middleware│ │ Limiter │ │ │ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────┬────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ API ROUTES │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ /auth │ │/contacts│ │ /deals │ │/pipeline│ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │/company │ │/activity│ │ /users │ │/settings│ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ └────────────────────────────┬────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ SERVICE LAYER │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ContactService│ │ DealService │ │ UserService │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ AuthService │ │ EmailService │ │ AuditService │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └────────────────────────────┬────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ DATA LAYER │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ PostgreSQL │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │ users │ │contacts │ │ deals │ │activities│ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │companies│ │pipelines│ │ orgs │ │audit_log│ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────┘ ``` ## Entscheidungen ### Cloud vs. Client **Entscheidung: Cloud-basiert (SaaS)** | Kriterium | Cloud | Client | |-----------|-------|--------| | Installation | Keine | Erforderlich | | Updates | Automatisch | Manuell | | Wartung | Zentral | Pro Installation | | Zugriff | Überall | Nur lokal | | DSGVO | EU-Hosting | Kunde verantwortlich | | Skalierung | Einfach | Komplex | | Time-to-Market | Schnell | Langsam | ### Multi-Tenancy **Shared Database, Separate Schemas** - Jeder Kunde (Organization) hat: - Eigene `org_id` in allen Tabellen - Row-Level Security in PostgreSQL - Isolierte Daten, geteilte Infrastruktur ## Hosting (DSGVO-konform) - **Provider:** Hetzner Cloud - **Standort:** Falkenstein/Nürnberg, Deutschland 🇩🇪 - **Backup:** Täglich, 30 Tage Retention - **Verschlüsselung:** TLS 1.3 (Transit), AES-256 (Rest)