Zum Inhalt

Milestone 1: Tenant-System + Shared Contacts + Tags + Activities

Status: Abgeschlossen Datum: 2026-03-05 Revision: 015_tenant_contacts

Zusammenfassung

Foundation fuer das modulare Produktsystem (xynap.cloud). Multi-Tenant-Architektur mit Shared Components: Kontaktverwaltung, Tags und Activity-Timeline.

Was wurde gebaut

Backend (FastAPI)

6 neue Datenbanktabellen (Alembic Migration 015_tenant_contacts):

Tabelle Zweck
tenants Mandanten mit Slug, Plan, Quota, Trial
tenant_modules Aktivierte Module pro Tenant (crm, cms, mail...)
contacts Kontakte/Firmen mit E-Mails, Telefon, Tags, Custom Fields
contact_relations Beziehungen zwischen Kontakten (Mitarbeiter, Partner...)
tags Tenant-spezifische Tags mit Farbe
activities Chronologische Activity-Timeline (E-Mail, Anruf, Notiz...)

4 SQLAlchemy Models: Tenant, TenantModule, Contact, ContactRelation, Tag, Activity

2 API Router unter /api/v1/:

Endpoint Methode Beschreibung
/tenants GET Alle Tenants auflisten
/tenants POST Neuen Tenant erstellen (mit Modulen)
/tenants/{id} GET Tenant-Details
/tenants/{id} PUT Tenant aktualisieren
/tenants/{id}/modules GET Module eines Tenants
/tenants/{id}/modules POST Modul aktivieren
/tenants/{id}/modules/{slug} DELETE Modul deaktivieren
/contacts GET Kontakte auflisten (Suche, Filter, Pagination)
/contacts POST Kontakt erstellen (+ auto Activity)
/contacts/{id} GET Kontakt-Details
/contacts/{id} PUT Kontakt aktualisieren (+ Change-Activity)
/contacts/{id} DELETE Kontakt loeschen
/contacts/{id}/activities GET Activities eines Kontakts
/contacts/activities POST Activity manuell erstellen
/contacts/tags GET Tags auflisten
/contacts/tags POST Tag erstellen
/contacts/tags/{id} DELETE Tag loeschen

Frontend (Vue 3)

3 neue Views:

  • ContactsView — Kontaktliste mit Echtzeit-Suche, Typ-Filter, Pagination, Create/Edit Modal
  • ContactDetailView — Kontakt-Detail mit Kontaktdaten, Tags, Notizen, Activity-Timeline, Activity-Erstellung
  • TenantsView — Tenant-Karten mit Modul-Tags, Create-Modal mit Modul-Auswahl, Detail-Modal mit Modul-Verwaltung

Navigation: Neue Sidebar-Sektion "Produkte" mit Tenants, Kontakte, XyNaP.cms, XyNaP.crm

Dateien

Neue Dateien

Datei Typ
backend/app/core_models/tenant.py Model
backend/app/core_models/contact.py Model
backend/app/core_models/tag.py Model
backend/app/core_models/activity.py Model
backend/app/core/tenants/router.py API Router
backend/app/core/contacts/router.py API Router
backend/alembic/versions/015_tenant_contacts_tags.py Migration
frontend/src/shell/contacts/ContactsView.vue View
frontend/src/shell/contacts/ContactDetailView.vue View
frontend/src/shell/tenants/TenantsView.vue View

Modifizierte Dateien

Datei Aenderung
backend/app/core_models/__init__.py Neue Model-Imports
backend/app/main.py Router-Registration (tenants, contacts)
frontend/src/shell/router.ts Neue Routes
frontend/src/shell/layout/SidebarNav.vue Navigation
frontend/src/main.ts i18n Labels

Naechste Schritte (MS-2)

  • CRM Pipeline + Deals
  • Deal-Stages (Kanban-Board)
  • Lead-Scoring
  • Dashboard mit Umsatz-Widgets