Dodock

Architecture

Dodock est un modèle applicatif low-code et open-source.

Architecture

Dodock est un modèle applicatif fondé sur les métadonnées. Au-dessus d'une base de données relationnelle classique, Dodock ajoute une couche de métadonnées qui permet de définir des règles de validation, des actions à effectuer automatiquement, etc.

Une base de données plus intelligente

Dans Dodock, tout est Document. Les Documents sont stockés dans une base de données relationnelle classique, ce qui garantit fiabilité et performance. Chaque Document est un objet qui possède des champs dont les propriétés sont définies dans son Type de Document.

Par exemple, une facture est un Document :

  • les propriétés de ses champs sont définies dans un Type de Document appelé Facture.
    • Le champ montant est une valeur
    • Le champ date est une date
    • Le client est un lien vers un autre Document, de type Client
  • les valeurs de ses champs sont stockées dans la base de données
Fait amusant : un Type de Document est un Document lui-même !

Grâce à cette approche, il est immédiatement possible, pour tous les types de document :

  • d'accéder à un formulaire pour saisir des données,
  • de mettre en place des règles de validation pour garantir la cohérence des données,
  • de créer des rapports et des tableaux de bord, pour suivre l'évolution de l'activité d'une entreprise par exemple,
  • de mettre en place des flux de travail pour automatiser des processus,
  • et bien d'autres choses encore…

Les Types de Document et les champs

Un Type de Document, aussi appelé DocType en anglais, permet de définir les champs d'un Document, ainsi que des règles de validation, des actions à effectuer lors de la création ou de la modification d'un Document, etc.

Tous les DocTypes contiennent une liste de champs, qui sont définis par :

  • un nom de champ (fieldname), qui est le nom technique du champ
  • un type de champ (fieldtype), comme par exemple Nombre entier, Texte, Date, Couleur, etc.
  • un intitulé (label), qui est le nom affiché dans l'interface
Par exemple, notre DocType Facture pourrait contenir les champs suivants :
  • montant, dont l'intitulé est Montant total de la facture et le type Nombre décimal (ou Devise)
  • date, dont l'intitulé est Date de facturation et le type est Date
  • client, dont l'intitulé est Client et le type est Lien vers un Client

En plus de ces champs, tous les Documents possèdent quelques champs de métadonnées, dont :

  • le champ nom (name) est unique à chaque document d'un DocType donné, par exemple toutes les factures ont un nom unique comme FACT-2023-0001,
  • le champ propriétaire (owner) permet de savoir qui a créé le document,
  • le champ date de création (creation) permet de savoir quand le document a été créé

🚧 En cours de rédaction 🚧


CC-BY-SA 3.0