BEdita is a tool to handle the data of your mobile, IoT, web and desktop applications.

It’s a full fledged content management solution with:
  • an HTTP REST driven server application - the Backend - with a complete API to model, create, modify and retrieve data
  • a default progressive web application - the Manager - to control & manage your data

BEdita is built with CakePHP 3 and uses relational DBMS like MySQL, Postgres or SQLite in conjunction with (optional) NoSQL systems like Redis, Elastic Search and InfluxDb to boost performance and scale up to Big Data scenarios.

JSON API is the primary, although not unique, exchange data format.


The Backend is the core of BEdita: an HTTP REST service that exposes a set of API endpoints.

It’s not a standalone application service or daemon like a DBMS, but it’s an application deployed in a Web server like Apache or Nginx and accessible via standard HTTP ports.

So at first it may look like a standard Web application, but it’s not.

It doesn’t offer an HTML interface, it doesn’t respond in HTML [1] but only in JSON [2]: the only way to communicate with this service is through its JSON API REST endpoints. See API reference for an overview.

To install a backend instance see Setup


The Manager is a progressive javascript web application to manage all of your data using the backend REST API.

You may see this application as the primary GUI of BEdita or as a control panel or admin console.

To operate with this application you need to login first.

The first user created during setup has the permanent role of administrator and using its credentials you may:

  • create new users and assign roles to them
  • create new roles
  • create and modify objects - contents or tree structures that may be used in your applications
  • create new object types from your application domain or extend existing types
  • create relations between objects
  • give access permissions to endpoints and objects to some roles
  • set configuration settings and view system information and relevant events

Through its dynamic permission system keep in mind that users having different roles may perform different actions:

  • some users may not be able to login in the Manager - e.g. standard users of your applications
  • some users may not have access to some endpoints - like modeling new types, or view some object types
  • some users may have a read-only access to some endpoints - they may only see certain types but not create or modify anything


[1]it’s possible however, only for testing/debugging purposes, to activate HTML responses to use the Backend in a browser, see Accept
[2]other formats like YML (or XML) could be added in future releases.