Cycle API
CycleStatusChangelog
  • Cycle API
  • Introduction
    • About Cycle
    • Data model
  • The graphql API
    • How to start
    • Authentication
    • Node interface
    • Pagination
    • Webhooks
    • Limitations
    • Graphql Schema
    • Examples
  • Company
    • Company Attribute
    • List Company attributes by product
    • Create a company
    • Update a company attribute value
  • Practical use case: the feedback form
    • Create a feedback
    • Advanced: use your properties
Powered by GitBook
On this page
  1. Introduction

Data model

The data model of Cycle is very flexible and can be seen as a no-code relational database management system.

PreviousAbout CycleNextHow to start

Last updated 2 years ago

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.

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.

Example of hierarchy between Doctypes in a workspace