🎉 Das neue Waldheim Customer Portal ist live – Zentrale Verwaltung für alle unsere Produkte!
Wir stellen vor: Das Customer Portal – Ihre zentrale Plattform zur Verwaltung von Lizenzen, Abonnements und Support für Ecodrive, Socialverse und Silvacore. Mit vollständiger Stripe-Integration, Multi-User-System und 2FA-Sicherheit.
Customer Portal: Lizenz- und Abonnement-Verwaltung für Waldheim-Produkte
Entwicklung des Customer Portals: Eine zentrale Plattform zur Verwaltung von Lizenzen, Support-Tickets und Abonnements für alle Waldheim-Produkte (Ecodrive, Socialverse, Silvacore). Mit vollständiger Stripe-Integration, Multi-User-System und Produktmonitoring.
Das Problem
Die Verwaltung von Lizenzen, Abonnements und Support-Anfragen für mehrere Produkte (Ecodrive, Socialverse, Silvacore) über verschiedene Plattformen hinweg war ineffizient und fehleranfällig. Es fehlte eine zentrale, automatisierte Lösung zur Kundenverwaltung, Zahlungsabwicklung und Support-Koordination.
Mit welchem Tech-Stack habe ich gearbeitet?
Go
ValkeyUnsere Lösung
Entwicklung eines modernen Customer Portals als zentrale Verwaltungsplattform für alle Waldheim.dev-Produkte. Die Lösung bietet automatische Lizenzverwaltung, Stripe-Integration für Abonnements, ein dialogbasiertes Ticket-System und Produktmonitoring. Durch die vollständige Automatisierung und RBAC-basierte Zugriffskontrolle wird die Kundenverwaltung erheblich vereinfacht und professionalisiert.
Auf was habe ich geachtet?
- Design
- TailwindCSS-basiertes UI mit DaisyUI-Komponenten
- Cyan-Teal Farbschema mit modernen Glow-Effekten
- Konsistente Designsprache über alle Seiten
- Responsive Design für Mobile, Tablet und Desktop
- Accessibility-Optimierungen (WCAG-konform)
- Intuitive Navigation und User Experience
- Dark Mode Support durch DaisyUI
- Moderne Card-basierte Layouts
- Frontend
- Modernes Server-Side Rendering mit Go HTML Templates
- HTMX für interaktive Elemente ohne JavaScript-Overhead
- TailwindCSS + DaisyUI für konsistentes Design
- Cyan-Teal Gradient Theme mit Glow-Effekten
- Alpine.js für clientseitige Interaktivität
- FontAwesome Pro für professionelle Icons
- Responsive Design für alle Endgeräte
- E2E-Testing mit Playwright
- Frontend Unit Tests mit Vitest
- Automatisches Asset-Building und Deployment
- Backend
- Go 1.25 mit Gin Web Framework
- GORM als ORM für PostgreSQL
- Viper für Konfigurationsmanagement
- Valkey (Redis-Fork) für Caching und Sessions
- Session-basierte Authentifizierung mit Secure Cookies
- 2FA mit TOTP (Time-based One-Time Password)
- WebAuthn für Passkey-Support
- RBAC mit drei Benutzerrollen
- REST API für Lizenzvalidierung
- Stripe Webhooks für Zahlungsereignisse
- E-Mail-Versand mit SMTP (Gomail)
- Cron Jobs für automatische Synchronisation
- CSRF-Protection und Rate Limiting
- UUID-basierte Datenbankmodelle
- Umfassendes Unit Testing (100% Coverage-Ziel)
- Allgemein
- Zentrale Verwaltungsplattform für drei Produkte (Ecodrive, Socialverse, Silvacore)
- Multi-User-System mit RBAC (Admin, Kundenbetreuer, Kunde)
- Automatische Lizenzverwaltung mit UUID-basierter Generierung
- Vollständige Stripe-Integration für Abonnements und Zahlungen
- Dialog-basiertes Ticket-System mit E-Mail-Benachrichtigungen
- Produktstatus-Monitoring und Limit-Tracking
- Consulting-Buchungssystem (Stundenbasis)
- Sicherheit durch Session-Auth, 2FA und Passkey-Support
- DevOps
- Docker und Docker Compose für Containerisierung
- Traefik als Reverse Proxy mit Let's Encrypt SSL
- Multi-Stage Dockerfiles für optimierte Images
- GitLab CI/CD Pipeline
- Air für Hot-Reload in Development
- Automatisches Frontend-Asset-Building
- PostgreSQL 18 und Valkey 8 Container
- Mailhog für lokale E-Mail-Vorschau
- Production-Ready Deployment mit docker-compose.prod.yml
- Environment-basierte Konfiguration (.env)
- Features
- Lizenzverwaltung
- Automatische Generierung von Produktlizenzen
- UUID-basierte License Keys (Format: PRODUCT-XXXX-XXXX-XXXX-XXXX)
- API-Endpunkt zur Lizenzvalidierung für Produkte
- Limit-Tracking (Fahrzeuge, WEGs, Prompts, Storage)
- Automatische Aktivierung/Deaktivierung
- Ticket-System
- Dialog-basierte Support-Tickets
- E-Mail-Benachrichtigungen bei neuen Nachrichten
- Status-Tracking (Offen, In Bearbeitung, Geschlossen)
- Dateianhänge für Tickets
- Kundenbetreuer-Zuweisung
- Stripe-Integration
- Vollständige Abonnementverwaltung
- Checkout-Session-Erstellung
- Webhook-Verarbeitung für Zahlungsereignisse
- Automatische Lizenzverlängerung bei Zahlung
- Kundenportal für Abonnementsverwaltung
- Produktmonitoring
- Status-Tracking für Ecodrive, Socialverse, Silvacore
- Metriken-Erfassung (Fahrzeuge, Benutzer, WEGs, etc.)
- API-Endpunkt für Produktstatus-Updates
- Automatische Benachrichtigungen bei Limitüberschreitung
- Consulting
- Stundenbuchungssystem (70€/Stunde)
- Historische Buchungsübersicht
- Automatische Rechnung über Stripe
- Security
- HTTPS mit Let's Encrypt in Production
- Session-basierte Authentifizierung mit Secure Cookies
- 2FA mit TOTP (Google Authenticator, Authy)
- Passkey-Support via WebAuthn
- RBAC mit drei Rollen (Admin, Kundenbetreuer, Kunde)
- CSRF-Protection auf allen Formularen
- Rate Limiting für API-Endpunkte
- Bcrypt für Passwort-Hashing
- Sichere Session-Verwaltung mit Valkey
- Input-Validierung und Sanitization
- Testing
- Backend Unit Tests mit Go Testing
- Coverage-Reports mit go tool cover
- E2E-Tests mit Playwright (TypeScript)
- Frontend Unit Tests mit Vitest
- Automatische Test-Ausführung in CI/CD
- 100% Coverage-Ziel für kritische Komponenten
📋 Projektübersicht
Das Customer Portal ist eine zentrale Verwaltungsplattform für alle Waldheim-Produkte. Es ermöglicht die vollautomatische Verwaltung von Lizenzen, Abonnements, Support-Tickets und Produktstatus für Ecodrive (Fahrzeugkosten-Management), Socialverse (AI Social Media) und Silvacore (WEG-Verwaltung).
Kernfunktionen
- Lizenzverwaltung: Automatische Generierung, Validierung und Verwaltung von Produktlizenzen
- Stripe-Integration: Vollständige Zahlungs- und Abonnementverwaltung
- Ticket-System: Dialog-basierter Support mit E-Mail-Benachrichtigungen
- Multi-User-System: RBAC mit Admin, Kundenbetreuer und Kunden-Rollen
- Produktmonitoring: Status-Tracking und Limit-Überwachung
- Consulting: Stundenbuchungssystem für individuelle Dienstleistungen
🛠️ Technische Highlights
Backend-Architektur
- Go 1.23 für Performance und Typsicherheit
- Gin Framework für effizientes Routing
- GORM als elegante ORM-Lösung
- PostgreSQL 18 für zuverlässige Datenhaltung
- Valkey 8 (Redis-Fork) für Sessions und Caching
Frontend-Ansatz
- Server-Side Rendering mit Go Templates
- HTMX für moderne Interaktivität ohne JavaScript-Overhead
- TailwindCSS + DaisyUI für konsistentes Design
- Alpine.js für clientseitige Logik
Sicherheit & Authentifizierung
- Session-basierte Auth mit Secure Cookies
- 2FA mit TOTP (Google Authenticator)
- Passkey-Support via WebAuthn
- CSRF-Protection und Rate Limiting
DevOps & Testing
- Docker-basierte Containerisierung
- Traefik mit Let’s Encrypt SSL
- E2E-Tests mit Playwright
- Unit Tests mit 100% Coverage-Ziel
- GitLab CI/CD Pipeline
📊 Produktintegration
Das Portal verwaltet drei unterschiedliche Produkte mit jeweils eigenen Pricing-Modellen:
Ecodrive
Fahrzeugkosten-Management mit flexiblen Plänen von kostenlos bis Enterprise.
Socialverse
AI-gestütztes Social Media Management mit Pay-per-Use Option.
Silvacore
WEG-Verwaltungssoftware mit skalierbarem Storage-Modell.
🎯 Technische Herausforderungen & Lösungen
Challenge: Multi-Product-Lizenzierung
Lösung: UUID-basierte License Keys mit produktspezifischen Prefixes (z.B. ECODRIVE-XXXX-XXXX-XXXX-XXXX)
Challenge: Stripe-Synchronisation
Lösung: Webhook-basierte Event-Verarbeitung mit automatischer Lizenzverlängerung und Cron-Jobs für periodische Synchronisation
Challenge: Skalierbare Session-Verwaltung
Lösung: Valkey (Redis-Fork) als Session-Store mit automatischer Expiration
Challenge: E2E-Testing komplexer Flows
Lösung: Playwright-basierte Tests mit TypeScript für Payment-, Auth- und Ticket-Workflows
📈 Entwicklungsprozess
- Projektdauer: Kontinuierliche Entwicklung seit 2025
- Team: Solo-Entwicklung (Waldheim.dev)
- Methodik: Agile Entwicklung mit GitLab Issues
- Testing: Test-Driven Development mit 100% Coverage-Ziel
- Deployment: Automatisiert via Docker Compose und GitLab CI/CD
🚀 Deployment & Infrastruktur
- Production: Docker Compose mit Traefik Reverse Proxy
- SSL: Automatisches Let’s Encrypt
- Database: PostgreSQL 18 mit GORM Migrations
- Caching: Valkey 8 für Sessions und Performance
- Monitoring: Produktstatus-API für alle integrierten Produkte
- Email: SMTP mit Mailhog für lokale Entwicklung
🔗 API-Dokumentation
Das Portal bietet REST-APIs für:
- Lizenzvalidierung (für Produkt-Integration)
- Produktstatus-Updates
- Webhook-Verarbeitung (Stripe)
- Swagger-Dokumentation unter
/api/docs
📚 Lessons Learned
- Go’s Typsicherheit reduziert Bugs erheblich im Vergleich zu dynamisch getypten Sprachen
- HTMX ermöglicht moderne UX ohne komplexe Frontend-Frameworks
- Server-Side Rendering vereinfacht Deployment und SEO
- Stripe Webhooks erfordern sorgfältiges Error Handling und Idempotenz
- E2E-Tests sind kritisch für Payment-Flows
🎓 Erkenntnisse & Best Practices
- Strikte Trennung von Business Logic (Services) und HTTP Handlern
- UUID-basierte Datenmodelle für bessere Skalierbarkeit
- Environment-basierte Konfiguration mit Viper
- Umfassendes Testing (Unit, Integration, E2E)
- Docker Multi-Stage Builds für kleinere Images
- Rate Limiting als First-Class Citizen
Status: In aktiver Entwicklung
Maintainer: Waldheim.dev Development
Lizenz: Proprietär
Kontakt: support@waldheim.dev
Assets
