# test2a/lextime architecture

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

- Interactive diagram: https://gitdiagram.com/test2a/lextime
- Repository: https://github.com/test2a/lextime

## Overview

LexTime is a browser-only legal practice and client-money app. The documented workflow runs from client and matter records through time and expense capture, invoicing, payment receipts, and reporting; client-money accounting and local data protection are important parallel capabilities. The tree contains only index.html as application source, so component paths point to that file. Relationships below are based on README documentation; no source excerpts were available to verify implementation details.

Main entry points: [`index.html`](https://github.com/test2a/lextime/blob/main/index.html) (LexTime app)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_practice["Practice Records"]
  node_clients["Clients<br/>[index.html]"]
  node_matters["Matters<br/>[index.html]"]
  node_timer["Timer<br/>[index.html]"]
  node_time["Time entries<br/>[index.html]"]
  node_expenses["Expenses<br/>[index.html]"]
  node_matterledger["Matter ledger<br/>[index.html]"]
end

subgraph group_billing["Billing &amp; Accounting"]
  node_invoice["Invoice builder<br/>[index.html]"]
  node_tax["Tax engine<br/>[index.html]"]
  node_payments["Payments<br/>[index.html]"]
  node_receipts["Receipts<br/>[index.html]"]
  node_clientmoney["Client money<br/>[index.html]"]
end

subgraph group_operations["Operations"]
  node_app["LexTime app<br/>[index.html]"]
  node_dashboard["Dashboard<br/>[index.html]"]
  node_reports["Reports<br/>[index.html]"]
  node_settings["Settings<br/>[index.html]"]
end

subgraph group_integrity["Data &amp; Integrity"]
  node_localdata[("Local data<br/>[index.html]")]
  node_workspace["Workspace file<br/>[index.html]"]
  node_backup["Encrypted backup<br/>[index.html]"]
  node_audit["Audit &amp; integrity<br/>[index.html]"]
  node_security["PIN security<br/>[index.html]"]
end

node_user(("Legal practitioner"))

node_user -->|"uses"| node_app
node_app -->|"shows"| node_dashboard
node_app -->|"manages"| node_clients
node_app -->|"manages"| node_matters
node_matters -->|"belongs to"| node_clients
node_app -->|"runs"| node_timer
node_timer -->|"saves sessions"| node_time
node_app -->|"records"| node_time
node_app -->|"records"| node_expenses
node_matters -->|"aggregates activity"| node_matterledger
node_time -->|"supplies billable items"| node_invoice
node_expenses -->|"supplies billable items"| node_invoice
node_app -->|"builds"| node_invoice
node_invoice -->|"calculates tax"| node_tax
node_invoice -->|"accepts payment"| node_payments
node_payments -->|"generates"| node_receipts
node_app -->|"posts transactions"| node_clientmoney
node_payments -->|"can transfer funds"| node_clientmoney
node_app -->|"provides"| node_reports
node_app -->|"configures"| node_settings
node_app -->|"stores data"| node_localdata
node_localdata -.->|"can save to"| node_workspace
node_localdata -->|"exports"| node_backup
node_app -->|"validates saves"| node_audit
node_app -->|"protects access"| node_security

click node_app "https://github.com/test2a/lextime/blob/main/index.html"
click node_dashboard "https://github.com/test2a/lextime/blob/main/index.html"
click node_clients "https://github.com/test2a/lextime/blob/main/index.html"
click node_matters "https://github.com/test2a/lextime/blob/main/index.html"
click node_timer "https://github.com/test2a/lextime/blob/main/index.html"
click node_time "https://github.com/test2a/lextime/blob/main/index.html"
click node_expenses "https://github.com/test2a/lextime/blob/main/index.html"
click node_matterledger "https://github.com/test2a/lextime/blob/main/index.html"
click node_invoice "https://github.com/test2a/lextime/blob/main/index.html"
click node_tax "https://github.com/test2a/lextime/blob/main/index.html"
click node_payments "https://github.com/test2a/lextime/blob/main/index.html"
click node_receipts "https://github.com/test2a/lextime/blob/main/index.html"
click node_clientmoney "https://github.com/test2a/lextime/blob/main/index.html"
click node_reports "https://github.com/test2a/lextime/blob/main/index.html"
click node_settings "https://github.com/test2a/lextime/blob/main/index.html"
click node_localdata "https://github.com/test2a/lextime/blob/main/index.html"
click node_workspace "https://github.com/test2a/lextime/blob/main/index.html"
click node_backup "https://github.com/test2a/lextime/blob/main/index.html"
click node_audit "https://github.com/test2a/lextime/blob/main/index.html"
click node_security "https://github.com/test2a/lextime/blob/main/index.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_clients,node_matters,node_timer,node_time,node_expenses,node_matterledger toneBlue
class node_invoice,node_tax,node_payments,node_receipts,node_clientmoney toneAmber
class node_app,node_dashboard,node_reports,node_settings toneMint
class node_localdata,node_workspace,node_backup,node_audit,node_security toneRose
class node_user toneIndigo
```

## Components

### Practice Records

- [Clients](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Matters](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Timer](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Time entries](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Expenses](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Matter ledger](https://github.com/test2a/lextime/blob/main/index.html): `index.html`

### Billing & Accounting

- [Invoice builder](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Tax engine](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Payments](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Receipts](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Client money](https://github.com/test2a/lextime/blob/main/index.html): `index.html`

### Operations

- [LexTime app](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Dashboard](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Reports](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Settings](https://github.com/test2a/lextime/blob/main/index.html): `index.html`

### Data & Integrity

- [Local data](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Workspace file](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Encrypted backup](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [Audit & integrity](https://github.com/test2a/lextime/blob/main/index.html): `index.html`
- [PIN security](https://github.com/test2a/lextime/blob/main/index.html): `index.html`

### Other components

- **Legal practitioner**

## Connections

- Legal practitioner → LexTime app: uses (evidence: `README.md`)
- LexTime app → Dashboard: shows (evidence: `README.md`)
- LexTime app → Clients: manages (evidence: `README.md`)
- LexTime app → Matters: manages (evidence: `README.md`)
- Matters → Clients: belongs to (evidence: `README.md`)
- LexTime app → Timer: runs (evidence: `README.md`)
- Timer → Time entries: saves sessions (evidence: `README.md`)
- LexTime app → Time entries: records (evidence: `README.md`)
- LexTime app → Expenses: records (evidence: `README.md`)
- Matters → Matter ledger: aggregates activity (evidence: `README.md`)
- Time entries → Invoice builder: supplies billable items (evidence: `README.md`)
- Expenses → Invoice builder: supplies billable items (evidence: `README.md`)
- LexTime app → Invoice builder: builds (evidence: `README.md`)
- Invoice builder → Tax engine: calculates tax (evidence: `README.md`)
- Invoice builder → Payments: accepts payment (evidence: `README.md`)
- Payments → Receipts: generates (evidence: `README.md`)
- LexTime app → Client money: posts transactions (evidence: `README.md`)
- Payments → Client money: can transfer funds (evidence: `README.md`)
- LexTime app → Reports: provides (evidence: `README.md`)
- LexTime app → Settings: configures (evidence: `README.md`)
- LexTime app → Local data: stores data (evidence: `README.md`)
- Local data → Workspace file: can save to (evidence: `README.md`)
- Local data → Encrypted backup: exports (evidence: `README.md`)
- LexTime app → Audit & integrity: validates saves (evidence: `README.md`)
- LexTime app → PIN security: protects access (evidence: `README.md`)
