# Design Architecture

This is an opinionated proposal on how to creating an architecture. You may deviate from it at any point, but if you don't know where to start, this is a good starting point.

## System Architecture vs. System Landscape

System Architecture and System Landscape provide different perspectives and different levels of detail of looking at an architecture.In the following process, the steps 1, 2 and - A.1 describe the creation or update of a System Landscape, while the steps 1,2 and B.1-B.7 need to be performed when creating the System Architecture.

Consider this as two alternate pathes, depending on what view on the system you are interested in.

<figure><img src="/files/SYFxFEGQQWyoeAJYPCzQ" alt=""><figcaption></figcaption></figure>

Government Architecture / Enterprise Architecture provides an even more high-level and complete view of the systems within a government. For more on this, take a look at this GovStack document: [​​Public Administration Ecosystem Reference Architecture (PAERA) > 2.3 Role of Enterprise Architecture](https://paera.govstack.global/2.-state-of-digital-transformation#id-2.3-role-of-enterprise-architecture).

{% content-ref url="/pages/K0cwFNoPX4aCt0nL2tlF" %}
[4 Analyze Requirements](/implementation-playbook/1.0.0-rc/implementation/design-architecture/4-analyze-requirements.md)
{% endcontent-ref %}

{% content-ref url="/pages/A67ZppKUnJAUCIOuiWBC" %}
[5 Start with the System Context](/implementation-playbook/1.0.0-rc/implementation/design-architecture/5-start-with-the-system-context.md)
{% endcontent-ref %}

{% columns %}
{% column %}
{% content-ref url="/pages/z9DdI2sNvaR08yHF8fBO" %}
[5-A.1 Update System Landscape](/implementation-playbook/1.0.0-rc/implementation/design-architecture/5-a.1-update-system-landscape.md)
{% endcontent-ref %}

{% endcolumn %}

{% column %}
{% content-ref url="/pages/6EgpFq6yRMbTY1Xp8f17" %}
[5-B.1 - Create Data Model & REST API](/implementation-playbook/1.0.0-rc/implementation/design-architecture/5-b.1-create-data-model-and-rest-api.md)
{% endcontent-ref %}

{% content-ref url="/pages/yrEkXragJ2wCVcJ1ROcs" %}
[5-B.2 Create Container Diagram](/implementation-playbook/1.0.0-rc/implementation/design-architecture/5-b.2-create-container-diagram.md)
{% endcontent-ref %}

{% content-ref url="/pages/ry8sBLiFZd1EC1bEhQqA" %}
[5-B.3 Create Component Diagram](/implementation-playbook/1.0.0-rc/implementation/design-architecture/5-b.3-create-component-diagram.md)
{% endcontent-ref %}

{% content-ref url="/pages/MoAKCYLOUCFgtjEX4deK" %}
[5-B.4 Decide Technology Stack](/implementation-playbook/1.0.0-rc/implementation/design-architecture/5-b.4-decide-technology-stack.md)
{% endcontent-ref %}

{% content-ref url="/pages/L3Oe9gEHi0nmsjYQP8YL" %}
[5-B.5 Create Developer Guidelines](/implementation-playbook/1.0.0-rc/implementation/design-architecture/5-b.5-create-developer-guidelines.md)
{% endcontent-ref %}

{% endcolumn %}
{% endcolumns %}


---

# 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://specs.govstack.global/implementation-playbook/1.0.0-rc/implementation/design-architecture.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.
