@coorpacademy/baucis
v3.0.0
Published
Build scalable REST APIs using the open source tools and standards you already know.
Downloads
505
Readme
Baucis
Build scalable REST APIs using the open source tools and standards you and your team already know — Mongoose, Express, and Node.js streams.
Baucis takes the boilerplate out of building and maintaining scalable HATEOAS/Level 3 REST APIs.
Features :hammer_and_wrench:
- Automatically build controllers from your Mongoose schemas, then easily configure them.
- Built on Express 4 so adding custom middleware is a snap. Compatible with existing Express middleware.
- Fully takes advantage of Node.js streaming to nimbly process large datasets.
- Implements the HTTP specification according to the specifications (RFC 7231, etc.)
- Widely compatible with a variety of front end frameworks.
- Perform rich queries of the API using an expressive JSON syntax via query string.
- Supports geolocation and full text search.
- Version your API using semver.
- Automatically generate interactive Swagger documentation for the API.
- Highly customizable, simple interface. Can be extended with plugins.
- Compatible with MongoDB 2.x and 3.x
- Over 140 Mocha.js tests in addition to Express' and Mongoose's.
Getting Started :rocket:
To install:
npm install --save @coorpacademy/baucis
const mongoose = require('mongoose');
const express = require('express');
const baucis = require('@coorpacademy/baucis')(mongoose, express)
// Create a mongoose schema.
const Vegetable = new mongoose.Schema({ name: String });
// Register new models with mongoose.
mongoose.model('vegetable', Vegetable);
// Create a simple controller. By default these HTTP methods
// are activated: HEAD, GET, POST, PUT, DELETE
baucis.rest('vegetable');
// Create the app and listen for API requests
const app = express();
app.use('/api', baucis());
app.listen(4334);
Wanna see/know more?
Head other the main repository on github