# radhakrishna2009/edupath-ai architecture

> Architecture diagram of the GitHub repository radhakrishna2009/edupath-ai, 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/radhakrishna2009/edupath-ai
- Repository: https://github.com/radhakrishna2009/edupath-ai

## Overview

EduPath AI is a JEE/NEET study workspace whose frontend presents exam-focused learning tools: students review their progress, seek AI help, practice with flashcards or mock tests, and plan revision. App owns navigation and in-memory state, supplying that state to feature components; the dashboard, analytics, search, settings and admin capabilities are documented or represented in the tree, though not all wiring was sampled. The Express server exposes AI generation endpoints backed by Gemini. README claims accounts, durable database/cache, adaptive recommendations and security features that are not substantiated by the sampled runtime, so they are not modeled as implemented services.

Main entry points: [`src/App.tsx`](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/App.tsx) (App state and routing), [`server.ts`](https://github.com/radhakrishna2009/edupath-ai/blob/main/server.ts) (AI API endpoints), [`src/components/Dashboard.tsx`](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/Dashboard.tsx) (Dashboard), [`src/components/AIChatbot.tsx`](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AIChatbot.tsx) (AI study tutor)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Learning workspace"]
  node_app["App state and routing<br/>[App.tsx]"]
  node_seed["Sample learning data<br/>[initialData.ts]"]
  node_types["Learning domain types<br/>[types.ts]"]
  node_dashboard["Dashboard<br/>[Dashboard.tsx]"]
  node_search["Global search"]
  node_admin["Content administration<br/>[AdminPanel.tsx]"]
  node_settings["Profile and settings<br/>[Settings.tsx]"]
end

subgraph group_study["Study activities"]
  node_chat["AI study tutor<br/>[AIChatbot.tsx]"]
  node_flashcards["AI flashcards<br/>[AIFlashcards.tsx]"]
  node_questions["Question generator"]
  node_tests["Mock tests<br/>[MockTests.tsx]"]
end

subgraph group_progress["Planning and progress"]
  node_revision["Revision planner"]
  node_analytics["Learning analytics<br/>[Analytics.tsx]"]
end

subgraph group_server["AI service"]
  node_api["AI API endpoints<br/>[server.ts]"]
end

node_student(("Student"))
node_gemini{{"Google Gemini"}}

node_student -->|"uses"| node_app
node_app -->|"initializes state"| node_seed
node_app -->|"models state"| node_types
node_app -->|"renders"| node_dashboard
node_app -->|"renders"| node_chat
node_app -->|"renders"| node_flashcards
node_app -->|"renders"| node_questions
node_app -->|"renders"| node_tests
node_app -->|"renders"| node_revision
node_app -->|"renders"| node_analytics
node_app -->|"renders"| node_settings
node_app -->|"routes search"| node_search
node_app -->|"routes admin"| node_admin
node_dashboard -->|"requests navigation"| node_app
node_chat -->|"requests tutoring"| node_api
node_flashcards -->|"requests generation"| node_api
node_questions -->|"requests generation"| node_api
node_api -->|"generates content"| node_gemini
node_app -->|"supplies study state"| node_revision
node_app -->|"supplies progress data"| node_analytics

click node_app "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/App.tsx"
click node_seed "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/data/initialData.ts"
click node_types "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/types.ts"
click node_dashboard "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/Dashboard.tsx"
click node_search "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/GlobalSearchModal.tsx"
click node_admin "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AdminPanel.tsx"
click node_settings "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/Settings.tsx"
click node_chat "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AIChatbot.tsx"
click node_flashcards "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AIFlashcards.tsx"
click node_questions "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AIQuestionGenerator.tsx"
click node_tests "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/MockTests.tsx"
click node_revision "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/RevisionPlanner.tsx"
click node_analytics "https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/Analytics.tsx"
click node_api "https://github.com/radhakrishna2009/edupath-ai/blob/main/server.ts"

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,node_seed,node_types,node_dashboard,node_search,node_admin,node_settings toneBlue
class node_chat,node_flashcards,node_questions,node_tests toneAmber
class node_revision,node_analytics toneMint
class node_api toneRose
class node_student,node_gemini toneIndigo
```

## Components

### Learning workspace

- [App state and routing](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/App.tsx): `src/App.tsx`
- [Sample learning data](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/data/initialData.ts): `src/data/initialData.ts`
- [Learning domain types](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/types.ts): `src/types.ts`
- [Dashboard](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/Dashboard.tsx): `src/components/Dashboard.tsx`
- [Global search](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/GlobalSearchModal.tsx): `src/components/GlobalSearchModal.tsx`
- [Content administration](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AdminPanel.tsx): `src/components/AdminPanel.tsx`
- [Profile and settings](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/Settings.tsx): `src/components/Settings.tsx`

### Study activities

- [AI study tutor](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AIChatbot.tsx): `src/components/AIChatbot.tsx`
- [AI flashcards](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AIFlashcards.tsx): `src/components/AIFlashcards.tsx`
- [Question generator](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/AIQuestionGenerator.tsx): `src/components/AIQuestionGenerator.tsx`
- [Mock tests](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/MockTests.tsx): `src/components/MockTests.tsx`

### Planning and progress

- [Revision planner](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/RevisionPlanner.tsx): `src/components/RevisionPlanner.tsx`
- [Learning analytics](https://github.com/radhakrishna2009/edupath-ai/blob/main/src/components/Analytics.tsx): `src/components/Analytics.tsx`

### AI service

- [AI API endpoints](https://github.com/radhakrishna2009/edupath-ai/blob/main/server.ts): `server.ts`

### Other components

- **Student**
- **Google Gemini**

## Connections

- Student → App state and routing: uses
- App state and routing → Sample learning data: initializes state
- App state and routing → Learning domain types: models state
- App state and routing → Dashboard: renders
- App state and routing → AI study tutor: renders
- App state and routing → AI flashcards: renders
- App state and routing → Question generator: renders
- App state and routing → Mock tests: renders
- App state and routing → Revision planner: renders
- App state and routing → Learning analytics: renders
- App state and routing → Profile and settings: renders
- App state and routing → Global search: routes search
- App state and routing → Content administration: routes admin
- Dashboard → App state and routing: requests navigation
- AI study tutor → AI API endpoints: requests tutoring
- AI flashcards → AI API endpoints: requests generation
- Question generator → AI API endpoints: requests generation
- AI API endpoints → Google Gemini: generates content
- App state and routing → Revision planner: supplies study state
- App state and routing → Learning analytics: supplies progress data
