# rushankhan16/interntask-pro architecture

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

- Interactive diagram: https://gitdiagram.com/rushankhan16/interntask-pro
- Repository: https://github.com/rushankhan16/interntask-pro

## Overview

InternTask Pro is a browser-based task dashboard served by a small Express server. The main workflow is to create or manage tasks, persist them in browser localStorage, and view filtered task lists and progress analytics. The sampled JavaScript implements these features together in one file, so the domain components below share that path. The HTML and CSS are present in the tree but were not sampled; their internal wiring is therefore not shown.

Main entry points: [`public/script.js`](https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js) (Task management), [`server.js`](https://github.com/rushankhan16/interntask-pro/blob/main/server.js) (Express server), [`public/index.html`](https://github.com/rushankhan16/interntask-pro/blob/main/public/index.html) (Dashboard page), [`public/style.css`](https://github.com/rushankhan16/interntask-pro/blob/main/public/style.css) (Dashboard styling)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_delivery["Web delivery"]
  node_server["Express server<br/>[server.js]"]
  node_page["Dashboard page<br/>[index.html]"]
  node_styles["Dashboard styling<br/>[style.css]"]
end

subgraph group_tasks["Task dashboard"]
  node_task_ops["Task management<br/>[script.js]"]
  node_filters["Search and filters<br/>[script.js]"]
  node_task_views["Task lists<br/>[script.js]"]
  node_analytics["Progress analytics<br/>[script.js]"]
  node_theme["Theme and clock<br/>[script.js]"]
end

subgraph group_browser["Browser state"]
  node_task_store["Task storage<br/>[script.js]"]
  node_browser_storage[("Browser localStorage")]
end

node_user(("Dashboard user"))

node_user -->|"opens dashboard"| node_server
node_server -->|"serves page"| node_page
node_server -->|"serves static files"| node_styles
node_user -->|"manages tasks"| node_task_ops
node_task_ops -->|"saves changes"| node_task_store
node_task_store -->|"reads and writes"| node_browser_storage
node_task_ops -->|"rerenders lists"| node_task_views
node_filters -->|"updates filtered list"| node_task_views
node_task_ops -->|"rerenders metrics"| node_analytics
node_user -->|"searches tasks"| node_filters
node_user -->|"views progress"| node_analytics
node_user -->|"changes theme"| node_theme
node_user -->|"marks complete"| node_task_ops

click node_server "https://github.com/rushankhan16/interntask-pro/blob/main/server.js"
click node_page "https://github.com/rushankhan16/interntask-pro/blob/main/public/index.html"
click node_styles "https://github.com/rushankhan16/interntask-pro/blob/main/public/style.css"
click node_task_ops "https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js"
click node_filters "https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js"
click node_task_views "https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js"
click node_analytics "https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js"
click node_theme "https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js"
click node_task_store "https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js"

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_server,node_page,node_styles,node_user toneBlue
class node_task_ops,node_filters,node_task_views,node_analytics,node_theme toneAmber
class node_task_store,node_browser_storage toneMint
```

## Components

### Web delivery

- [Express server](https://github.com/rushankhan16/interntask-pro/blob/main/server.js): `server.js`
- [Dashboard page](https://github.com/rushankhan16/interntask-pro/blob/main/public/index.html): `public/index.html`
- [Dashboard styling](https://github.com/rushankhan16/interntask-pro/blob/main/public/style.css): `public/style.css`

### Task dashboard

- [Task management](https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js): `public/script.js`
- [Search and filters](https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js): `public/script.js`
- [Task lists](https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js): `public/script.js`
- [Progress analytics](https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js): `public/script.js`
- [Theme and clock](https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js): `public/script.js`

### Browser state

- [Task storage](https://github.com/rushankhan16/interntask-pro/blob/main/public/script.js): `public/script.js`
- **Browser localStorage**

### Other components

- **Dashboard user**

## Connections

- Dashboard user → Express server: opens dashboard (evidence: `README.md`)
- Express server → Dashboard page: serves page (evidence: `server.js`)
- Express server → Dashboard styling: serves static files (evidence: `server.js`)
- Dashboard user → Task management: manages tasks (evidence: `README.md`)
- Task management → Task storage: saves changes (evidence: `public/script.js`)
- Task storage → Browser localStorage: reads and writes (evidence: `public/script.js`)
- Task management → Task lists: rerenders lists (evidence: `public/script.js`)
- Search and filters → Task lists: updates filtered list (evidence: `public/script.js`)
- Task management → Progress analytics: rerenders metrics (evidence: `public/script.js`)
- Dashboard user → Search and filters: searches tasks (evidence: `README.md`)
- Dashboard user → Progress analytics: views progress (evidence: `README.md`)
- Dashboard user → Theme and clock: changes theme (evidence: `README.md`)
- Dashboard user → Task management: marks complete (evidence: `README.md`)
