# git-x0/live-task-manager architecture

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

- Interactive diagram: https://gitdiagram.com/git-x0/live-task-manager
- Repository: https://github.com/git-x0/live-task-manager

## Overview

LiveTaskManager is a browser-based task manager with Angular server-side rendering. The main user flow enters the application shell and reaches the task-manager component, which manages tasks and related features in browser state. Separate browser and server bootstraps configure routing and rendering; the Express server handles requests through Angular’s SSR engine. The excerpts show task creation, filtering, categories, deadlines, reordering, themes, and import/export, but not the complete UI template or every task operation.

Main entry points: [`src/app/task-manager/task-manager.ts`](https://github.com/git-x0/live-task-manager/blob/main/src/app/task-manager/task-manager.ts) (Task manager), [`src/app/app.ts`](https://github.com/git-x0/live-task-manager/blob/main/src/app/app.ts) (Application shell), [`src/main.ts`](https://github.com/git-x0/live-task-manager/blob/main/src/main.ts) (Browser bootstrap), [`src/app/app.config.server.ts`](https://github.com/git-x0/live-task-manager/blob/main/src/app/app.config.server.ts) (Server configuration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_application["Application runtime"]
  node_browser_bootstrap["Browser bootstrap<br/>[main.ts]"]
  node_app_config["Browser configuration<br/>[app.config.ts]"]
  node_routes["Client routes<br/>[app.routes.ts]"]
  node_app_shell["Application shell<br/>[app.ts]"]
end

subgraph group_tasks["Task management"]
  node_manager["Task manager<br/>[task-manager.ts]"]
end

subgraph group_server["Server rendering"]
  node_server_bootstrap["Server bootstrap<br/>[main.server.ts]"]
  node_server_config["Server configuration"]
  node_server_routes["Prerender routes"]
  node_express_server["Express SSR server<br/>[server.ts]"]
end

node_browser(("Browser user"))
node_browser_storage[("Browser local storage")]
node_local_files["Local files"]
node_http_client(("HTTP client"))

node_browser -->|"opens app"| node_browser_bootstrap
node_browser_bootstrap -->|"bootstraps"| node_app_shell
node_browser_bootstrap -->|"uses config"| node_app_config
node_app_config -->|"provides routes"| node_routes
node_app_shell -->|"imports"| node_manager
node_manager -->|"reads and writes"| node_browser_storage
node_browser -.->|"manages tasks"| node_manager
node_manager -->|"imports and exports"| node_local_files
node_server_bootstrap -->|"bootstraps"| node_app_shell
node_server_bootstrap -->|"uses config"| node_server_config
node_server_config -->|"merges config"| node_app_config
node_server_config -->|"configures routes"| node_server_routes
node_http_client -.->|"sends requests"| node_express_server
node_express_server -->|"renders app"| node_app_shell

click node_browser_bootstrap "https://github.com/git-x0/live-task-manager/blob/main/src/main.ts"
click node_app_config "https://github.com/git-x0/live-task-manager/blob/main/src/app/app.config.ts"
click node_routes "https://github.com/git-x0/live-task-manager/blob/main/src/app/app.routes.ts"
click node_app_shell "https://github.com/git-x0/live-task-manager/blob/main/src/app/app.ts"
click node_manager "https://github.com/git-x0/live-task-manager/blob/main/src/app/task-manager/task-manager.ts"
click node_server_bootstrap "https://github.com/git-x0/live-task-manager/blob/main/src/main.server.ts"
click node_server_config "https://github.com/git-x0/live-task-manager/blob/main/src/app/app.config.server.ts"
click node_server_routes "https://github.com/git-x0/live-task-manager/blob/main/src/app/app.routes.server.ts"
click node_express_server "https://github.com/git-x0/live-task-manager/blob/main/src/server.ts"

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_browser_bootstrap,node_app_config,node_routes,node_app_shell,node_browser,node_http_client toneBlue
class node_manager,node_browser_storage toneAmber
class node_server_bootstrap,node_server_config,node_server_routes,node_express_server toneMint
class node_local_files toneIndigo
```

## Components

### Application runtime

- [Browser bootstrap](https://github.com/git-x0/live-task-manager/blob/main/src/main.ts): `src/main.ts`
- [Browser configuration](https://github.com/git-x0/live-task-manager/blob/main/src/app/app.config.ts): `src/app/app.config.ts`
- [Client routes](https://github.com/git-x0/live-task-manager/blob/main/src/app/app.routes.ts): `src/app/app.routes.ts`
- [Application shell](https://github.com/git-x0/live-task-manager/blob/main/src/app/app.ts): `src/app/app.ts`

### Task management

- [Task manager](https://github.com/git-x0/live-task-manager/blob/main/src/app/task-manager/task-manager.ts): `src/app/task-manager/task-manager.ts`

### Server rendering

- [Server bootstrap](https://github.com/git-x0/live-task-manager/blob/main/src/main.server.ts): `src/main.server.ts`
- [Server configuration](https://github.com/git-x0/live-task-manager/blob/main/src/app/app.config.server.ts): `src/app/app.config.server.ts`
- [Prerender routes](https://github.com/git-x0/live-task-manager/blob/main/src/app/app.routes.server.ts): `src/app/app.routes.server.ts`
- [Express SSR server](https://github.com/git-x0/live-task-manager/blob/main/src/server.ts): `src/server.ts`

### Other components

- **Browser user**
- **Browser local storage**
- **Local files**
- **HTTP client**

## Connections

- Browser user → Browser bootstrap: opens app (evidence: `src/main.ts`)
- Browser bootstrap → Application shell: bootstraps (evidence: `src/main.ts`)
- Browser bootstrap → Browser configuration: uses config (evidence: `src/main.ts`)
- Browser configuration → Client routes: provides routes (evidence: `src/app/app.config.ts`)
- Application shell → Task manager: imports (evidence: `src/app/app.ts`)
- Task manager → Browser local storage: reads and writes (evidence: `src/app/task-manager/task-manager.ts`)
- Browser user → Task manager: manages tasks
- Task manager → Local files: imports and exports (evidence: `src/app/task-manager/task-manager.ts`)
- Server bootstrap → Application shell: bootstraps (evidence: `src/main.server.ts`)
- Server bootstrap → Server configuration: uses config (evidence: `src/main.server.ts`)
- Server configuration → Browser configuration: merges config (evidence: `src/app/app.config.server.ts`)
- Server configuration → Prerender routes: configures routes (evidence: `src/app/app.config.server.ts`)
- HTTP client → Express SSR server: sends requests
- Express SSR server → Application shell: renders app (evidence: `src/server.ts`)
