MasteryJS, a scalable REST API framework build on top of Hapi and Sequelize
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Scalable REST API Server framework build on top of Hapi and Sequelize. One server to rule all your clients, simple, stable, and easy to use.

Build Status Dependency Status devDependency Status

Table of Contents

  1. Main Features
  2. Getting Started
    1. Prerequisites
    2. Installation
    3. Configuration
    4. Development
    5. Deployment

Main Features

  • Supports MySQL, MariaDB, SQLite, PostgreSQL, MSSQL through Sequelize
  • Auto routes creation based on model configuration file (e.g. user model configuration)
  • Flexible base and component configurations
  • Internationalization (i18n) with Polyglot.js
  • Integration with Open API (Swagger) UI
  • JWT authentication support
  • Built-in Access Control List
  • PM2 Production Process Manager support
  • Create Project, Server Management, and Build System using MasteryJS CLI
  • Custom role resolver
  • File transport
  • Email transport
  • API Rate Limitations
  • Request Logger
  • Combine multiple routes (appending) into a single route

Getting Started


  1. Git
  2. NodeJS version 6 or greater
  3. PostgreSQL
  4. MasteryJS CLI


We will use MasteryJS CLI helper to get started easily.

You just need to type the following command and then follow the wizard on it.

>_ mastery new [destination]


First, create a database and create schema core inside your database.

Then, configure database connection by the database configuration file.


For debugging purpose, change current working directory to the root directory (a directory contains src directory and a package.json file). MasteryJS CLI will use the help of babel-node by using these commands:

>_ mastery serve (running from source)

>_ mastery serve -i (running & debugging from source using chrome inspector)

>_ mastery serve -p <debug-port> (running & debugging from source using any IDE debugger)


First, you need to build MasteryJS by this command inside your root project directory:

>_ mastery build

And then there will be a new directory called build. These commands will be available inside build directory:

>_ mastery start
>_ mastery stop
>_ mastery restart

For monitoring all MasteryJS production processes, type this command:

>_ mastery status

Back to top