Skip to content

lideming/MusicCloud

Repository files navigation

MusicCloud

MusicCloud is a music website built with webfx.

This repo contains the frontend parts of MusicCloud.

The server is also open-sourced. You can easily run your own MusicCloud instance in Docker.

Build

Features

  • Music player
  • Single-page application
  • Upload and manage tracks
  • Share tracks and playlists
  • Search tracks
  • Lyrics with translation and ruby annotations, extended from LRC.
  • Comment and discussion
  • Login with OpenID Connect
  • More in TODO

Configure Build

Modify src/Settings/Settings.ts for API location, debug options etc.

Build

Though npm may still work, we use pnpm as the package manager.

Install pnpm if needed, see pnpm docs for more examples:

npx pnpm add -g pnpm

Install development dependencies:

pnpm install

Start the building process:

pnpm build

Deploy

Copy dist/* to the static website folder (see staticdir in server side configration).

Reusable Components

  • webfx - Web UI framework with utilities and basic views
  • src/Lyrics/Lyrics.ts - Lyrics parser/serializer (LRC with optional MusicCloud extension)