#MEAN RELATIONAL BOILERPLATE
A boilerplate using NodeJs, Express, Sequelize, Apidoc, Eslint, Mocha, Cluster and the best practices.
- Clone the repository
npm install
bower install
gulp
- Visit
https://localhost:9000
npm start # Run the serveur in cluster mode (it also generate the apidoc)
npm lint # Check lint error using eslint
gulp web:serve # run web server
gulp web:test:karma # run unit tests
gulp web:test:e2e # run e2e tests
gulp api:serve # run api server
gulp api:tests # run mocha tests
gulp api:docs # Generate the apidoc
The coding style used is the airbnb one: https://github.com/airbnb/javascript
You can configure it in the .eslintrc
file.
The architecture is MVR (Model View Route)
The API files are structured in the following manner:
libs (Configurations files and libs)
models (Sequelize models)
routes (Express routes, the comments in this folder are used to generate the apidoc)
test (mocha test, 'npm test' to run it)
auth.js (Configuration for JWT auth (JSON With Token))
cluster.js (Used to run in cluster mode. We could use https://github.com/Unitech/pm2 too)
index.js (Entry point)
ntask.* (SSL certificates)
If you want to have a better understanding of the architecture, I recommend you to read Caio Ribeiro Pereira's book.
This project is base on node-express-sequelize-es2015
- Roles
- ACL
- Tests
- Docker