# 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 | Technologie | Beschreibung | |-----------|-----------|-------------|-------------| | Frontend Nyla | frontend_nyla | React/TypeScript, Vite | Zentrales UI für alle Features | | Gateway | gateway | FastAPI, Python, PostgreSQL | Backend REST-API, Services, AI-Core | | Private LLM | private-llm | Python | Internes LLM für Neutralisierung + sensitive Daten | | 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 (Gateway) | FastAPI (Python), PostgreSQL | `@poweron/gateway` | | Frontend | React/TypeScript (Vite) | `@poweron/frontend_nyla` | | AI Core | Multi-Provider (Anthropic, OpenAI, Mistral, Perplexity, Tavily, PrivateLLM) | `@poweron/gateway/modules/aicore` | | DB-Connector | PostgreSQL mit pgvector (Embeddings) | `@poweron/gateway/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) | | `chatbot` | Chatbot-Feature | | `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)