Skip to content

tadhgboyle/WebApp

 
 

Repository files navigation

WebApp

Web-based music player for communities (hacker spaces, maker spaces).

Introduction

Music is important. However, when you're with a group, who is in charge? Everyone should be, of course! This music player allows everyone to create their own playlists. Then, when you're together, enable the playlists of everyone who is present. Music will be chosen from each playlist with a fair distribution.

Features

  • No repetition!
    • Shuffle algorithm ensures the least recently played songs are picked first.
  • No metadata hassle!
    • Album covers are automatically fetched from MusicBrainz or using a bing web scraper
    • Lyrics are automatically fetched using a web scraper
    • Metadata editor to easily correct metadata during music playback
  • Easy file management!
    • Built-in web file browser to download, upload, rename and delete files
    • Built-in music downloader using yt-dlp
  • Performant!
    • Written in pure HTML, CSS and JavaScript without third party libraries. The frontend is fast even, on an old laptop or cheap single board computer!
    • Queued songs are stored as blobs in the browser's storage. Temporary internet connection issues are no problem.
  • Mobile compatible!
    • Responsive design, made for desktop and mobile
    • Touch-friendly interface
    • Audio files and images are compressed on-the-fly, with various quality options to save data.
  • Welding gloves compatible!
    • Hotkeys are available for common actions, allowing you to skip a track while wearing the most unwieldy attire.
  • Freedom!
    • Meant to run on your own server, using your own music files.
    • Web interface makes no requests to the internet, so clients can't be tracked
  • Statistics!
    • Last.fm scrobbling (each user can connect their own last.fm account)
  • Fair!
    • Audio is RMS-normalized. Loudly mastered EDM will be just as loud as quiet 80s tracks.
  • Fun!
    • Enable 'Album cover meme mode' to replace album covers by memes that are sometimes funny (chosen memes are related to the song title).

Screenshots

See docs/screenshots.md.

Usage

See docs/installation.md.

User management

See docs/manage.md.

Development and translation

See docs/development.md.

Made possible by open source software

This project is using many open source software and libraries, such as:

It also relies on some other parties for web scraping, who shall not be named.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 45.9%
  • JavaScript 27.9%
  • Jinja 17.4%
  • CSS 7.0%
  • PLpgSQL 1.4%
  • Shell 0.3%
  • Dockerfile 0.1%