🚀 Challenge: “Real-Time Image Processing Pipeline”
📋 Overview
Build a full-stack application where users can submit URLs for image processing.
The backend uses a BullMQ worker to process images, store results in Firebase, and the frontend displays progress in real-time.
API Endpoints:
POST /api/jobs - Create a new image processing job
GET /api/jobs/:id - Get job status
GET /api/jobs - List all jobs
BullMQ Implementation:
- Create a queue named
imageProcessing
- Implement a worker that processes jobs concurrently
- Each job should:
- Download an image from a provided URL
- Perform transformations (like resize, grayscale, add watermark, etc)
- Use any library available
- Upload the result to Firebase Storage
- Update job status in Firestore at each step
Frontend:
- Single page with a form to submit image URLs
- Real-time job list showing all jobs with their status
- Progress bar for each job showing completion percentage
- Display result image when completed