Skip to main content

Development Setup

Here, you'll find the instructions to setup the development environment for Rema.

Dependencies for the Canvas API​

Setting up the development requires the system to have the dependencies for the node-canvas module set up. The dependencies are required to have the Node.js port of the Canvas API to work properly in the back-end.

The detailed and updated setup information for its dependencies is given in the node-canvas wiki.

OSCommand
OS XUsing Homebrew:
brew install pkg-config cairo pango libpng jpeg giflib librsvg
Ubuntusudo apt install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Fedorasudo yum install gcc-c++ cairo-devel pango-devel libjpeg-turbo-devel giflib-devel
Solarispkgin install cairo pango pkg-config xproto renderproto kbproto xextproto
OpenBSDdoas pkg_add cairo pango png jpeg giflib
WindowsSee the node-canvas wiki
OthersSee the node-canvas wiki

Ensuring the abovementioned dependencies are properly set up and configured, install the package dependencies.

cd src
npm ci

If successful, you can proceed to the next step.

A MongoDB Server​

Run a MongoDB server and add the server URI to the DB environment variable before starting up Rema.

# If not set, defaults to 'mongodb://localhost/rema'
export DB='mongodb://uri.to.mongodb/dbname'

Check out the [[Environment Variables]] page for more details on the environment variables.

Starting Rema in Development Mode​

Rema runs on port 8080 by default. To use a custom port, use the PORT environment variable.

# For development, listening to code-changes
npm run dev

# For production, not suggested for development
npm start

Great! Rema is up and running on http://localhost:8080.