/restheart

RESTHeart, the Web API for MongoDB

Primary LanguageJavaGNU Affero General Public License v3.0AGPL-3.0

RESTHeart

The Web API for MongoDB made with ❤️ by SoftInstigate

Build Status Docker Stars Docker Pulls Join the chat at https://gitter.im/SoftInstigate/restheart

Table of Contents

Summary

RESTHeart connects to MongoDB and opens data to the Web. Clients such as mobile and javascript apps can use the database via a simple RESTful API.

For more information, visit RESTHeart's website and documentation.

Setup

Refer to restheart.org/learn/setup for detailed information on how to setup RESTHeart.

How to Build

Building RESTHeart requires Maven.

Clone the repository and update the git submodules. RESTHeart includes the HAL browser as a submodule:

$ git submodule update --init --recursive

Build the project with Maven:

$ mvn clean package

Integration Tests

To run the integration test suite, first make sure that mongod is running on localhost, on default port 27017 and without authentication enabled — i.e. no --auth option is specified.

$ mvn verify -DskipITs=false

Alternatively, if you have Docker, execute the following script:

$ ./bin/integration-tests.sh 

The script starts a Docker container running MongoDB and then execute the integration tests with Maven. It will clean-up the container at the end.

Maven Dependencies

RESTHeart's releases are available on Maven Central.

Stable releases are available at:

https://oss.sonatype.org/content/repositories/releases/org/restheart/restheart/

If you want to embed RESTHeart in your project, add the dependency to your POM file:

<dependencies>
    <dependency>
        <groupId>org.restheart</groupId>
        <artifactId>restheart</artifactId>
        <version>3.3.0</version>
    </dependency>
</dependencies>

Snapshot Builds

Snapshots are available at Sonatype. If you want to build your project against a development release, first add the SNAPSHOT repository:

 <repositories>
    <repository>
         <id>restheart-mvn-repo</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
         <snapshots>
             <enabled>true</enabled>
             <updatePolicy>always</updatePolicy>
         </snapshots>
    </repository>
 </repositories>

Then include the SNAPSHOT dependency in your POM:

<dependencies>
    <dependency>
        <groupId>org.restheart</groupId>
        <artifactId>restheart</artifactId>
        <version>3.4.0-SNAPSHOT</version>
    </dependency>
</dependencies>

Maven Site

An automatically generated Maven Site for each build of the master branch is available at: http://softinstigate.github.io/restheart/

Continuous Integration

We continually integrate and deploy development releases to Maven Central with Travis-CI.

RESTHeart's public Docker images are also automatically built and pushed to Docker Hub. The latest tag for Docker images refers to the most recent SNAPSHOT release on the master branch.


Made with ❤️ by SoftInstigate. Follow us on Twitter.