# Design and Requirements

For this section, let's walkthrough start to finish how you might design and build your companies specific application needs.&#x20;

Here's the quick bullet list of every step of this process:

* Starting template
* Define Sources
* Requirements

## Starting with a template

* Does our system need to respond to API requests?
  * Is data pushed to your service with POST requests?
  * Does it need to respond to a `ping` request?
  * Does it provide on-demand data through restful calls?
* Do you plan on implementing administrative requests for your system?&#x20;
  * Do you want to be able to shutdown threads with an administrative login?
  * Do you want to check the status, runtime, or other system metrics?

If you answered "yes" to any of the above: lets start with this blueprint for built in hosting:

{% content-ref url="/pages/lNGf3TZSO5B97YPpPNWn" %}
[Perigee With .NET Hosting](/blueprints/perigee-with-.net-hosting.md)
{% endcontent-ref %}

Otherwise we can create a standard .NET 6 project.


---

# 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.perigee.software/architecting-your-app/design-and-requirements.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.
