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
- Render-Engine: Wandelt Video-Konfigurationen in finale Beschreibungen um.
- Quota-Management: Überwacht und plant YouTube API-Units (Hash-basierter Diff).
- Bulk-Jobs: Verarbeitet Massenänderungen asynchron via BullMQ.
- Linting: Validiert Metadaten gegen vordefinierte Regeln.
- Sync-Service: Kommuniziert mit der YouTube Data API v3.
Setup & Start
npm install- Prisma-Client generieren:
npx prisma generate - Server starten:
npm run start:dev(Main Entry:src/main.ts) - Worker starten:
npm run start:worker(Worker Entry:src/worker.ts)
Verzeichnisstruktur
src/main.ts: Entrypoint für die REST APIsrc/worker.ts: Entrypoint für den BullMQ Workersrc/shared/render-engine/: Die zentrale Rendering-Logiksrc/modules/: Alle fachlichen Module (Videos, Blocks, Templates, etc.)prisma/: Datenbank-Schema und Migrationen