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.
- 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
- Git
- NodeJS version 6 or greater
- PostgreSQL
- 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