# vijayummalraju-star/fullstack-workshop architecture

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

- Interactive diagram: https://gitdiagram.com/vijayummalraju-star/fullstack-workshop
- Repository: https://github.com/vijayummalraju-star/fullstack-workshop

## Overview

This repository is a small Express-backed To-Do workshop demo. A user opens the browser UI, works with tasks through the documented API, and receives task data held in server memory; the API supports listing, creating, toggling, and deleting tasks. The server also serves the workshop slides and cheat sheet as static pages. The README documents the API and static materials, but the frontend source was not excerpted, so its API-call relationship is shown as unverified rather than asserted.

Main entry points: [`server.js`](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/server.js) (Task API), [`public/index.html`](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/index.html) (To-Do UI), [`public/slides.html`](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/slides.html) (Workshop slides), [`public/cheatsheet.html`](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/cheatsheet.html) (Cheat sheet)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Browser experience"]
  node_todo_ui["To-Do UI<br/>[index.html]"]
end

subgraph group_backend["Task backend"]
  node_task_api["Task API<br/>[server.js]"]
  node_task_state[("In-memory tasks<br/>[server.js]")]
end

subgraph group_materials["Workshop materials"]
  node_slides["Workshop slides<br/>[slides.html]"]
  node_cheatsheet["Cheat sheet<br/>[cheatsheet.html]"]
end

node_browser(("Workshop user"))

node_browser -->|"opens app"| node_todo_ui
node_todo_ui -.->|"uses API"| node_task_api
node_task_api -->|"reads and updates"| node_task_state
node_task_api -->|"serves static files"| node_todo_ui
node_task_api -->|"serves static files"| node_slides
node_task_api -->|"serves static files"| node_cheatsheet
node_browser -->|"opens slides"| node_slides
node_browser -->|"opens reference"| node_cheatsheet

click node_todo_ui "https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/index.html"
click node_task_api "https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/server.js"
click node_task_state "https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/server.js"
click node_slides "https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/slides.html"
click node_cheatsheet "https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/cheatsheet.html"

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_todo_ui,node_browser toneBlue
class node_task_api,node_task_state toneAmber
class node_slides,node_cheatsheet toneMint
```

## Components

### Browser experience

- [To-Do UI](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/index.html): `public/index.html`

### Task backend

- [Task API](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/server.js): `server.js`
- [In-memory tasks](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/server.js): `server.js`

### Workshop materials

- [Workshop slides](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/slides.html): `public/slides.html`
- [Cheat sheet](https://github.com/vijayummalraju-star/fullstack-workshop/blob/main/public/cheatsheet.html): `public/cheatsheet.html`

### Other components

- **Workshop user**

## Connections

- Workshop user → To-Do UI: opens app (evidence: `README.md`)
- To-Do UI → Task API: uses API
- Task API → In-memory tasks: reads and updates (evidence: `server.js`)
- Task API → To-Do UI: serves static files (evidence: `server.js`)
- Task API → Workshop slides: serves static files (evidence: `server.js`)
- Task API → Cheat sheet: serves static files (evidence: `server.js`)
- Workshop user → Workshop slides: opens slides
- Workshop user → Cheat sheet: opens reference
