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
Arne Schlüter cd06abff97 Restructure app init; fixes #5 and #11
Squashed commit of the following:

commit d4242bf1a390994606b7bd6e630c55338a14aad4
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon Jul 9 21:12:44 2018 +0200

    Add loading spinner, done with reworked app boot flow; fixes #5 and #11

commit e864ae4e578f96b86f3c0239b79f5224f0bb0020
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon Jul 9 19:43:02 2018 +0200

    Start restructuring app boot flow

commit a8cdbef80acde9f185a588ab86f8ea6964ebe8ab
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon Jul 9 14:03:43 2018 +0200

    Ignore rebel readline artifacts

commit 67eae3bc6aa2938ad6748c78b6259e532e66f865
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon Jul 9 14:03:11 2018 +0200

    Update shadow-cljs and run npm audit fix
2018-07-09 21:16:28 +02:00
src Restructure app init; fixes #5 and #11 2018-07-09 21:16:28 +02:00
test/cljs/airsonic_ui Restructure app init; fixes #5 and #11 2018-07-09 21:16:28 +02:00
.gitignore Restructure app init; fixes #5 and #11 2018-07-09 21:16:28 +02:00
.travis.yml Cache maven deps 2018-05-29 22:47:25 +02:00
karma.conf.js Setup tests 2018-05-28 19:57:03 +02:00
package-lock.json Restructure app init; fixes #5 and #11 2018-07-09 21:16:28 +02:00
package.json Restructure app init; fixes #5 and #11 2018-07-09 21:16:28 +02:00
README.md Forgot to remove empty section in README 2018-05-31 14:38:52 +02:00
shadow-cljs.edn Update re-frame-10x 2018-06-11 23:52:09 +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 and continuous testing
# first build takes a while. open http://localhost:8080
$ npm run dev

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

Note: If you want nice console output in your tests, make sure to (enable-console-print!). You can call println afterwards like you're used to.

Deployment

# build and optimize the code once for production
$ npm run build

# runs npm run build and publishes everything via gh-pages
$ npm run deploy

All build artifacts will be output in /public. Don't change anything in there as changes will be overwritten.