# INSIGHT-Apps — Developer Briefing > Dieses Dokument ist der Einstiegspunkt für jede neue Claude Code Session in diesem Repo. > Lies es vollständig bevor du Code schreibst. ## Was ist dieses Repo? **INSIGHT-Apps** enthält alle fachlichen Module der INSIGHT-Plattform. Jedes Modul ist ein eigenständiges NestJS-Service + React-Frontend-Paket, das sich über den `InsightModule`-Contract in die Platform-Shell einbindet. ## Struktur ``` packages/ ├── crm-service/ # NestJS: Company, Contact, Deal, Activity, Pipeline └── crm-frontend/ # React: CRM-Seiten → wird in INSIGHT-Platform Shell eingebunden # zukünftig: # ├── hr-service/ # └── hr-frontend/ ``` ## Module-Contract (PFLICHT lesen!) Jedes Frontend-Paket **muss** einen `InsightModule`-Manifest exportieren. Siehe: `INSIGHT-Shared/contracts/module-interface.md` ```typescript // Beispiel crm-frontend/src/index.ts export const CrmModule: InsightModule = { id: 'crm', name: 'CRM', requiredRole: 'crm', routes: [...], navigation: [...], } ``` ## Abhängigkeiten zu anderen Repos | Repo | Beziehung | |------|-----------| | `INSIGHT-Shared` | Lesen: module-interface.md, api-platform.md — Schreiben: api-crm.md nach Änderungen | | `INSIGHT-Platform` | Nutzt Core-Service APIs (Auth, User) — eigene Module registrieren sich in der Shell | | `INSIGHT-Infra` | Stellt DBS01 (PostgreSQL) und APS01 (Docker) bereit | ## Confluence Dokumentation - **Phase 3 — CRM Modul:** https://xinion.atlassian.net/wiki/x/AoCUEw - **CRM-Datenmodell:** https://xinion.atlassian.net/wiki/x/AYCVEw - **Projekt-Übersicht:** https://xinion.atlassian.net/wiki/spaces/ProjektINS/overview ## Tech Stack - **Backend:** NestJS 10, TypeScript strict, Prisma ORM - **Frontend:** React 18, Vite, TanStack Query - **Datenbank:** PostgreSQL 16 (eigenes Schema, kein Multi-Tenancy) - **Auth:** Tokens kommen von INSIGHT-Platform Core-Service ## Sicherheitsregeln - Jeder Endpoint mit `@Roles('crm')` oder spezifischerer Rolle absichern - Kein `any` in TypeScript - Daten-Ownership prüfen: User darf nur eigene Deals bearbeiten (außer CRM_ADMIN/MANAGER) - Soft-Delete (`deletedAt`) statt hartem Löschen ## Deploy Key (dieses Repo) ``` ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAw2W+ChU6bjQdlTjHgK2FjMPXUD3/1vwNlU+aosmDqt deploy@INSIGHT-Apps ``` Privater Key: `.keys/deploy_apps_ed25519` ## Aktueller Status - **Phase:** 3 — CRM Modul - **Stand:** Konzeption (CRM-Datenmodell in Klärung) - **Nächster Schritt:** CRM-Datenmodell finalisieren → Prisma Schema → Company/Contact API