Skip to content

SilentJungle399/JamSpace

Repository files navigation

JamSpace

A real-time collaborative music streaming platform built with Nuxt 3 and TypeScript. JamSpace allows multiple users to listen to music together synchronously, featuring YouTube and Spotify integration, real-time chat, lyrics display, and comprehensive playback controls.

Features

  • Real-time music synchronization across all connected users
  • YouTube and Spotify integration for music search and playback
  • Live lyrics display with time synchronization
  • Real-time chat functionality
  • User authentication via Discord OAuth
  • Dynamic queue management system
  • Role-based access control
  • Autoplay and smart queue features

Tech Stack

  • Frontend: Nuxt 3, TypeScript, Vue 3, Socket.IO
  • Backend: Python (aiohttp), MongoDB

Pictures

image image

Installation

Prerequisites

  • Node.js 16+
  • Python 3.8+
  • MongoDB (assumed to be running on localhost:27017)
  • PM2 (for production)

Backend Setup

pip install -r requirements.txt

Frontend Setup

npm install
# or
yarn install

Development

Start the development servers:

# Start Nuxt development server
npm run dev

# Start Python backend server
npm run yt

The application will be available at:

Production Deployment

  1. Build the application:
npm run build
  1. Start using PM2:
pm2 start pm2.config.js

This will start:

  • Nuxt production server on port 25691
  • Python backend on port 25690
  • WebSocket server on port 25692

License

MIT License - see the LICENSE file for details

About

A real-time collaborative music streaming platform built with Nuxt 3, TypeScript, and Socket.IO that enables synchronized music playback, live chat, and queue management across multiple users. Features include YouTube/Spotify integration, Discord authentication, and real-time lyrics display.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors