Skip to content

vishwakarmarahul/restheart

 
 

Repository files navigation

RESTHeart

The data REST API server for MongoDB.

Open your data, quickly build HATEOAS applications, use it as your mobile apps back-end,...

You'll find the full documentation at http://www.restheart.org.

Develop branch:

Build Status

RESTHeart is the REST API server for MongoDB.

  • Zero development time: just start it and the data REST API is ready to use
  • CRUD operations API on your data
  • Data model operations API: create dbs, collections, indexes and the data structure
  • Super easy setup with convention over configuration approach
  • Pluggable security with User Management and ACL
  • HAL hypermedia type
  • Super lightweight: pipeline architecture, ~7Mb footprint, ~200Mb RAM peek usage, starts in milliseconds,..
  • High throughput: very small overhead on MongoDB performance
  • Horizontally scalable: fully stateless architecture supporting MongoDB replica sets and shards
  • Built on top of Undertow non-blocking web server
  • Embeds the excellent HAL browser by Mike Kelly (the author of the HAL specifications)
  • Support Cross-origin resource sharing (CORS) so that your one page web application can deal with RESTHeart running on a different domain. In other words, CORS is an evolution of JSONP
  • Ideal as a AngularJS (or any other MVW javascript framework) back-end

How to run it

Vagrant

If you don’t want to install and run all the components manually on your host, there is a handy Vagrant box available for creating a complete virtual development environment, using a Ubuntu 14.04 image with JDK 8, MongoDB 3 and the latest RESTHeart server. You can then skip section 2 to 6 and jump directly to section 7, in case you want to know how to change the default security settings.

Docker

Docker is even simpler. There is a Docker container with a JVM running RESTHeart, linked to another container running MongoDB, which makes use of the official MongoDB image.

Bare metal

Please follow the next sections for a full local installation.

RESTHeart requires Java 8, make sure you have it and available on your path. It builds with Maven.

Download the latest release from github releases page, unpack the archive and just run the jar.

$ java -server -jar restheart.jar

You might also want to specify a configuration file:

$ java -server -jar restheart.jar etc/restheart.yml

How to build it

Clone the repository and update the git submodules (the HAL browser is included in restheart as a submodule):

$ git submodule update --init --recursive 

Build the project with maven

$ mvn clean package

Optionally run the integration test suite (make sure mongod is running on localhost on default port 27017 without authentication, i.e. no --auth option specified)

$ mvn verify

About

RESTHeart data API server for MongoDB

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%