@coorpacademy/baucis

3.0.0 • Public • Published

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 🛠️

  • 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 🚀

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

Package Sidebar

Install

npm i @coorpacademy/baucis

Weekly Downloads

100

Version

3.0.0

License

MIT

Unpacked Size

64 kB

Total Files

9

Last publish

Collaborators

  • huynguyen9898
  • yasmine.abdelkefi
  • wernerd
  • antonia.balluais
  • youssef.ezzahi
  • emeline75
  • ghazicoorpacademy
  • silou
  • coorpadmin
  • esa-coorp
  • adriean.khisbe
  • adamska27
  • audric-coorp
  • djamelsoualmi
  • stefanocoorp
  • emorana
  • dfazage