# kazhimykan/office-2026 architecture

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

- Interactive diagram: https://gitdiagram.com/kazhimykan/office-2026
- Repository: https://github.com/kazhimykan/office-2026

## Overview

This is a browser-based office suite with a login gate and separate Word, Excel, and PowerPoint apps. The main user flow is to sign in, choose an app, edit a document, workbook, or presentation, and save or export it. The sampled editors show local browser persistence and rich editing capabilities; the individual app READMEs and unsampled code may define further behavior, so only relationships shown in the excerpts or documented by the root interface are included.

Main entry points: [`index.html`](https://github.com/kazhimykan/office-2026/blob/main/index.html) (Office Home), [`apps/word/script.js`](https://github.com/kazhimykan/office-2026/blob/main/apps/word/script.js) (Document Editing), [`apps/excel/script.js`](https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js) (Workbook Editing), [`apps/word/index.html`](https://github.com/kazhimykan/office-2026/blob/main/apps/word/index.html) (Word Interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access"]
  node_login["Login Screen<br/>[index.html]"]
  node_gate["Login Logic<br/>[script.js]"]
  node_guard["Auth Guard<br/>[auth-guard.js]"]
end

subgraph group_apps["Office Apps"]
  node_office["Office Home<br/>[index.html]"]
end

subgraph group_word["Word Editor"]
  node_wordui["Word Interface<br/>[index.html]"]
  node_wordedit["Document Editing<br/>[script.js]"]
  node_wordfiles["Document Files<br/>[script.js]"]
  node_wordstore[("Browser Storage<br/>[script.js]")]
end

subgraph group_excel["Excel Editor"]
  node_excelui["Workbook Interface<br/>[index.html]"]
  node_exceledit["Workbook Editing<br/>[script.js]"]
  node_excelcharts["Charting<br/>[script.js]"]
  node_excelhistory["Snapshots<br/>[script.js]"]
  node_excelstore[("Browser Storage<br/>[script.js]")]
end

subgraph group_powerpoint["Presentation Editor"]
  node_pptui["Presentation Interface<br/>[index.html]"]
  node_pptedit["Slide Editing<br/>[script.js]"]
  node_pptstore[("Browser Storage<br/>[script.js]")]
end

node_user(("User"))
node_local["Browser APIs"]

node_user -->|"opens"| node_login
node_login -->|"submits credentials"| node_gate
node_gate -->|"shows after sign-in"| node_office
node_office -->|"opens"| node_wordui
node_office -->|"opens"| node_excelui
node_office -->|"opens"| node_pptui
node_wordui -.->|"checks session"| node_guard
node_excelui -.->|"checks session"| node_guard
node_pptui -.->|"checks session"| node_guard
node_wordui -.->|"loads editor"| node_wordedit
node_wordedit -->|"imports and exports"| node_wordfiles
node_wordedit -->|"reads and writes"| node_wordstore
node_wordedit -->|"uses crypto and speech"| node_local
node_excelui -.->|"loads editor"| node_exceledit
node_exceledit -->|"renders chart"| node_excelcharts
node_exceledit -->|"creates and restores"| node_excelhistory
node_exceledit -->|"reads and writes"| node_excelstore
node_pptui -.->|"loads editor"| node_pptedit
node_pptedit -->|"reads and writes"| node_pptstore

click node_login "https://github.com/kazhimykan/office-2026/blob/main/index.html"
click node_gate "https://github.com/kazhimykan/office-2026/blob/main/script.js"
click node_guard "https://github.com/kazhimykan/office-2026/blob/main/auth-guard.js"
click node_office "https://github.com/kazhimykan/office-2026/blob/main/index.html"
click node_wordui "https://github.com/kazhimykan/office-2026/blob/main/apps/word/index.html"
click node_wordedit "https://github.com/kazhimykan/office-2026/blob/main/apps/word/script.js"
click node_wordfiles "https://github.com/kazhimykan/office-2026/blob/main/apps/word/script.js"
click node_wordstore "https://github.com/kazhimykan/office-2026/blob/main/apps/word/script.js"
click node_excelui "https://github.com/kazhimykan/office-2026/blob/main/apps/excel/index.html"
click node_exceledit "https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js"
click node_excelcharts "https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js"
click node_excelhistory "https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js"
click node_excelstore "https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js"
click node_pptui "https://github.com/kazhimykan/office-2026/blob/main/apps/powerpoint/index.html"
click node_pptedit "https://github.com/kazhimykan/office-2026/blob/main/apps/powerpoint/script.js"
click node_pptstore "https://github.com/kazhimykan/office-2026/blob/main/apps/powerpoint/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_login,node_gate,node_guard,node_user,node_local toneBlue
class node_office toneAmber
class node_wordui,node_wordedit,node_wordfiles,node_wordstore toneMint
class node_excelui,node_exceledit,node_excelcharts,node_excelhistory,node_excelstore toneRose
class node_pptui,node_pptedit,node_pptstore toneIndigo
```

## Components

### Access

- [Login Screen](https://github.com/kazhimykan/office-2026/blob/main/index.html): `index.html`
- [Login Logic](https://github.com/kazhimykan/office-2026/blob/main/script.js): `script.js`
- [Auth Guard](https://github.com/kazhimykan/office-2026/blob/main/auth-guard.js): `auth-guard.js`

### Office Apps

- [Office Home](https://github.com/kazhimykan/office-2026/blob/main/index.html): `index.html`

### Word Editor

- [Word Interface](https://github.com/kazhimykan/office-2026/blob/main/apps/word/index.html): `apps/word/index.html`
- [Document Editing](https://github.com/kazhimykan/office-2026/blob/main/apps/word/script.js): `apps/word/script.js`
- [Document Files](https://github.com/kazhimykan/office-2026/blob/main/apps/word/script.js): `apps/word/script.js`
- [Browser Storage](https://github.com/kazhimykan/office-2026/blob/main/apps/word/script.js): `apps/word/script.js`

### Excel Editor

- [Workbook Interface](https://github.com/kazhimykan/office-2026/blob/main/apps/excel/index.html): `apps/excel/index.html`
- [Workbook Editing](https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js): `apps/excel/script.js`
- [Charting](https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js): `apps/excel/script.js`
- [Snapshots](https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js): `apps/excel/script.js`
- [Browser Storage](https://github.com/kazhimykan/office-2026/blob/main/apps/excel/script.js): `apps/excel/script.js`

### Presentation Editor

- [Presentation Interface](https://github.com/kazhimykan/office-2026/blob/main/apps/powerpoint/index.html): `apps/powerpoint/index.html`
- [Slide Editing](https://github.com/kazhimykan/office-2026/blob/main/apps/powerpoint/script.js): `apps/powerpoint/script.js`
- [Browser Storage](https://github.com/kazhimykan/office-2026/blob/main/apps/powerpoint/script.js): `apps/powerpoint/script.js`

### Other components

- **User**
- **Browser APIs**

## Connections

- User → Login Screen: opens
- Login Screen → Login Logic: submits credentials (evidence: `script.js`)
- Login Logic → Office Home: shows after sign-in (evidence: `script.js`)
- Office Home → Word Interface: opens
- Office Home → Workbook Interface: opens
- Office Home → Presentation Interface: opens
- Word Interface → Auth Guard: checks session
- Workbook Interface → Auth Guard: checks session
- Presentation Interface → Auth Guard: checks session
- Word Interface → Document Editing: loads editor
- Document Editing → Document Files: imports and exports (evidence: `apps/word/script.js`)
- Document Editing → Browser Storage: reads and writes (evidence: `apps/word/script.js`)
- Document Editing → Browser APIs: uses crypto and speech (evidence: `apps/word/script.js`)
- Workbook Interface → Workbook Editing: loads editor
- Workbook Editing → Charting: renders chart (evidence: `apps/excel/script.js`)
- Workbook Editing → Snapshots: creates and restores (evidence: `apps/excel/script.js`)
- Workbook Editing → Browser Storage: reads and writes (evidence: `apps/excel/script.js`)
- Presentation Interface → Slide Editing: loads editor
- Slide Editing → Browser Storage: reads and writes (evidence: `apps/powerpoint/script.js`)
