fastexpress
v2.0.0
Published
[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/) [![Build Status](https://travis-ci.org/davidcostadev/fastexpress.svg?branch=master)](https://travis-ci.org/davidcostadev/fast
Downloads
84
Readme
fastexpress
fastexpress is a library designed to speed up the development of APIs with express. It's has a list of functionalities to create APIs with a small amount of lines of code, with possibility to customize it.
The main functionalities is:
- Improve the creation of model endpoints.
- Create CRUDs with few rows.
- Add rich integration with templates, allowing filters and joins.
- Add secure endpoints through token usage (jwt).
Installation
npm install --global fastexpress
fastexpress new [your-project-name]
cd your-project-name
npm install
oryarn
cp config/example.database.json config/database.json
npm run sequelize db:create
Generate a resource
On root of your project
fastexpress resource [resourceName] --attributes title:string check:boolean birthday:date
npm run sequelize db:migrate
npm run sequelize db:seed:all
# (optional)
Attributes
- string
- number or integer
- text
- boolean
- date or datetime
After that, you just need import and add the resource on Router. Like this on src/routers.js file:
const { Resources } = require('fastexpress');
const [ResourceName] = require('./resources/[ResourceName]');
const routers = new Resources({
namespace: '/api/v1/',
})
.add('[resourceName]', [ResourceName])
.getRouters();
Development
npm run dev
Basic Endpoints
[get]
/api[get]
/api/v1
Resources Endpoints
[get]
/api/v1/[resourceName] - to list resource[post]
/api/v1/[resourceName] - to add a new entity[get]
/api/v1/[resourceName]/:id - to get a one entity[delete]
/api/v1/[resourceName]/:id - to delete a entity[put]
/api/v1/[resourceName]/:id - to edit a entity
Examples
Basic
This is a basic example of usage of the fastexpress.
fastexpress development
Open Source
We uses the MIT license.
If you have any question/bug/suggestion just create a new issue!