Edit Page

Development Environment Setup

RESTHeart

Introduction

Here at SoftInstigate we have developed many projects with RESTHeart.

During our projects we have been constantly enhancing our development environment and building tools to make our life easier.

This page summarizes our findings and provides you with links and tips to setup your development environment in the most effective way.

Plugin Project Skeleton

You can start developing a plugin by forking the repository restheart-plugin-skeleton

This repository includes a sample service and provides you with the following features:

feature description
Easy Execution A script allows to automatically download and run RESTHeart with your plugin. docker compose can be used to start MongoDB configured as a single instance Replica Set to enable transactions and change streams
Watch Mode You can develop in Watch Mode so that the code is automatically rebuilt, and RESTHeart automatically restarted as soon as you change a source or configuration file.
Notifications get notifications on OSX when the watcher builds and restarts RESTHeart, so you know when you can try your changes.
microD profile Start RESTHeart without the MongoDB Service. We call this profile microD, because it is an effective runtime environment for micro-services.
Debugging and Hot Code Replace RESTHeart runs in development mode, i.e. with the JVM configured for remote debugging. This also allows IDEs to dynamically apply Hot Code Replace, i.e, the code changes are automatically applied (to some extent) to the running service, without the need for rebuilding and restarting.
Native builds The skeleton pom.xml includes the native profile to build RESTHeart with the custom plugin as a native binary.