# shiva-ganesh-varikuppala/jee-blueprint architecture

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

- Interactive diagram: https://gitdiagram.com/shiva-ganesh-varikuppala/jee-blueprint
- Repository: https://github.com/shiva-ganesh-varikuppala/jee-blueprint

## Overview

JEE Blueprint is a personal JEE study planner. A user signs in, then the React app routes them to a dashboard and study tools; task and syllabus actions use the authenticated API and persist through the Flask backend. The source confirms task and syllabus progress flows, while component names and routing identify additional study features. Backend internals and several feature implementations are only partially sampled, so uncertain service wiring is omitted.

Main entry points: [`src/main.tsx`](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/main.tsx) (App router), [`src/Auth.tsx`](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Auth.tsx) (API client), [`backend/app.py`](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/backend/app.py) (Flask API), [`src/App.tsx`](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/App.tsx) (Dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Study app"]
  node_root["App router<br/>[main.tsx]"]
  node_auth["Sign-in<br/>[Auth.tsx]"]
  node_dashboard["Dashboard<br/>[App.tsx]"]
  node_api_client["API client<br/>[Auth.tsx]"]
end

subgraph group_planning["Planning tools"]
  node_tasks["Task tracker<br/>[Tasks.tsx]"]
  node_planner["Study planner<br/>[Planner.tsx]"]
  node_strategy["Study strategy<br/>[Strategy.tsx]"]
  node_timetable["Personal timetable"]
  node_focus["Focus tools<br/>[FocusTools.tsx]"]
end

subgraph group_learning["Study resources"]
  node_syllabus["Syllabus tracker<br/>[Syllabus.tsx]"]
  node_syllabus_data["Syllabus content<br/>[syllabus.py]"]
  node_ai_tutor["AI study assistant<br/>[AiTutor.tsx]"]
  node_formulas["Formula book<br/>[FormulaBook.tsx]"]
  node_analytics["Analytics<br/>[Analytics.tsx]"]
end

subgraph group_backend["API and state"]
  node_backend_app["Flask API<br/>[app.py]"]
  node_database[("Application database<br/>[app.py]")]
end

node_student(("Student"))

node_student -->|"uses"| node_root
node_root -->|"renders"| node_auth
node_root -->|"routes to"| node_dashboard
node_root -->|"renders"| node_planner
node_root -->|"renders"| node_strategy
node_root -->|"renders"| node_tasks
node_root -->|"routes to"| node_focus
node_root -->|"routes to"| node_syllabus
node_root -->|"routes to"| node_ai_tutor
node_root -->|"routes to"| node_timetable
node_root -->|"routes to"| node_analytics
node_root -->|"routes to"| node_formulas
node_auth -->|"calls"| node_api_client
node_dashboard -->|"calls"| node_api_client
node_tasks -->|"calls"| node_api_client
node_syllabus -->|"calls"| node_api_client
node_timetable -->|"calls"| node_api_client
node_api_client -->|"sends requests"| node_backend_app
node_backend_app -->|"reads and writes"| node_database
node_backend_app -->|"loads content"| node_syllabus_data

click node_root "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/main.tsx"
click node_auth "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Auth.tsx"
click node_dashboard "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/App.tsx"
click node_tasks "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Tasks.tsx"
click node_planner "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Planner.tsx"
click node_strategy "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Strategy.tsx"
click node_timetable "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/PersonalTimetable.tsx"
click node_focus "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/FocusTools.tsx"
click node_syllabus "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Syllabus.tsx"
click node_syllabus_data "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/backend/syllabus.py"
click node_ai_tutor "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/AiTutor.tsx"
click node_formulas "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/FormulaBook.tsx"
click node_analytics "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Analytics.tsx"
click node_api_client "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Auth.tsx"
click node_backend_app "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/backend/app.py"
click node_database "https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/backend/app.py"

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_root,node_auth,node_dashboard,node_api_client toneBlue
class node_tasks,node_planner,node_strategy,node_timetable,node_focus toneAmber
class node_syllabus,node_syllabus_data,node_ai_tutor,node_formulas,node_analytics toneMint
class node_backend_app,node_database toneRose
class node_student toneIndigo
```

## Components

### Study app

- [App router](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/main.tsx): `src/main.tsx`
- [Sign-in](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Auth.tsx): `src/Auth.tsx`
- [Dashboard](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/App.tsx): `src/App.tsx`
- [API client](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Auth.tsx): `src/Auth.tsx`

### Planning tools

- [Task tracker](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Tasks.tsx): `src/Tasks.tsx`
- [Study planner](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Planner.tsx): `src/Planner.tsx`
- [Study strategy](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Strategy.tsx): `src/Strategy.tsx`
- [Personal timetable](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/PersonalTimetable.tsx): `src/PersonalTimetable.tsx`
- [Focus tools](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/FocusTools.tsx): `src/FocusTools.tsx`

### Study resources

- [Syllabus tracker](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Syllabus.tsx): `src/Syllabus.tsx`
- [Syllabus content](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/backend/syllabus.py): `backend/syllabus.py`
- [AI study assistant](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/AiTutor.tsx): `src/AiTutor.tsx`
- [Formula book](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/FormulaBook.tsx): `src/FormulaBook.tsx`
- [Analytics](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/src/Analytics.tsx): `src/Analytics.tsx`

### API and state

- [Flask API](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/backend/app.py): `backend/app.py`
- [Application database](https://github.com/shiva-ganesh-varikuppala/jee-blueprint/blob/main/backend/app.py): `backend/app.py`

### Other components

- **Student**

## Connections

- Student → App router: uses
- App router → Sign-in: renders
- App router → Dashboard: routes to
- App router → Study planner: renders
- App router → Study strategy: renders
- App router → Task tracker: renders
- App router → Focus tools: routes to
- App router → Syllabus tracker: routes to
- App router → AI study assistant: routes to
- App router → Personal timetable: routes to
- App router → Analytics: routes to
- App router → Formula book: routes to
- Sign-in → API client: calls
- Dashboard → API client: calls
- Task tracker → API client: calls
- Syllabus tracker → API client: calls
- Personal timetable → API client: calls
- API client → Flask API: sends requests
- Flask API → Application database: reads and writes
- Flask API → Syllabus content: loads content
