Cycle API
Ask or search…
K
Links

Data model

The data model of Cycle is very flexible and can be seen as a no-code relational database management system.
With Cycle you have the same kind of entities and relation as in a relational database. This allows lots of configurations to match any product team needs while staying opinionated on some key product management concepts.
Cycle meta concept
Relational DB analogy
Doctype
Table
Property
Column (with datatype)
Doc
Row
Hierarchy
Relation (1 to many only)
Board
View
Hence a Doc can be visualised under different boards (depending on the board config) and modifying its Property values will affect it globally in the workspace.
Docs can have a parent and/or multiple children depending on their Doctype.
Example of hierarchy between Doctypes in a workspace
The Properties can be linked to multiple Doctypes which allows to make sophisticated product management knowledge visualisation with the Boards and their config.
Such data intrication lead to multiple side effects. For instance, whenever a Doctype is deleted or a Property is added to a Doctype, it potentially impacts all the Board configs. On the client side, we add a lot of validation to make sure the user really wants to do the action. It is up to you to make this validation while using the graphql API.