Initial commit: YouTube Studio Flow (backend, frontend, infrastructure, docs)
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user