# teamgreencomputerclub/eduapp architecture

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

- Interactive diagram: https://gitdiagram.com/teamgreencomputerclub/eduapp
- Repository: https://github.com/teamgreencomputerclub/eduapp

## Overview

EduGrade is a browser-based student study and academic-planning application. Students review a dashboard, enter or scan report-card grades and exam tryout scores, inspect trends and readiness, and compare selected university programs; separate study tools support focus, text cleanup, citations, and task planning. The sampled controllers show local browser storage and calculation calls. The README is empty, and some source is excerpted, so links for unsampled page behavior and tool persistence are omitted.

Main entry points: [`js/analisa-nilai.js`](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/analisa-nilai.js) (Analysis Controller), [`js/dashboard.js`](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/dashboard.js) (Dashboard Controller), [`js/storage.js`](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/storage.js) (State Service), [`analisa-nilai.html`](https://github.com/teamgreencomputerclub/eduapp/blob/main/analisa-nilai.html) (Grade Analysis)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_pages["Student Pages"]
  node_home["Home<br/>[home.html]"]
  node_login["Login<br/>[login.html]"]
  node_dashboard["Dashboard<br/>[dashboard.html]"]
  node_analysis["Grade Analysis<br/>[analisa-nilai.html]"]
  node_tools["Study Tools<br/>[alat-pelajar.html]"]
end

subgraph group_academic["Academic Analysis"]
  node_dashboard_ui["Dashboard Controller<br/>[dashboard.js]"]
  node_analysis_ui["Analysis Controller<br/>[analisa-nilai.js]"]
  node_ocr["Report OCR<br/>[ocr-scanner.js]"]
  node_calculator["Analytics Engine<br/>[calculations.js]"]
end

subgraph group_study["Study Tools"]
  node_tool_ui["Tool Controller<br/>[alat-pelajar.js]"]
end

subgraph group_core["Shared Services"]
  node_app["Global UI<br/>[app.js]"]
  node_storage["State Service<br/>[storage.js]"]
end

node_student(("Student"))
node_local_storage[("Browser Storage")]

node_student -->|"visits"| node_home
node_student -->|"signs in"| node_login
node_student -->|"opens"| node_dashboard
node_student -->|"reviews scores"| node_analysis
node_student -->|"uses tools"| node_tools
node_dashboard -->|"runs"| node_dashboard_ui
node_analysis -->|"runs"| node_analysis_ui
node_tools -->|"runs"| node_tool_ui
node_dashboard_ui -->|"reads profile and scores"| node_storage
node_dashboard_ui -->|"calculates metrics"| node_calculator
node_dashboard_ui -->|"links to"| node_analysis
node_analysis_ui -->|"reads and saves scores"| node_storage
node_analysis_ui -->|"calculates trends and chances"| node_calculator
node_analysis_ui -->|"starts scan"| node_ocr
node_ocr -->|"returns sample grades"| node_analysis_ui
node_app -->|"reads and updates settings"| node_storage
node_storage -->|"reads and writes"| node_local_storage

click node_home "https://github.com/teamgreencomputerclub/eduapp/blob/main/home.html"
click node_login "https://github.com/teamgreencomputerclub/eduapp/blob/main/login.html"
click node_dashboard "https://github.com/teamgreencomputerclub/eduapp/blob/main/dashboard.html"
click node_analysis "https://github.com/teamgreencomputerclub/eduapp/blob/main/analisa-nilai.html"
click node_tools "https://github.com/teamgreencomputerclub/eduapp/blob/main/alat-pelajar.html"
click node_dashboard_ui "https://github.com/teamgreencomputerclub/eduapp/blob/main/js/dashboard.js"
click node_analysis_ui "https://github.com/teamgreencomputerclub/eduapp/blob/main/js/analisa-nilai.js"
click node_ocr "https://github.com/teamgreencomputerclub/eduapp/blob/main/js/ocr-scanner.js"
click node_calculator "https://github.com/teamgreencomputerclub/eduapp/blob/main/js/calculations.js"
click node_tool_ui "https://github.com/teamgreencomputerclub/eduapp/blob/main/js/alat-pelajar.js"
click node_app "https://github.com/teamgreencomputerclub/eduapp/blob/main/js/app.js"
click node_storage "https://github.com/teamgreencomputerclub/eduapp/blob/main/js/storage.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_home,node_login,node_dashboard,node_analysis,node_tools toneBlue
class node_dashboard_ui,node_analysis_ui,node_ocr,node_calculator,node_local_storage toneAmber
class node_tool_ui toneMint
class node_app,node_storage toneRose
class node_student toneIndigo
```

## Components

### Student Pages

- [Home](https://github.com/teamgreencomputerclub/eduapp/blob/main/home.html): `home.html`
- [Login](https://github.com/teamgreencomputerclub/eduapp/blob/main/login.html): `login.html`
- [Dashboard](https://github.com/teamgreencomputerclub/eduapp/blob/main/dashboard.html): `dashboard.html`
- [Grade Analysis](https://github.com/teamgreencomputerclub/eduapp/blob/main/analisa-nilai.html): `analisa-nilai.html`
- [Study Tools](https://github.com/teamgreencomputerclub/eduapp/blob/main/alat-pelajar.html): `alat-pelajar.html`

### Academic Analysis

- [Dashboard Controller](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/dashboard.js): `js/dashboard.js`
- [Analysis Controller](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/analisa-nilai.js): `js/analisa-nilai.js`
- [Report OCR](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/ocr-scanner.js): `js/ocr-scanner.js`
- [Analytics Engine](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/calculations.js): `js/calculations.js`

### Study Tools

- [Tool Controller](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/alat-pelajar.js): `js/alat-pelajar.js`

### Shared Services

- [Global UI](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/app.js): `js/app.js`
- [State Service](https://github.com/teamgreencomputerclub/eduapp/blob/main/js/storage.js): `js/storage.js`

### Other components

- **Student**
- **Browser Storage**

## Connections

- Student → Home: visits
- Student → Login: signs in
- Student → Dashboard: opens
- Student → Grade Analysis: reviews scores
- Student → Study Tools: uses tools
- Dashboard → Dashboard Controller: runs
- Grade Analysis → Analysis Controller: runs
- Study Tools → Tool Controller: runs
- Dashboard Controller → State Service: reads profile and scores
- Dashboard Controller → Analytics Engine: calculates metrics
- Dashboard Controller → Grade Analysis: links to
- Analysis Controller → State Service: reads and saves scores
- Analysis Controller → Analytics Engine: calculates trends and chances
- Analysis Controller → Report OCR: starts scan
- Report OCR → Analysis Controller: returns sample grades
- Global UI → State Service: reads and updates settings
- State Service → Browser Storage: reads and writes
