![logo](docs/images/logo.png)
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 Message Queuing protocols.
Kuzzle uses Elasticsearch filter DSL (see filters syntax for more details) as filtering language, RabbitMQ to manage queues and Redis to manage filters cache.
Kuzzle is currently in Alpha stage of development.
We have a pretty clear idea of what we want to implement to bring Kuzzle to a Beta version.
Check our roadmap if you wish to know more about it.
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
If you are not running Docker on your system, for instance if you are running Windows or MacOs, you can pop a virtual machine to run Kuzzle.
Prerequisites:
From the root directory:
$ vagrant up
Take a look at the installation file for more installation ways. (Manual installation, 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, more coming soon)
- Directly, by accessing one of our API (REST, WebSocket, AMQP, MQTT or STOMP)
You can also play with 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.
From a Docker container:
$ docker exec -ti kuzzle_kuzzle_1 bash
$ npm test
Using a Vagrant virtual machine:
$ vagrant ssh -c 'docker exec -ti kuzzle_kuzzle_1 bash'
$ npm test
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.