v1.0.0 - Vidiflow Backend V1
Vidiflow Backend V1.0.0
Production-grade backend service for the Vidiflow video downloading platform.
Features ✨
- Authentication: Registration, login/logout, JWT + refresh tokens
- Downloads: Create, track progress, view history, favorite downloads
- Provider System: Extensible architecture (YouTube, TikTok examples)
- Background Jobs: Async download processing with BullMQ + Redis
- Rate Limiting: Protection against brute force attacks
- Database: PostgreSQL with Prisma ORM
API Endpoints
Auth
POST /api/v1/auth/register- Register new userPOST /api/v1/auth/login- Login userPOST /api/v1/auth/logout- Logout user
Downloads
POST /api/v1/downloads- Create download (guests + users)GET /api/v1/downloads/:id- Get download detailsGET /api/v1/downloads/:id/status- Poll download statusGET /api/v1/downloads/info?url=...- Preview video infoGET /api/v1/downloads/history- User's download historyPOST/DELETE /api/v1/downloads/:id/favorite- Manage favorites
Tech Stack
- Runtime: Node.js
- Framework: Express.js
- Language: TypeScript
- Database: PostgreSQL + Prisma
- Auth: JWT + bcrypt
- Queue: BullMQ + Redis
- Security: helmet, cors, rate-limit, express-validator
Known Limitations (V2 planned)
- Video extraction currently returns mock data (placeholder)
- File storage not yet implemented
- No admin dashboard
- No analytics
Setup
npm install
npm run dev # Start API server
npm run worker # Start background worker in separate terminalEnvironment Variables
See .env.example
Next Steps (V2 Roadmap)
- Real video extraction with yt-dlp
- File storage (local → S3)
- WebSocket for real-time progress
- More providers (Instagram, TikTok real implementation)
- Admin dashboard
- Analytics
- API documentation (Swagger)
- Unit tests