mirror of
http://172.20.10.11:3000/gitadmin/INSIGHT-MVP.git
synced 2026-06-25 06:16:38 +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>
74 lines
2.5 KiB
Markdown
74 lines
2.5 KiB
Markdown
# 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 `any` in TypeScript — strict mode immer
|
|
- Kein `localStorage` für Tokens (Access: Memory, Refresh: HttpOnly Cookie)
|
|
- Globaler `ValidationPipe` (whitelist + forbidNonWhitelisted)
|
|
- `@Public()` explizit für öffentliche Routen
|
|
- Rollen immer via `@Roles()` + `RolesGuard` auf 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
|