0.4.0 • Published 2 years ago

musichub v0.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Introduction

This project aims to standardize music experience and concentrate music resources on the Web which is available almost anytime and anywhere - with only a supported browser (you must have one nowadays).

It's a server-side app - it needs to be set up on a server, and it's recommended to spare sufficient disk space (and choose one outside China mainland if you want to enjoy music on some banned platforms).

It supports (or will support) plugins/addons for many other music platforms and custom themes.

Getting started

Source (recommended)

Important! Ts.ED requires Node >= 14, Express >= 4 and TypeScript >= 4.

For Linux/OS X users, open your terminal and clone this repo:

git clone https://github.com/LittleYe233/MusicHub.git

Then change directory into it and choose the branch you want (main is recommended):

cd MusicHub
git checkout main

Don't forget to copy configurations from example, or MusicHub will read built-in default settings:

cp config.example.yml config.yml

Note that git ignores config.yml by default, which is defined in .gitignore.

Now, follow the commands Ts.ED provided by default:

# install dependencies
$ npm install

# serve
$ npm run start

# build for production
$ npm run build
$ npm run start:prod

NPM

Note: The package has been published to NPM, but is not fully tested. It's just a placeholder.

Docker

Note: It's just a default method for running Ts.ED projects. It's not fully tested for this one. It's still recommended to use traditional source installation method.

# build docker image
docker compose build

# start docker image
docker compose up

Barrelsby (currently disabled)

It's currently disabled. See commit 54a3b8b1982cacf73c994e6cabcfd0928b3b4a38 and issue #1.

This project uses barrelsby to generate index files to import the controllers.

Edit .barreslby.json to customize it:

{
  "directory": [
    "./src/controllers/rest",
    "./src/controllers/pages"
  ],
  "exclude": [
    "__mock__",
    "__mocks__",
    ".spec.ts"
  ],
  "delete": false
}

To-do

  • Search engine
    • Local search
    • Online search
  • Resource management
    • Local management
    • Download/Upload
  • Plugins/Addons
    • Music API
      • NetEase Cloud Music
      • YouTube Music
  • Themes

Branches

  • main: stable upstream branch
  • unstable: unstable upstream branch, default at present
  • dev and dev_*: development branches for the owner, just ignore them!

Contribution

Lacking enough public details of this project like code styles and specifications, it's better for you to provide with bug reports and feature requests in Issue page at present.

Changelog

CHANGELOG.md

License

MIT license