A Full-Stack Music Streaming Web Application
Syncin is a full-stack music streaming platform built with a
Flask backend and Vue 3 frontend, supporting playlist management, user accounts, and asynchronous audio processing.
Tasks such as metadata extraction, playlist generation, and scheduled jobs run through Celery, using Redis as the message broker.
A modular, scalable architecture ensures clean separation of concerns between services.
📄 Project Report:
https://drive.google.com/file/d/1jkuA3l2cPJ-5Gn6KLAG0S3DhXyoXFDM8/view?usp=drive_link
- 🎧 Music streaming with playlist support
- 🗂️ Backend powered by Flask
- ⚡ Frontend built using Vue 3
- ⏳ Asynchronous background tasks using Celery
- 📨 Local email testing via Mailhog
- 📦 Redis integration for queue management
- 🔐 Modular codebase for scalability and maintainability
Navigate to the backend directory:
cd backend
pip install -r req.txtpython3 main.pyNavigate to the frontend directory:
cd frontend
npm install
npm run devNavigate to the backend directory:
redis-serverNavigate to the backend directory:
Celery Worker:
celery -A main.celery_app worker --loglevel=INFOCelery beat Scheduled Tasks:
celery -A main.celery_app beat --loglevel=INFOAll outgoing emails are routed through Mailhog for local development. Start Mailhog and open:
http://localhost:8025