Awesome
systems-toolbox-sente
This library gives you WebSockets communication between a Clojure backend and ClojureScript web clients. One of the applications using it is BirdWatch, which is a good example for an application where information continuously flows from the server to the connected client, rather than only answering a few requests on page load.
In addition, the server side component also allows specifying routes and their handlers so that REST requests can also be answered.
These components have previously been part of the system-toolbox library and were moved into a separate repository to reduce dependencies.
Testing
As a default, the tests will run in Firefox. This requires you to install GeckoDriver first:
$ bin/get-geckodriver.sh
With GeckoDriver installed, you can fire up the tests:
$ lein integration-tests
Also, you can run the tests using PhantomJS:
$ BROWSER=phantomjs lein integration-tests
Or in Chrome:
$ bin/get-chromedriver.sh
$ BROWSER=chrome lein integration-tests
Tests are run automatically on CircleCI using Chrome:
On TravisCI, the tests are run on PhantomJS:
Test coverage can also be checked:
$ lein test-coverage
License
Copyright © 2015, 2016 Matthias Nehlsen
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.