# 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="../blueprints/perigee-with-.net-hosting" %}
[perigee-with-.net-hosting](https://docs.perigee.software/blueprints/perigee-with-.net-hosting)
{% endcontent-ref %}

Otherwise we can create a standard .NET 6 project.
