Quail
Hassle free mongodb rest app
Features
- Uses ACL (Access Control List) to better manage routes. So no route management.
- Uses built in JWT Token Authentication.
- Support for prevention of brute force attacks using express-brute
- Uses sails like models and controllers
- Blueprints to make life easy
- Support for embeded documents to enable transactions
Installation
npm install -g quail-cli
Prerequisite
A running instance of mongodb
Getting Started
- Create a project by running the command
quail create <myapp>
- Change directory to your app and npm install
cd myapp && npm install
- Create a model
quail add-model user OR quail m user
- Create a controller
quail add-controller user OR quail c user
- Run the app
npm start
Quail supports sails like blueprints out of the box but is protected by ACL(access control list). Change your acl to allow the following actions [find , findOne, create, update and destroy] for the user controller
moduleexports = routes: authenticated: {} not_authenticated: User: find: true findOne: true create: true update: true destroy: true
Now restart the server and send a post request to http://localhost:3000/user with request body
*POST to http://localhost:3000/user
{
name : 'Quail',
}
Get all the user by sending a get request to http://localhost:3000/user
*GET to http://localhost:3000/user
Get a particular user by sending a get request to http://localhost:3000/user/:id
*GET to http://localhost:3000/user/:id
Update a particular user by sending a put request to http://localhost:3000/user/:id
*PUT to http://localhost:3000/user/:id
{
name:'Quail is awesome'
}
Destroy a particular user by sending a delete request to http://localhost:3000/user/:id
*DELETE to http://localhost:3000/user/:id
- Docs coming soon