1.6 KiB
Airsonic Web Client
This is just meant for exploration. If you want to see something more serious, take a look at airsonic-ui.
Implemented so far
- Login
- Welcome screen (most recently played)
- Artist detail
- Album detail
- Play Track w/ next and previous
- Currently playing notification
Development
The project is written in ClojureScript and uses re-frame for structure and peace of mind. The build tool is shadow-cljs, which offers nice editor integration and interoparibility with the whole JavaScript ecosystem. If you haven't worked with re-frame: I highly recommend it. Good resources are the project's docs and a post about its building blocks.
To build the project make sure you have Node.js (v6.0.0), npm and Java 8 installed in your system.
# after cloning the project, first install all dependencies
$ npm install
# start a continuous build with hot-code-reloading; first build takes a while. open http://localhost:8080
$ npm run dev
# build and optimize the code once for production
$ npm run build
Note: In dev mode this project comes with re-frame-10x. You can hit Ctrl + h to display the overlay and have a time traveling debugger.
Build artifacts
Everything you need to serve the app can be found inside the public folder.
Deploy to github
# will build everything and publish everything in /public via gh-pages
$ npm run deploy