# ishtiaqsifat2009-arch/dashboardapp architecture

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

- Interactive diagram: https://gitdiagram.com/ishtiaqsifat2009-arch/dashboardapp
- Repository: https://github.com/ishtiaqsifat2009-arch/dashboardapp

## Overview

StudySpace is a student study dashboard for managing tasks, notes, planned sessions, and focus sessions. The principal workflow is to use the dashboard views to update study data, which the shared state hook reduces and persists locally; the overview summarizes that data, including focus-time logs. A Tauri shell provides the desktop runtime. The README is empty, and the excerpts omit some UI wiring, so the graph shows only the visible app-to-state and state-to-storage relationships rather than inferred page-level dispatches.

Main entry points: [`dashboard/src/App.tsx`](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx) (Dashboard views), [`dashboard/src/studyData.ts`](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts) (Study data hook), [`dashboard/src/main.tsx`](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/main.tsx) (React entry), [`dashboard/src-tauri/src/lib.rs`](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src-tauri/src/lib.rs) (Tauri runtime)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Dashboard experience"]
  node_app_entry["React entry<br/>[main.tsx]"]
  node_dashboard["Dashboard views<br/>[App.tsx]"]
  node_overview["Study overview<br/>[App.tsx]"]
  node_task_management["Task management<br/>[App.tsx]"]
  node_study_planning["Study planning<br/>[App.tsx]"]
  node_notes["Study notes<br/>[App.tsx]"]
  node_focus_timer["Focus timer<br/>[App.tsx]"]
end

subgraph group_study_state["Study state"]
  node_study_data_hook["Study data hook<br/>[studyData.ts]"]
  node_study_reducer["Study reducer<br/>[studyData.ts]"]
  node_study_records["Study records<br/>[studyData.ts]"]
  node_session_logs["Focus logs<br/>[studyData.ts]"]
end

subgraph group_persistence["Local persistence"]
  node_local_storage[("Browser local storage<br/>[storage.ts]")]
end

subgraph group_desktop["Desktop runtime"]
  node_desktop_main["Tauri main<br/>[main.rs]"]
  node_desktop_runtime["Tauri runtime<br/>[lib.rs]"]
end

node_student(("Student"))

node_student -->|"uses"| node_app_entry
node_app_entry -->|"renders"| node_dashboard
node_dashboard -->|"renders"| node_overview
node_dashboard -->|"renders"| node_task_management
node_dashboard -->|"renders"| node_study_planning
node_dashboard -->|"renders"| node_notes
node_dashboard -->|"renders"| node_focus_timer
node_dashboard -->|"uses"| node_study_data_hook
node_study_data_hook -->|"dispatches"| node_study_reducer
node_study_reducer -->|"updates"| node_study_records
node_study_reducer -->|"records"| node_session_logs
node_study_data_hook -->|"loads and saves"| node_local_storage
node_desktop_main -->|"runs"| node_desktop_runtime
node_desktop_runtime -->|"loads frontend"| node_app_entry

click node_app_entry "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/main.tsx"
click node_dashboard "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx"
click node_overview "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx"
click node_task_management "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx"
click node_study_planning "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx"
click node_notes "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx"
click node_focus_timer "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx"
click node_study_data_hook "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts"
click node_study_reducer "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts"
click node_study_records "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts"
click node_session_logs "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts"
click node_local_storage "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/storage.ts"
click node_desktop_main "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src-tauri/src/main.rs"
click node_desktop_runtime "https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src-tauri/src/lib.rs"

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_app_entry,node_dashboard,node_overview,node_task_management,node_study_planning,node_notes,node_focus_timer toneBlue
class node_study_data_hook,node_study_reducer,node_study_records,node_session_logs toneAmber
class node_local_storage toneMint
class node_desktop_main,node_desktop_runtime toneRose
class node_student toneIndigo
```

## Components

### Dashboard experience

- [React entry](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/main.tsx): `dashboard/src/main.tsx`
- [Dashboard views](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx): `dashboard/src/App.tsx`
- [Study overview](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx): `dashboard/src/App.tsx`
- [Task management](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx): `dashboard/src/App.tsx`
- [Study planning](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx): `dashboard/src/App.tsx`
- [Study notes](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx): `dashboard/src/App.tsx`
- [Focus timer](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/App.tsx): `dashboard/src/App.tsx`

### Study state

- [Study data hook](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts): `dashboard/src/studyData.ts`
- [Study reducer](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts): `dashboard/src/studyData.ts`
- [Study records](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts): `dashboard/src/studyData.ts`
- [Focus logs](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/studyData.ts): `dashboard/src/studyData.ts`

### Local persistence

- [Browser local storage](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src/storage.ts): `dashboard/src/storage.ts`

### Desktop runtime

- [Tauri main](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src-tauri/src/main.rs): `dashboard/src-tauri/src/main.rs`
- [Tauri runtime](https://github.com/ishtiaqsifat2009-arch/dashboardapp/blob/main/dashboard/src-tauri/src/lib.rs): `dashboard/src-tauri/src/lib.rs`

### Other components

- **Student**

## Connections

- Student → React entry: uses
- React entry → Dashboard views: renders
- Dashboard views → Study overview: renders
- Dashboard views → Task management: renders
- Dashboard views → Study planning: renders
- Dashboard views → Study notes: renders
- Dashboard views → Focus timer: renders
- Dashboard views → Study data hook: uses
- Study data hook → Study reducer: dispatches
- Study reducer → Study records: updates
- Study reducer → Focus logs: records
- Study data hook → Browser local storage: loads and saves
- Tauri main → Tauri runtime: runs
- Tauri runtime → React entry: loads frontend
