wiki/implementation/Saas Multi Tenant Mandate/FEATURE_NAMING_CONVENTION.md
2026-01-20 00:56:31 +01:00

122 lines
4.4 KiB
Markdown

# Feature Naming Convention - Analyse & Umsetzung
## 1. Naming Convention Standard
Jedes Feature folgt dieser Namenskonvention:
| Komponente | Dateiname | Beispiel (Feature: Trustee) |
|------------|-----------|----------------------------|
| Datenmodell | `datamodelXxx.py` | `datamodelTrustee.py` |
| Interface | `interfaceDbXxx.py` | `interfaceDbTrustee.py` |
| Route | `routeFeatureXxx.py` | `routeFeatureTrustee.py` |
---
## 2. Aktuelle Struktur (IST)
### 2.1 Trustee Feature ✅
| Komponente | Dateiname | Status |
|------------|-----------|--------|
| Datenmodell | `datamodelTrustee.py` | ✅ |
| Interface | `interfaceDbTrustee.py` | ✅ |
| Route | `routeFeatureTrustee.py` | ✅ |
### 2.2 Chat-basierte Features (Chatbot, ChatDynamic, Workflow) ✅
| Komponente | Dateiname | Beschreibung |
|------------|-----------|--------------|
| **Core-Datenmodell** | `datamodelChat.py` | Shared Model für alle Chat-Features |
| Interface | `interfaceDbChatbot.py` | DB-Interface für Chat-Daten |
| Route Chatbot | `routeFeatureChatbot.py` | Chatbot-Endpoints |
| Route ChatDynamic | `routeFeatureChatDynamic.py` | Dynamic Chat-Endpoints |
| Route Workflow | `routeFeatureWorkflow.py` | Workflow-Endpoints |
### 2.3 RealEstate Feature ✅
| Komponente | Dateiname | Status |
|------------|-----------|--------|
| Datenmodell | `datamodelRealEstate.py` | ✅ |
| Interface | `interfaceDbRealEstate.py` | ✅ |
| Route | `routeFeatureRealEstate.py` | ✅ |
### 2.4 Workflow Feature ✅
| Komponente | Dateiname | Status |
|------------|-----------|--------|
| Datenmodell | `datamodelWorkflow.py` | ✅ |
| Interface | (Teil von Chatbot DB) | ✅ |
| Route | `routeFeatureWorkflow.py` | ✅ |
---
## 3. Zusammenfassung der Änderungen
### 3.1 Umbenennungen ✅ ERLEDIGT
| Von | Nach | Status |
|-----|------|--------|
| `interfaceDbTrusteeObjects.py` | `interfaceDbTrustee.py` | ✅ |
| `interfaceDbChatObjects.py` | `interfaceDbChatbot.py` | ✅ |
| `interfaceDbRealEstateObjects.py` | `interfaceDbRealEstate.py` | ✅ |
| `routeFeatureAutomation.py` | `routeFeatureWorkflow.py` | ✅ |
> **Hinweis:** `datamodelChat.py` wurde **NICHT** umbenannt, da es ein Core-Datenmodell ist,
> das von mehreren Features verwendet wird (Chatbot, ChatDynamic, Workflow).
### 3.2 Betroffene Import-Stellen
Nach jeder Umbenennung müssen Imports aktualisiert werden in:
- `app.py` (Router-Registrierung)
- Andere Route-Dateien (Cross-Imports)
- Interface-Dateien (Model-Imports)
- Feature-Module (Interface-Imports)
---
## 4. Feature-Übersicht nach Umbenennung
| Feature | Datenmodell | Interface | Route | Datenbank |
|---------|-------------|-----------|-------|-----------|
| **Trustee** | `datamodelTrustee.py` | `interfaceDbTrustee.py` | `routeFeatureTrustee.py` | `poweron_trustee` |
| **Chatbot** | `datamodelChat.py` (shared) | `interfaceDbChatbot.py` | `routeFeatureChatbot.py` | `poweron_chat` |
| **ChatDynamic** | `datamodelChat.py` (shared) | `interfaceDbChatbot.py` | `routeFeatureChatDynamic.py` | `poweron_chat` |
| **Workflow** | `datamodelChat.py` + `datamodelWorkflow.py` | `interfaceDbChatbot.py` | `routeFeatureWorkflow.py` | `poweron_chat` |
| **RealEstate** | `datamodelRealEstate.py` | `interfaceDbRealEstate.py` | `routeFeatureRealEstate.py` | `poweron_realestate` |
---
## 5. Nicht-Feature Dateien (bleiben unverändert)
Diese Dateien sind **keine Feature-Dateien** und folgen anderen Konventionen:
### Datenmodelle (System/Shared)
- `datamodelUam.py` - User Access Management
- `datamodelRbac.py` - Role-Based Access Control
- `datamodelFeatures.py` - Feature/FeatureInstance Definitionen
- `datamodelMembership.py` - FeatureAccess
- `datamodelPagination.py` - Pagination Utilities
- `datamodelAudit.py` - Audit Logging
- `datamodelFiles.py` - File Storage
- `datamodelMessaging.py` - Email/SMS
- `datamodelInvitation.py` - User Invitations
### Interfaces (System/Shared)
- `interfaceDbAppObjects.py` - Zentrale App-Datenbank
- `interfaceFeatures.py` - Feature-Verwaltung
- `interfaceRbac.py` - RBAC-Operationen
- `interfaceMessaging.py` - Messaging-Service
- `interfaceBootstrap.py` - System-Bootstrap
### Routes (System/Admin)
- `routeDataUsers.py` - User CRUD
- `routeDataMandates.py` - Mandate CRUD
- `routeRbac.py` - RBAC-Verwaltung
- `routeFeatures.py` - Feature-Verwaltung
- `routeAdmin.py` - Admin-Funktionen
- `routeSecurity*.py` - Auth-Endpoints
---
*Erstellt: 2026-01-19*
*Status: ✅ Alle Umbenennungen abgeschlossen*