# Design Guide

This section provides step by step guide on how to design services on DIGIT. Design is a process of identifying the various layers of abstractions and also unbundling each layer into reusable components. We will start by modelling the requirements into high-level process workflow. This helps us identify the actors and sequence of activities. From this, we can extract the roles, services and workflows. Roles and workflows are configured into DIGIT. DIGIT also comes with many services that can be reused.

The DIGIT design process covers the steps outlined below:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Model Requirements</strong></mark></td><td><ul><li>Model the Service Process Workflow</li><li>Elaborate User Stories</li><li>Elaborate Process Performance Indicators</li></ul></td><td><a href="/pages/gQfNWU38MyMIksdc8red">/pages/gQfNWU38MyMIksdc8red</a></td></tr><tr><td><mark style="color:blue;"><strong>Design Services</strong></mark></td><td><ul><li>Identify Registries and Services</li><li>Extract the Workflow</li><li>Detail the Design for Registries and Services</li><li>Identify DIGIT Reusable Registries and Services</li><li>Develop Sequence Diagrams</li></ul></td><td><a href="/pages/PdbLNxVo117yQu5JBFWs">/pages/PdbLNxVo117yQu5JBFWs</a></td></tr><tr><td><mark style="color:blue;"><strong>Design User Interface</strong></mark></td><td><ul><li>Design Transactional User Interface</li><li>Design Performance Dashboard</li></ul></td><td><a href="/pages/AV9xbg7PV20CGiAWdbII">/pages/AV9xbg7PV20CGiAWdbII</a></td></tr><tr><td><mark style="color:blue;"><strong>Develop Engineering Plan</strong></mark></td><td>Work in progress</td><td></td></tr></tbody></table>

### Design Phase Outputs

The outputs of the design phase are listed below:

1. Process Workflows
2. User Stories
3. Service Specifications (YAML)
4. Service Detailed Design (Class & Database Design)
5. Sequence Diagrams for each user story
6. User Navigation Model
7. User Interface Design
8. Dashboard Design
9. Engineering Plan


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digit.org/platform/guides/design-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
