Rest layer of Jungles

Jungles (status: unstable)

This is the core module for Jungles which is a cms for express.js developers. This module mainly takes care of adding data and providing a back-end.

If you want to help out you can mostly find me in #jungles on freenode (ping pickels) or create an issue here on Github. Feel free to contact to me to share some ideas/code.

If you are looking for a tutorial check out jungles-tutorial.

The tutorial has an example site you can try.

git clone git@github.com:Enome/jungles-tutorial.git && cd jungles-tutorial && npm install && node app.js
// Setup 
var data = require('jungles-data-memory')([]);
var types = require('./types');
var jungles = require('jungles').init({
  data: data,
  types: types
// Mount 
app.use('/jungles', jungles.app);

This module is pass to Jungles and used as the data access layer.

This module is passed to Jungles and used as to store files.

var language = {
  root: true,
  name: 'language',
  children: [ 'page', 'projects' ],
  form: 'forms/language',
  schema: {
    title: [ validators.required(), validators.string() ]
module.exports = [ laguange ];

If property is true then the type is a root type.

Name of the type.

Children property is an array to whitelist which children are allowed to this type.

Form is the form that is used to input data into the back-end. Jungles uses app.render so you can use your views directory to store your forms.

Schema property on a type is used to validate and sanitize input. By default you need to whitelist all your input types.

Jungles.app is an app you can mount to your express.js app.

The front-end is your own express app. You can create your own middleware and routes with Jungles but we also provide one