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鈥ust 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.

Important

馃挕
Deployd is not actively maintained anymore. Important bug fixes PRs will be merged (if properly tested and documented) but the existing maintainers don't have time and motivation to build new features.

Resources