fastexpress
fastexpress copied to clipboard
Restful API Framework minimalist
fastexpress
fastexpress is a library designed to speed up the development of APIs with express and sequelize. 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 fastexpressfastexpress new [your-project-name]cd your-project-namenpm installoryarncp config/example.database.json config/database.jsonnpm run sequelize db:create
Generate a resource
On root of your project
fastexpress resource [resourceName] --attributes title:string check:boolean birthday:datenpm run sequelize db:migratenpm 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.
- Basic
- Auth
- Complete
fastexpress development
Open Source
We uses the MIT license.
If you have any question/bug/suggestion just create a new issue!