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).
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
On root of your project
fastexpress resource [resourceName] --attributes name:string check:boolean age:number
npm run sequelize db:migrate
npm run sequelize db:seed:all
# (optional)
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();
npm run dev
[get]
/api[get]
/api/v1
[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
This is a basic example of usage of the fastexpress.
The tests use mysql, it need to use it.
With docker: docker run --name fastexpress-mysql -e MYSQL_ROOT_PASSWORD=123 -p 3306:3306 -d mysql:5
npm run pre-test
npm run jest
or npm run test
If you have any question/bug/suggestion just create a new issue!