Skip to content

v1.0.0 - Vidiflow Backend V1

Choose a tag to compare

@hamidukarimi hamidukarimi released this 04 Jul 05:17

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 user
  • POST /api/v1/auth/login - Login user
  • POST /api/v1/auth/logout - Logout user

Downloads

  • POST /api/v1/downloads - Create download (guests + users)
  • GET /api/v1/downloads/:id - Get download details
  • GET /api/v1/downloads/:id/status - Poll download status
  • GET /api/v1/downloads/info?url=... - Preview video info
  • GET /api/v1/downloads/history - User's download history
  • POST/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 terminal

Environment 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