# punyakp/cloud-deployment-system architecture

> Architecture diagram of the GitHub repository punyakp/cloud-deployment-system, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/punyakp/cloud-deployment-system
- Repository: https://github.com/punyakp/cloud-deployment-system

## Overview

Cloud Deployment App is a Flask-backed dashboard for uploading files, browsing and deleting upload records, viewing simulated metrics/status, and triggering a deployment workflow. The main path is dashboard → deploy endpoint → temporary local save and Cloudinary upload → Git push and simulated pipeline stages. The desktop wrapper only opens the local dashboard URL; its source does not start the Flask server. The template is listed but unsampled, so UI-to-endpoint links follow route comments rather than inspected client code.

Main entry points: [`templates/index.html`](https://github.com/punyakp/cloud-deployment-system/blob/main/templates/index.html) (Dashboard), [`app.py`](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py) (Deploy Workflow), [`uploads`](https://github.com/punyakp/cloud-deployment-system/tree/main/uploads) (Local Uploads), [`desktop_app.py`](https://github.com/punyakp/cloud-deployment-system/blob/main/desktop_app.py) (Desktop Wrapper)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["User Interface"]
  node_desktop["Desktop Wrapper<br/>[desktop_app.py]"]
  node_dashboard["Dashboard<br/>[index.html]"]
end

subgraph group_workflows["Flask Workflows"]
  node_flask["Flask App<br/>[app.py]"]
  node_upload["File Upload<br/>[app.py]"]
  node_deploy["Deploy Workflow<br/>[app.py]"]
  node_file_api["File Management<br/>[app.py]"]
  node_metrics["Metrics Endpoint<br/>[app.py]"]
  node_status["Status Endpoint<br/>[app.py]"]
end

subgraph group_state["State And Integrations"]
  node_catalog["In-Memory Catalog<br/>[app.py]"]
  node_local_uploads["Local Uploads"]
  node_cloudinary["Cloudinary"]
  node_git_remote["Git Remote"]
  node_runtime_state["Runtime Counters<br/>[app.py]"]
end

node_user(("User"))

node_user -->|"uses"| node_dashboard
node_desktop -->|"opens URL"| node_dashboard
node_flask -->|"renders"| node_dashboard
node_dashboard -->|"submits file"| node_upload
node_dashboard -->|"requests deploy"| node_deploy
node_dashboard -->|"manages files"| node_file_api
node_dashboard -->|"requests metrics"| node_metrics
node_dashboard -->|"requests status"| node_status
node_upload -->|"uploads file"| node_cloudinary
node_upload -->|"records upload"| node_catalog
node_deploy -->|"saves temporary file"| node_local_uploads
node_deploy -->|"uploads file"| node_cloudinary
node_deploy -->|"records upload"| node_catalog
node_deploy -->|"pushes commit"| node_git_remote
node_deploy -->|"increments count"| node_runtime_state
node_file_api -->|"reads and deletes"| node_catalog
node_metrics -->|"updates metrics"| node_runtime_state
node_status -->|"counts records"| node_catalog
node_status -->|"reads deploy count"| node_runtime_state
node_user -.-> node_local_uploads

click node_desktop "https://github.com/punyakp/cloud-deployment-system/blob/main/desktop_app.py"
click node_dashboard "https://github.com/punyakp/cloud-deployment-system/blob/main/templates/index.html"
click node_flask "https://github.com/punyakp/cloud-deployment-system/blob/main/app.py"
click node_upload "https://github.com/punyakp/cloud-deployment-system/blob/main/app.py"
click node_deploy "https://github.com/punyakp/cloud-deployment-system/blob/main/app.py"
click node_file_api "https://github.com/punyakp/cloud-deployment-system/blob/main/app.py"
click node_metrics "https://github.com/punyakp/cloud-deployment-system/blob/main/app.py"
click node_status "https://github.com/punyakp/cloud-deployment-system/blob/main/app.py"
click node_catalog "https://github.com/punyakp/cloud-deployment-system/blob/main/app.py"
click node_local_uploads "https://github.com/punyakp/cloud-deployment-system/tree/main/uploads"
click node_runtime_state "https://github.com/punyakp/cloud-deployment-system/blob/main/app.py"

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_desktop,node_dashboard,node_user toneBlue
class node_flask,node_upload,node_deploy,node_file_api,node_metrics,node_status toneAmber
class node_catalog,node_local_uploads,node_cloudinary,node_git_remote,node_runtime_state toneMint
```

## Components

### User Interface

- [Desktop Wrapper](https://github.com/punyakp/cloud-deployment-system/blob/main/desktop_app.py): `desktop_app.py`
- [Dashboard](https://github.com/punyakp/cloud-deployment-system/blob/main/templates/index.html): `templates/index.html`

### Flask Workflows

- [Flask App](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py): `app.py`
- [File Upload](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py): `app.py`
- [Deploy Workflow](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py): `app.py`
- [File Management](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py): `app.py`
- [Metrics Endpoint](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py): `app.py`
- [Status Endpoint](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py): `app.py`

### State And Integrations

- [In-Memory Catalog](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py): `app.py`
- [Local Uploads](https://github.com/punyakp/cloud-deployment-system/tree/main/uploads): `uploads`
- **Cloudinary**
- **Git Remote**
- [Runtime Counters](https://github.com/punyakp/cloud-deployment-system/blob/main/app.py): `app.py`

### Other components

- **User**

## Connections

- User → Dashboard: uses
- Desktop Wrapper → Dashboard: opens URL
- Flask App → Dashboard: renders
- Dashboard → File Upload: submits file
- Dashboard → Deploy Workflow: requests deploy
- Dashboard → File Management: manages files
- Dashboard → Metrics Endpoint: requests metrics
- Dashboard → Status Endpoint: requests status
- File Upload → Cloudinary: uploads file
- File Upload → In-Memory Catalog: records upload
- Deploy Workflow → Local Uploads: saves temporary file
- Deploy Workflow → Cloudinary: uploads file
- Deploy Workflow → In-Memory Catalog: records upload
- Deploy Workflow → Git Remote: pushes commit
- Deploy Workflow → Runtime Counters: increments count
- File Management → In-Memory Catalog: reads and deletes
- Metrics Endpoint → Runtime Counters: updates metrics
- Status Endpoint → In-Memory Catalog: counts records
- Status Endpoint → Runtime Counters: reads deploy count
- User → Local Uploads
