fastexpress icon indicating copy to clipboard operation
fastexpress copied to clipboard

Restful API Framework minimalist

fastexpress

Open Source Love Build Status CircleCI Maintainability Test Coverage GitHub license npm version Open Source Helpers PRs Welcome


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 fastexpress
  • fastexpress new [your-project-name]
  • cd your-project-name
  • npm install or yarn
  • 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.

  • Basic
  • Auth
  • Complete

fastexpress development

CONTRIBUTING.md

Open Source

We uses the MIT license.

If you have any question/bug/suggestion just create a new issue!

Author