Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎵 Syncin

A Full-Stack Music Streaming Web Application

Status Backend Frontend TaskQueue Redis


📌 Overview

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


🚀 Features

  • 🎧 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


🛠️ Installation & Setup

2 Backend Setup (Flask)

Navigate to the backend directory:

cd backend
pip install -r req.txt
python3 main.py

2 Frontend Setup (Vue)

Navigate to the frontend directory:

cd frontend
npm install
npm run dev

3 Redis Setup

Navigate to the backend directory:

redis-server

4 Celery Workers & Scheduler

Navigate to the backend directory:

Celery Worker:

celery -A main.celery_app worker --loglevel=INFO

Celery beat Scheduled Tasks:

celery -A main.celery_app beat --loglevel=INFO

5 Email Handling

All outgoing emails are routed through Mailhog for local development. Start Mailhog and open:

http://localhost:8025

About

Amusic player web application using vuejs and flask

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages