# shakibuzzaman52/note-share architecture

> Architecture diagram of the GitHub repository shakibuzzaman52/note-share, 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/shakibuzzaman52/note-share
- Repository: https://github.com/shakibuzzaman52/note-share

## Overview

ClassNotes lets students browse approved class notes by department, section, course, and date, submit new notes for review, and report broken links. The browser app renders the calendar and notes, while a Google Apps Script endpoint reads from and writes to a spreadsheet. The README is empty, and the HTML was not sampled, so UI wiring beyond the app’s observed DOM interactions is not detailed.

Main entry points: [`app.js`](https://github.com/shakibuzzaman52/note-share/blob/main/app.js) (Calendar and notes app), [`google-apps-script.js`](https://github.com/shakibuzzaman52/note-share/blob/main/google-apps-script.js) (Notes API), [`index.html`](https://github.com/shakibuzzaman52/note-share/blob/main/index.html) (ClassNotes UI), [`config.js`](https://github.com/shakibuzzaman52/note-share/blob/main/config.js) (Departments and courses)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browser["Browser app"]
  node_ui["ClassNotes UI<br/>[index.html]"]
  node_app["Calendar and notes app<br/>[app.js]"]
end

subgraph group_service["Notes service"]
  node_api["Notes API"]
end

subgraph group_storage["Configuration and storage"]
  node_config["Departments and courses<br/>[config.js]"]
  node_sheet[("Notes spreadsheet")]
end

node_student(("Student"))

node_student -->|"uses"| node_ui
node_ui -->|"triggers events"| node_app
node_app -->|"renders views"| node_ui
node_config -->|"provides settings"| node_app
node_app -->|"fetches notes"| node_api
node_api -->|"returns notes"| node_app
node_app -->|"submits notes or reports"| node_api
node_api -->|"reads approved notes"| node_sheet
node_api -->|"appends notes; updates reports"| node_sheet

click node_ui "https://github.com/shakibuzzaman52/note-share/blob/main/index.html"
click node_app "https://github.com/shakibuzzaman52/note-share/blob/main/app.js"
click node_config "https://github.com/shakibuzzaman52/note-share/blob/main/config.js"
click node_api "https://github.com/shakibuzzaman52/note-share/blob/main/google-apps-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_ui,node_app toneBlue
class node_api toneAmber
class node_config,node_sheet toneMint
class node_student toneIndigo
```

## Components

### Browser app

- [ClassNotes UI](https://github.com/shakibuzzaman52/note-share/blob/main/index.html): `index.html`
- [Calendar and notes app](https://github.com/shakibuzzaman52/note-share/blob/main/app.js): `app.js`

### Notes service

- [Notes API](https://github.com/shakibuzzaman52/note-share/blob/main/google-apps-script.js): `google-apps-script.js`

### Configuration and storage

- [Departments and courses](https://github.com/shakibuzzaman52/note-share/blob/main/config.js): `config.js`
- **Notes spreadsheet**

### Other components

- **Student**

## Connections

- Student → ClassNotes UI: uses
- ClassNotes UI → Calendar and notes app: triggers events
- Calendar and notes app → ClassNotes UI: renders views
- Departments and courses → Calendar and notes app: provides settings
- Calendar and notes app → Notes API: fetches notes
- Notes API → Calendar and notes app: returns notes
- Calendar and notes app → Notes API: submits notes or reports
- Notes API → Notes spreadsheet: reads approved notes
- Notes API → Notes spreadsheet: appends notes; updates reports
