Daybed¶
Daybed is an Open Source Web API providing validation and storage as a service.
Why ?¶
Usually, when a Web application requires a backend for storage and validation, one of the following solutions is employed :
- A custom API is developed and deployed (reinvent the wheel)
- A commercial and closed-source service is used (Google Forms)
- A CMS is used as a backoffice for customizable content types (twist)
To avoid those situations and make it easy to get your storage backend ready in seconds, we’ve created Daybed.
Daybed is :
- a minimalist, robust, dynamic and generic API ;
- a validation layer with schemaless storage ;
- a reusable layer of permissions logic ;
- a universal REST endpoint for Web and mobile apps ;
- a key component for rapid application building ;
- a simple service deployed and integrated without coding.
How ?¶
- Create a model by posting its definition (title, fields, ...)
- Define the permissions sets (modify definition, create, update or delete records, ...)
- Use the allocated RESTful endpoint in your application (GET, POST, PUT, ...)
- Store and query records !
Since Daybed talks REST and JSON, you can basically use it as a remote storage with any of your favorite technologies (Python, Android, iOS, AngularJS, Ember.js, Backbone.js, etc.).
Note
Currently, the authentication relies on Basic authentication and Hawk
Use Cases¶
- Mobile apps
- Full JavaScript apps
- Online forms
- Data Wiki
- Collaborative Web mapping
Using Daybed in its first versions, we built:
- daybed-map, a geo-pad where you can create you own maps with custom fields, using backbone-forms
- A password manager
- A generic CRUD application using backbone-daybed ;
- A TODO list using jquery-spore ;
Technologies¶
Daybed uses the following stack by default :
Comparison¶
Daybed has many competitors, yet none of them shares the same approach or features set.
Strategy | Custom dedicated API | Generated code | Competitors | |||
---|---|---|---|---|---|---|
Project | Daybed | Django REST framework, Restify, express, Struts... | Python Eve | Loopback | Hoodie | Google Forms |
Minimalist | ✔ | ✔ | ||||
Validation | ✔ | ✔ | ✔ | ✔ | ✔ | |
Permissions | ✔ | ✔ | ✔ | ✔ | ||
Dynamic schemas | ✔ | ✔ | ✔ | ✔ | ||
Reusable instance | ✔ | ✔ | ✔ | |||
Dynamic API end-points | ✔ | ✔ | ||||
Raw data access | ✔ | ✔ | ✔ | ✔ | ✔ | |
Agnostic (REST) | ✔ | ✔ | ✔ | ✔ | ||
Requires SDK | ✔ | |||||
Open Source | ✔ | ✔ | ✔ | ✔ | ✔ | |
Faceted search | ✔ |
Sources: http://python-eve.org ; http://hood.ie ; http://loopback.io ;