3.0.0 • Published 1 year ago

@coorpacademy/baucis v3.0.0

Weekly downloads
83
License
MIT
Repository
github
Last release
1 year ago

Baucis

Npm version Build Status

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