Skip to content

MasteryJS, a scalable REST API framework build on top of Hapi and Sequelize

License

Notifications You must be signed in to change notification settings

labibramadhan/mastery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MasteryJS

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

Prerequisites

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

Installation

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]

Configuration

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

Then, configure database connection by the database configuration file.

Development

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)

Deployment

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

About

MasteryJS, a scalable REST API framework build on top of Hapi and Sequelize

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published