Giter Site home page Giter Site logo

centralmusichub's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.