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.
