Daybed is an Open Source Web API providing validation and storage as a service.
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.
- 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.).
Currently, the authentication relies on Basic authentication and Hawk
- Mobile 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 ;
Daybed uses the following stack by default :
- Pyramid, a robust and powerful python Web framework
- Cornice, a REST framework for Pyramid
- Colander for the schema validation part
- Redis as the default persistence backend
- ElasticSearch as indexing and faceted search engine
- CouchDB as an alternative persistence backend
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|
|Dynamic API end-points||✔||✔|
|Raw data access||✔||✔||✔||✔||✔|
.. toctree:: :maxdepth: 2 install usage fieldtypes permissions terminology