1
0
Fork 0
mirror of https://github.com/heyarne/airsonic-ui.git synced 2026-05-06 10:23:39 +02:00
Modern user interface for https://github.com/airsonic/airsonic – CURRENTLY INACTIVE
  • Clojure 96.1%
  • Sass 2.8%
  • JavaScript 0.7%
  • HTML 0.4%
Find a file
2018-05-28 20:08:03 +02:00
src Setup tests 2018-05-28 19:57:03 +02:00
test/cljs/airsonic_ui/utils Setup tests 2018-05-28 19:57:03 +02:00
.gitignore Update .gitignore to match new folder structure 2018-05-28 13:52:52 +02:00
.travis.yml Setup tests 2018-05-28 19:57:03 +02:00
karma.conf.js Setup tests 2018-05-28 19:57:03 +02:00
package-lock.json npm audit fix 2018-05-28 20:08:03 +02:00
package.json Setup tests 2018-05-28 19:57:03 +02:00
README.md Setup tests 2018-05-28 19:57:03 +02:00
shadow-cljs.edn Setup tests 2018-05-28 19:57:03 +02:00

Airsonic Web Client Build Status

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.

Tests

This project uses karma for tests. Make sure to have Google Chrome installed, otherwise the watcher will time out. If you want to run tests continuously in the background, you may want to have Growl installed to show notifications (see setup instructions).

# run tests once
$ npm test
# run tests continuously, watching for changes
$ npm run test:watch

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