Skip to content

A software project for syncing playlist between two platforms (youtube and spotify).

Notifications You must be signed in to change notification settings

nojux-official/CentralMusicHub

Repository files navigation

CentralMusicHub

Technical task

A software project for matching tracks across youtube and spotify platforms with the ability to copy contents between playlists using backend and chrome extension.

Architecture

Here's the architecture diagram illustrating the structure of the system:

Architecture Diagram

UML graph representing the backend components:

Backend UML graph

Documentation

Documentation can be accessed here.

Installation of the Chrome extension

Steps:

  1. Download the Chrome extension from <>
  2. Go to chrome://extensions/
  3. Enable developer mode
  4. Select the "Load unpacked" and pick the directory containing the manifest file of extension
  5. Now the extension's icon will be near the browse's address bar

Installation for server

For end user this step is not required.

Docker setup on linux

# given Docker is installed
git clone https://github.com/nojux-official/CentralMusicHub
cd CentralMusicHub
git checkout dev
# create .env file with required credentials (example at sample.env)
sudo docker build -t centralmusichub .
sudo docker run -it --rm -p 80:80 --name cmh centralmusichub

Ubuntu setup

# install nodejs 20 and up from official nodeJS website
sudo wget -O node.tar.xz https://nodejs.org/dist/v20.12.0/node-v20.12.0-linux-x64.tar.xz \
    && tar -xf node.tar.xz --strip-components=1 -C /usr/local \
    && rm node.tar.xz
sudo apt install -y python3-pip ffmpeg
pip3 install spotdl

git clone https://github.com/nojux-official/CentralMusicHub
cd CentralMusicHub
git checkout dev
# create .env file with required credentials (example at sample.env)
npm install
node index.js

Windows setup

# install nodejs 20 and up from official nodeJS website
# install python3.10 and up from official website
# install git

pip install spotdl
python -m spotdl --download-ffmpeg

git clone https://github.com/nojux-official/CentralMusicHub
cd CentralMusicHub
git checkout dev
# create .env file with required credentials (example at sample.env)
npm install
node index.js

Contributors

We are 4 students from the Kaunas University of Technology, studying Software systems.

  • Nojus Sajauskas,
  • Emilija Nikita,
  • Ramojus Drachneris,
  • Lukas Kirilevičius

Testing artifacts

Type Link
Test plan Test plan
Unit tests and integration tests Unit tests and integration tests
Static testing Static testing

About

A software project for syncing playlist between two platforms (youtube and spotify).

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •