mirror of
http://172.20.10.11:3000/gitadmin/INSIGHT-MVP.git
synced 2026-06-25 00:16:41 +02:00
- Alle Ansible-Rollen erstellt: common, disk_setup, docker, postgresql, pgbouncer, redis, nginx, zabbix_agent - ansible.cfg mit Pipeline-Optimierung - hosts.yml mit echten IPs (DBS01=.20, APS01=.21, WEB01=.22) - group_vars für alle Server (dbs, aps, web) - Zabbix-Server auf sentinel.xinion.de gesetzt - vault.yml.example als Vorlage für Secrets - site.yml nutzt import_playbook (DBS01→APS01→WEB01) - BRIEFING.md für alle 4 Repos angelegt (Platform, Apps, Infra, Shared) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
INSIGHT-Platform — 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?
Die INSIGHT-Plattform ist das Fundament aller INSIGHT-Dienste.
Sie stellt Authentifizierung, User-Verwaltung, Berechtigungssystem und die React-Shell bereit,
in die sich fachliche Apps (aus INSIGHT-Apps) einbinden.
Struktur
packages/
├── core-service/ # NestJS: Auth, JWT, User, Settings, Expertenprofil, RBAC
└── frontend/ # React 18 + Vite: Shell, Login, Navigation, Admin-Bereich
Abhängigkeiten zu anderen Repos
| Repo | Beziehung |
|---|---|
INSIGHT-Shared |
Lesen: module-interface.md, api-platform.md — Schreiben: api-platform.md nach Änderungen |
INSIGHT-Apps |
Apps registrieren sich via InsightModule-Contract in der Shell |
INSIGHT-Infra |
Stellt DBS01 (PostgreSQL + Redis) und APS01 (Docker) bereit |
Confluence Dokumentation
- Phase 2 — Plattform: https://xinion.atlassian.net/wiki/x/oYKSEw
- Berechtigungskonzept: https://xinion.atlassian.net/wiki/x/FQCVEw
- 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, React Router
- Datenbank: PostgreSQL 16 (auf DBS01, via PgBouncer)
- Cache: Redis 7 (auf DBS01)
- Auth: JWT RS256, Refresh Token (HttpOnly Cookie), TOTP 2FA
Sicherheitsregeln (nicht verhandelbar)
- Kein
anyin TypeScript — strict mode immer - Kein
localStoragefür Tokens (Access: Memory, Refresh: HttpOnly Cookie) - Globaler
ValidationPipe(whitelist + forbidNonWhitelisted) @Public()explizit für öffentliche Routen- Rollen immer via
@Roles()+RolesGuardauf jedem Endpoint - Kein raw SQL — ausschließlich Prisma
RBAC-Modell
User
├── platformRole: PLATFORM_ADMIN | USER
└── moduleRoles: { crm: ADMIN | MANAGER | VIEWER, ... }
Platform Admin: User-Verwaltung, System-Einstellungen, Modul-Zuweisung Module Admin: Berechtigungen innerhalb seines Moduls
Deploy Key (dieses Repo)
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK2deXkhf9Ut9728mvxwl+MyFtbjoPRXNbTR2XjmDJVs deploy@INSIGHT-Platform
Privater Key: .keys/deploy_platform_ed25519
Aktueller Status
- Phase: 2 — Plattform
- Stand: Konzeption (Berechtigungskonzept in Klärung)
- Nächster Schritt: Berechtigungskonzept finalisieren → Prisma Schema → Auth-Service