Deployd: The REST-API toolkit is not active anymore.
Deployd is a free, open-source platform for quickly building a REST-API on top of MongoDB.
It is an easy-to-use system, as the user does not require any boilerplate, and dive directly into a user-friendly dashboard and start creating and testing your DB collections and API.
Deployd comes with dozens of useful features which speeds up the production time. Moreover, it comes with a set of examples, guides, and a developer-friendly rich documentation.
The JavaScript client-side library
Deployd offers a fancy client-side JavaScript library that any developer can include directly into other JavaScript frameworks like React, React Native, Vue, Angular and others.
The library supports authentication out of the box, Web sockets, and it is easy to implement and use.
User management
With deployd's included Users Collection, user signup and authentication…just works. It's also totally extensible. Add custom properties and roles to your users, and write custom Event scripts to control access to users of your app.
//Create a user
dpd.users.post({
username: "jeffbcross",
password: "secret"
}, onCreateUser);
//Login
dpd.users.login({
username: "jeffbcross",
password: "secret"
}, onLogin);
Easy Graph Data
Collections of objects are nice, but worthwhile data is rarely one-dimensional. Relating and embedding objects in deployd is easy, and can be done with JavaScript inside of Collection events.
This event script:
//In GET event for /myposts/id
var post = this;
dpd.comments.get({postId: this.id},
function(comments){
post.comments = comments;
})
Generates this JSON output:
//GET /myposts/abc123
{
id: "abc123",
title: "My blog article.",
author: "Jeff Cross",
content: "This blog article",
created: 1330671600000,
comments: [
{
commentor: "Ritchie Martori",
created: 1330671600001,
text: "Insightful.",
postId: "abc123"
}
]
}
Advanced Queries
Perform queries against your Collections in the client that used to be reserved for secure server environments.
To get posts with a likes count of greater than 10:
GET /posts?{"likes": {"$gt": 10}}
Or with the dpd.js library, get posts within a category:
dpd.posts.get({
category: {$in: ["food", "business"]}
}, console.log);
install from NPM
Once Node.JS is installed, open your terminal and type the following command:
npm install deployd-cli -g
The dpd
command should be available. Type dpd -V
and the current version should appear.
License
Deployd is released under Apache 2.0 License.