# sullaspqr/pizza architecture

> Architecture diagram of the GitHub repository sullaspqr/pizza, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sullaspqr/pizza
- Repository: https://github.com/sullaspqr/pizza

## Overview

Contoso is a small ASP.NET Core API with two capabilities: pizza catalog CRUD and generated weather forecasts. A client request enters the application configured in Program.cs, which maps controller endpoints. Pizza requests delegate to an in-memory service that stores Pizza records; weather requests generate forecast values directly in the controller. The sampled files show no persistent database or external service integration. The weather and pizza model links and controller calls are visible in the excerpts; no README documentation was provided.

Main entry points: [`Program.cs`](https://github.com/sullaspqr/pizza/blob/main/Program.cs) (HTTP app), [`Controllers/PizzaController.cs`](https://github.com/sullaspqr/pizza/blob/main/Controllers/PizzaController.cs) (Pizza endpoints), [`Services/PizzaService.cs`](https://github.com/sullaspqr/pizza/blob/main/Services/PizzaService.cs) (Pizza service), [`Controllers/WeatherForecastController.cs`](https://github.com/sullaspqr/pizza/blob/main/Controllers/WeatherForecastController.cs) (Forecast endpoint)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["API runtime"]
  node_app["HTTP app<br/>[Program.cs]"]
end

subgraph group_pizza["Pizza catalog"]
  node_pizza_api["Pizza endpoints<br/>[PizzaController.cs]"]
  node_pizza_service["Pizza service<br/>[PizzaService.cs]"]
  node_pizza_model["Pizza record<br/>[Pizza.cs]"]
end

subgraph group_weather["Weather forecasts"]
  node_weather_api["Forecast endpoint"]
  node_weather_model["Forecast record<br/>[WeatherForecast.cs]"]
end

node_client(("API client"))

node_client -->|"sends HTTP"| node_app
node_app -->|"maps controllers"| node_pizza_api
node_app -->|"maps controllers"| node_weather_api
node_pizza_api -->|"calls CRUD"| node_pizza_service
node_pizza_service -->|"stores and returns"| node_pizza_model
node_pizza_api -->|"accepts and returns"| node_pizza_model
node_weather_api -->|"creates forecasts"| node_weather_model

click node_app "https://github.com/sullaspqr/pizza/blob/main/Program.cs"
click node_pizza_api "https://github.com/sullaspqr/pizza/blob/main/Controllers/PizzaController.cs"
click node_pizza_service "https://github.com/sullaspqr/pizza/blob/main/Services/PizzaService.cs"
click node_pizza_model "https://github.com/sullaspqr/pizza/blob/main/Models/Pizza.cs"
click node_weather_api "https://github.com/sullaspqr/pizza/blob/main/Controllers/WeatherForecastController.cs"
click node_weather_model "https://github.com/sullaspqr/pizza/blob/main/WeatherForecast.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_client toneBlue
class node_pizza_api,node_pizza_service,node_pizza_model toneAmber
class node_weather_api,node_weather_model toneMint
```

## Components

### API runtime

- [HTTP app](https://github.com/sullaspqr/pizza/blob/main/Program.cs): `Program.cs`

### Pizza catalog

- [Pizza endpoints](https://github.com/sullaspqr/pizza/blob/main/Controllers/PizzaController.cs): `Controllers/PizzaController.cs`
- [Pizza service](https://github.com/sullaspqr/pizza/blob/main/Services/PizzaService.cs): `Services/PizzaService.cs`
- [Pizza record](https://github.com/sullaspqr/pizza/blob/main/Models/Pizza.cs): `Models/Pizza.cs`

### Weather forecasts

- [Forecast endpoint](https://github.com/sullaspqr/pizza/blob/main/Controllers/WeatherForecastController.cs): `Controllers/WeatherForecastController.cs`
- [Forecast record](https://github.com/sullaspqr/pizza/blob/main/WeatherForecast.cs): `WeatherForecast.cs`

### Other components

- **API client**

## Connections

- API client → HTTP app: sends HTTP (evidence: `Program.cs`)
- HTTP app → Pizza endpoints: maps controllers (evidence: `Program.cs`)
- HTTP app → Forecast endpoint: maps controllers (evidence: `Program.cs`)
- Pizza endpoints → Pizza service: calls CRUD (evidence: `Controllers/PizzaController.cs`)
- Pizza service → Pizza record: stores and returns (evidence: `Services/PizzaService.cs`)
- Pizza endpoints → Pizza record: accepts and returns (evidence: `Controllers/PizzaController.cs`)
- Forecast endpoint → Forecast record: creates forecasts (evidence: `Controllers/WeatherForecastController.cs`)
