1
0
Fork 0
mirror of https://github.com/heyarne/airsonic-ui.git synced 2026-05-06 18:33:38 +02:00
airsonic-ui/README.md
Arne Schlüter 629872ec97 Setup tests
commit 1b86fa1477d9cbad441e7616b6f1adbceec76c9c
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:52:48 2018 +0200

    Cache build directories for (hopefully) faster builds

commit b614e1fa8437bb20cb5fcb05d6ab7ad318984f01
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:49:34 2018 +0200

    Fix undeclared var in test

commit f0f30e6a546ad0e4a7f65538d485b5544f7733c3
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:27:13 2018 +0200

    Configure travis and fix dependencies

commit 5a3f432d9e9ed34e21a6940a18f11fa4d0ef9b7d
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:22:33 2018 +0200

    Remove build folders from git

commit 44095cbd34e2ed6f70d43b7c72f5cb4bacb18913
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 19:17:05 2018 +0200

    Add first real test

commit 02a0ef51c61c15ddc6de88f34aa5fd2817fdca88
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 16:38:40 2018 +0200

    Add growl notifications

commit 5b09be97e04e64ecab5aba3e063f584e48d21c0a
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 14:29:02 2018 +0200

    Add karma watcher

commit 6d7859f7fd420e4057277da3605a4df5985d8ae9
Author: Arne Schlüter <arne@schlueter.is>
Date:   Mon May 28 14:20:12 2018 +0200

    Add karma and set it up for single-run tests
2018-05-28 19:57:03 +02:00

2.2 KiB

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