Initial commit from Create Next App

This commit is contained in:
Atakan Doğan Özban
2026-07-12 15:40:35 +02:00
commit 4f29120768
52 changed files with 10164 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
# s2yt
Create YouTube videos from an image and audio files.
## Stack
- Next.js 15 (App Router, TypeScript, Tailwind)
- PostgreSQL + Prisma
- Redis + BullMQ
- NextAuth (Google OAuth with YouTube scopes)
- FFmpeg for video encoding
- YouTube Data API v3
## Setup
1. Copy environment variables:
```bash
cp .env.example .env
```
2. Start PostgreSQL and Redis:
```bash
docker compose up -d
```
3. Install dependencies and run migrations:
```bash
npm install
npm run db:push
```
4. Configure Google OAuth in [Google Cloud Console](https://console.cloud.google.com/):
- Enable YouTube Data API v3
- Create OAuth 2.0 credentials
- Add redirect URI: `http://localhost:3000/api/auth/callback/google`
- Set `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET` in `.env`
5. Install FFmpeg on your system (required for the worker).
6. Start the web app and worker in separate terminals:
```bash
npm run dev
npm run worker
```
## Free Plan
- 14 videos/month (each audio = 1 video)
- Max 720p resolution
- 30 MB max per file
- Watermark required
- Per-video metadata (title auto-filled from audio filename)
## Scripts
- `npm run dev` — Next.js dev server
- `npm run worker` — Background job processor
- `npm run db:push` — Push Prisma schema to database
- `npm run build` — Production build