![logo](http://kuzzle.io/guide/images/kuzzle.svg)
For UI and linked objects developers, Kuzzle is an open-source solution that handles all the data management (CRUD, real-time storage, search, high-level features, etc;).
Kuzzle features are accessible through a secured API. It can be used through a large choice of protocols such as REST, Websocket or MQTT.
Kuzzle uses Elasticsearch filter DSL (see filters syntax for more details) as filtering language, and Redis to manage filters cache.
If you are running Docker and just want to get your own Kuzzle running, you can use the provided docker-compose file.
Prerequisites:
- Docker (version >1.5.0)
- Docker Compose (version >1.2.0)
From Kuzzle's root directory:
$ docker-compose up
Note: Kuzzle need an access to the web to download plugins. If you are behind a proxy, you may use this container to configure docker accordingly.
More information about plugins here
If you are not running Docker on your system, you can pop a virtual machine to run Kuzzle.
Prerequisites:
From the root directory:
$ vagrant up
Take a look at the documentationfor more installation ways. (Manual installation, update, add fixture, database reset and more):
Your applications can now connect to Kuzzle. We provide a few ways to do this:
- Using one of our SDK (Javascript, Android, more coming soon...).
- Directly, by accessing one of our API (REST, WebSocket, AMQP, MQTT or STOMP)
You can also play with our demos for a quick Kuzzle overview.
$ npm test
Because functional tests need to be done in a running Kuzzle environment, it is recommended to run these tests from a Kuzzle container.
Using Compose:
$ docker-compose -f docker-compose/test.yml up
This command will pop all the stack for running Kuzzle, then execute unit test and functional test. When all tests are done, containers are destroyed.
Using a Vagrant virtual machine:
$ vagrant ssh -c 'cp -fR /vagrant /tmp/ && cd /tmp/vagrant && docker-compose -p kuzzle -f docker-compose/test.yml up'
You may also run unit and functional tests separately, or with additional arguments. For more information, check the unit testing and the functional testing documentation.
See contributing documentation
Thanks to Sails project for a good Node.js infrastructure example.
Kuzzle is published under Apache 2 License.