Schema Design Process

Schema Design Process

Purpose

The purpose of schema design is to create a schema approved by both FireFly maintainers and the requeseting team before raising a Merge Request (MR). This process helps avoid churn and preventing back-and-forth revisions during MR review process.

Scope

The scope of schema design includes:

  • Adding new or modifying existing entities.

  • Providing query and/or mutation template.

Schema Design Steps

Step 1: Understand Feature Business Requirements

  • Understand Feature Business Requirements

  • Schedule a meeting with requesting team to clarify questions or requirements.

Step 2: Identify FireFly Requirements

  • Identify gaps and specific requirements for FireFly.

Step 3: Determine Schema Requirements

  • Assess the need for new entities.

  • Define the required query and mutation.

Step 4: Design and Review

  • Create a schema design document in Quip.

  • Share the schema with requesting team.

  • Schedule a meeting with FireFly maintainers to gather feedbacks.

  • Address feedbacks

  • Create an equivalent schema design markdown document for Docusaurus. To create markdown from quip: Quip->Document->Export->Markdown. Example

  • Get approval from FireFly maintainers on schema design Docusaurus MR.

  • Inform the requesting team about the approved schema and MR merge ETA.

Step 5: Implementation and Review

  • Start working on the MR once approvals are met. Example

  • Publish the MR and sign up for the Tuesday/Thursday review session.