# StudioFlow — Backend (API & Worker) ## Übersicht Dieses Projekt enthält die gesamte Geschäftslogik, die API-Endpunkte und den Hintergrund-Worker für StudioFlow. Es basiert auf NestJS und nutzt Prisma als ORM. ## Technologie-Stack - **Framework:** NestJS 10 (TypeScript) - **ORM:** Prisma 6 - **Datenbank:** PostgreSQL 16 - **Queue:** BullMQ (via Redis 7) - **Auth:** Passport.js + Google OAuth 2.0 - **Validierung:** class-validator + zod - **Dokumentation:** Swagger (@nestjs/swagger) ## Kernmodule 1. **Render-Engine:** Wandelt Video-Konfigurationen in finale Beschreibungen um. 2. **Quota-Management:** Überwacht und plant YouTube API-Units (Hash-basierter Diff). 3. **Bulk-Jobs:** Verarbeitet Massenänderungen asynchron via BullMQ. 4. **Linting:** Validiert Metadaten gegen vordefinierte Regeln. 5. **Sync-Service:** Kommuniziert mit der YouTube Data API v3. ## Setup & Start 1. `npm install` 2. Prisma-Client generieren: `npx prisma generate` 3. Server starten: `npm run start:dev` (Main Entry: `src/main.ts`) 4. Worker starten: `npm run start:worker` (Worker Entry: `src/worker.ts`) ## Verzeichnisstruktur - `src/main.ts`: Entrypoint für die REST API - `src/worker.ts`: Entrypoint für den BullMQ Worker - `src/shared/render-engine/`: Die zentrale Rendering-Logik - `src/modules/`: Alle fachlichen Module (Videos, Blocks, Templates, etc.) - `prisma/`: Datenbank-Schema und Migrationen