Files

1.4 KiB

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