This is an app for helping DJs to construct and manage lists of tracks whilst browsing online music sources such as Bandcamp and Beatport. More generalised digital music curation features may be added in the future, focussing on ownership / downloadable content over streaming.
Most music apps these days are geared around streaming, with DJs and digital record collectors being overlooked. Existing apps serving this demographic broadly fall into three categories:
- Local Music Management / Playback (iTunes, Clementine, etc.)
- Online Music Acquisition (Bandcamp, Beatport, etc.)
- DJ Software (Rekordbox, Traktor, etc.)
The problem is that the places for acquiring new digital music are online and totally separated from the places where the downloaded tracks end up. Having to cross-reference different offline and online lists with all the different music platforms and manage the state of each track (non-triaged / triaged / listened / bought / downloaded / in library) is tedious.
This problem will be made a lot easier if the gaps between local library, DJ software and online streaming / download platforms can be bridged in some way.
See the current Releases for working builds to download and install.
PNPM is the recommended package manager for use with this app, though others will likely work. The following command will initialise the repository for development:
pnpm i
To start the development server:
pnpm dev
Hot Module Replacement (HMR) with React Fast Refresh and Webpack Dev Server is in use for rapid iteration on both renderer
and main
processes.
The following technologies are used:
- Electron (App Framework)
- TypeScript (Core language)
- Babel (Transpilation of TS => JS)
- Webpack (Development, Build and Deployment tooling)
- React (UI)
- Redux Toolkit (State management)
- PostCSS (CSS tooling)
- TailwindCSS (Styling)
- Jest (Unit Testing)
- Testing Library (Unit Testing)
- WebdriverIO (End to End Testing)
- Prettier (Code formatting)
- ESLint (TS & JS linting)
- StyleLint (CSS linting)
.