destination

Easiest API Framework Layer w/ Database agnostic ORM

npm install destination
4 downloads in the last month

Destination Framework

Painless API Creation Framework for Node.js w/ Database Agnostic Adapters.

Installation

npm install destination

Usage

Include the Destination Framework

var Destination = require('destination');

Install an Adapter, and start an objective:

var Objective = Destination.start(/* Express Application (app, generally) */, {
  name: 'adapter name such as (mongodb)',
  ... Adapter Settings ...
});

Start defining objective Models, Property schema curtesy of Validator.

var User = Objective.define('User', {
  // Definition is a collection?
  //
  // When collection is a string... it is used as the collection name 
  // rather than the name passed above.
  //
  // Example:
  //
  //     collection: 'users',
  //
  collection: true,

  // Routing System
  routing: {
    fetch: { by: 'name' },
    fetchAll: false,
    create: true,
    update: false,
    remove: false,

    // Some more complex, built in:

    // Update or Create
    upsert: false,

    // Remove all entries
    empty: false,

    // Count of all entries
    count: false
  },

  // Validator Schema
  name: {
    type: String,
    length: {
      min: 3,
      max: 24
    }
  },

  password: {
    type: String,
    length: {
      min: 3,
      max: 36
    }
  }
});

Models currently only have two keywords in the root document:

  • collection
  • routing

Anything else is used as a property schema, processed and parsed by Validator upon requests, refer to validator for schema documentation.

It's extremely simple. I promise. Now you listen:

Objective.listen(1337);

You don't even have to use the Objective variable to listen, you can use your application framework to do it and it will still work. :)

Adapters

Todo

  • Find a way to support any application framework instead of Express.
npm loves you