# PowerOn PORTA -- Komponentenübersicht ## Produkt PowerOn PORTA ist eine Multi-Tenant SaaS-Plattform mit Feature-Store-Modell, AI-Agent-Workspace und mandantenweiter Datenneutralisierung. ## Komponenten | Komponente | Repository (Forgejo) | Technologie | Beschreibung | |-----------|-----------|-------------|-------------| | Frontend Nyla | ui-nyla | React/TypeScript, Vite | Zentrales UI für alle Features | | Platform Core | platform-core | FastAPI, Python, PostgreSQL | Backend REST-API, Services, AI-Core | | Private LLM | service-llm-private | Python | Internes LLM für Neutralisierung + sensitive Daten | | Preprocessing | service-preprocessing | Python | Datenvorverarbeitung Power BI → SQLite, SQL-Query-Service | | Teams Bot | service-teams-browser-bot | TypeScript/Node.js | Bot für Teams-Meeting-Teilnahme | | Wiki | wiki | Markdown | Dokumentation (dieses Repo) | ## Technologie-Stack | Layer | Technologie | Pfad | |-------|------------|------| | Backend (Platform Core) | FastAPI (Python), PostgreSQL | `platform-core` | | Frontend (Nyla) | React/TypeScript (Vite) | `ui-nyla` | | AI Core | Multi-Provider (Anthropic, OpenAI, Mistral, Perplexity, Tavily, PrivateLLM) | `platform-core/modules/aicore` | | DB-Connector | PostgreSQL mit pgvector (Embeddings) | `platform-core/modules/connectors/connectorDbPostgre.py` | ## Feature-Module | Feature | Beschreibung | |---------|-------------| | `workspace` | AI-Agent-Workspace mit Chat, Tools, RAG, Streaming | | `automation` | Workflow-Automatisierung (v1) | | `automation2` | Flow-Editor n8n-Style (v2) | | `commcoach` | Kommunikations-Coach mit Voice, Dossier, UDB | | `neutralization` | Datenneutralisierungs-Service und Config | | `trustee` | Trustee/Treuhand-Feature (Buchhaltung, Positionen) | | `realEstate` | Immobilien-Feature | | `teamsbot` | MS Teams Bot | ## Coding-Konventionen - Alle internen Funktionen beginnen mit `_` Prefix - camelCase für Variablen und Funktionsnamen (kein snake_case) - Keine Browser-Dialoge — `useConfirm()` / `usePrompt()` Hooks - Fehler propagieren — keine stillen Fallbacks bei kritischen Pfaden - Pydantic-Models als einzige Quelle für UI-Feld-Definitionen - `PowerOnModel` als Basis mit `sysCreatedAt`, `sysCreatedBy`, `sysModifiedAt`, `sysModifiedBy` ## Cross-Cutting Concerns - Neutralisierung: Gateway ↔ Private LLM (→ platform/neutralization.md) - RBAC: Gateway ↔ Frontend (→ platform/rbac.md) - Navigation: Gateway → Frontend (→ platform/navigation.md)