System entities introduction

This section will detail all the entities of the system and the data they contain.

Entity structure#

How each entity section will be structured:

  • Data
    • Validation
      • Follows the input validation strategy from introduction.
    • Transparent
      • Indicates that the property will not be returned unless explicitly mentioned in the function that fetches the entity.
    • Localizable
      • Indicates that the input
  • Sample entity model
    • A basic JSON format representation of an entity. This does not in any way dictate how the data architecture will be implement in the system during development.

General data library#

A list of data values that will be used across one or many entities.

First/Last name#

  • Type
    • String
  • Validation
    • Required
    • Minimum
      • 2
    • Maximum
      • 100

OTP#

Used to authenticate users.

  • Type
    • Object
    • Values:
      • Token
        • Number
      • Expiration date
        • Date
      • Failed login attempts
        • Number
        • Default
          • 0
  • Transparent

Phone number#

  • Type
    • Phone number

Email#

  • Type
    • Email

Creation date#

  • Type
    • Date
  • Validation
    • Required
  • Default
    • Creation date of the entity.
  • Transparent

Profile created#

Indicates if a user created their profile. This indication allows the system to lock certain features from the user for the sake of functional integrity.

  • Type
    • Boolean
  • Validation
    • Required
  • Default
    • false

Active#

Indicates if the entity is intangible.

  • Type
    • Boolean
  • Validation
    • Required
  • Default
    • true
  • Transparent

Published#

Indicates if the entity is visible to clients.

  • Type
    • Boolean
  • Validation
    • Required
  • Default
    • false
  • Transparent

Deleted#

Indicates if a user is deleted. Used for statistical purposes.

  • Type
    • Boolean
  • Validation
    • Required
  • Default
    • false
  • Transparent

Verified#

Indicates if the user's identification credentials are verified.

  • Type
    • Boolean
  • Validation
    • Required
  • Default
    • false
  • Transparent

Name#

A general name for an entity.

  • Type
    • String
  • Validation
    • Required
    • Minimum
      • 2

Description#

A general description for an entity.

  • Type
    • String
  • Validation
    • Minimum
      • 2

General data validation#

A general list of guidelines to how we validate specific entity date.

  • Entity ID (EID)
    • Every non-nested entity will by default be created together with an EID and as such will be implicitly missing from all entity data definitions.
  • Standard strings validation
    • A string by default has a restriction of 10000 characters maximum unless stated otherwise.
    • A string, if indicated as required, will have a restriction of 1 character minimum.
  • Timestamps
    • Any non-nested entities will by default be created with standard creation date meta date and as such will be implicitly missing from all entity data definitions.