# ravi-rtech/astramind-ai architecture

> Architecture diagram of the GitHub repository ravi-rtech/astramind-ai, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ravi-rtech/astramind-ai
- Repository: https://github.com/ravi-rtech/astramind-ai

## Overview

AstraMind AI is a student learning companion spanning guided study, skills practice, academic tools, and career preparation. The principal workflow is a student entering the app, choosing learning content, and using AI-assisted study features; the app also offers live quizzes, coding practice, resume building, and offline games. The sampled sources show app-to-learning-page rendering, server routing to several service modules, and study-workspace retrieval use. Other product branches are included from the README and source index, but their internal wiring was not sampled.

Main entry points: [`server.ts`](https://github.com/ravi-rtech/astramind-ai/blob/main/server.ts) (API server), [`src/App.tsx`](https://github.com/ravi-rtech/astramind-ai/blob/main/src/App.tsx) (App shell), [`src/components/StudyWorkspaceView.tsx`](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/StudyWorkspaceView.tsx) (Study workspace), [`src/components/EngineeringAcademicsView.tsx`](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/EngineeringAcademicsView.tsx) (Engineering academics)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Student experience"]
  node_app["App shell<br/>[App.tsx]"]
  node_resume["Resume builder"]
  node_profile["Profile enhancement"]
  node_ai_studio["AI image studio<br/>[AIStudioPage.tsx]"]
  node_attendance["Attendance tools<br/>[AttendancePage.tsx]"]
end

subgraph group_study["Learning and study"]
  node_learn["Guided learning<br/>[LearnPage.tsx]"]
  node_learn_data["Course content<br/>[learnData.ts]"]
  node_workspace["Study workspace"]
  node_workspace_storage[("Workspace storage")]
  node_pdf_study["PDF study<br/>[PDFStudyView.tsx]"]
  node_academics["Engineering academics"]
  node_academic_catalog["Academic catalog<br/>[vitsAcademics.ts]"]
end

subgraph group_practice["Practice and collaboration"]
  node_live_quiz["Live quizzes<br/>[LiveQuizPage.tsx]"]
  node_quiz_creator["Quiz creation"]
  node_coding["Coding practice<br/>[CodingPage.tsx]"]
  node_offline_games["Offline games<br/>[OfflineGames.tsx]"]
end

subgraph group_services["AI and services"]
  node_pdf_manager["PDF study service<br/>[pdfStudyManager.ts]"]
  node_quiz_manager["Live quiz service<br/>[liveQuizManager.ts]"]
  node_server["API server<br/>[server.ts]"]
  node_workspace_ai["Workspace AI"]
  node_knowledge[("Knowledge retrieval")]
  node_attendance_service["Attendance service"]
  node_syllabus_service["Syllabus lookup"]
  node_image_router["Image generation routing<br/>[imageRouter.ts]"]
  node_supabase[("Supabase data<br/>[supabase.ts]")]
end

node_student(("Student"))

node_student -->|"uses"| node_app
node_app -->|"renders"| node_learn
node_student -->|"studies with"| node_workspace
node_workspace -->|"persists workspaces"| node_workspace_storage
node_student -->|"studies PDFs"| node_pdf_study
node_student -->|"practices academics"| node_academics
node_academics -->|"uses catalog"| node_academic_catalog
node_student -->|"joins quizzes"| node_live_quiz
node_student -->|"creates quizzes"| node_quiz_creator
node_student -->|"practices coding"| node_coding
node_student -->|"plays games"| node_offline_games
node_student -->|"builds resume"| node_resume
node_student -->|"enhances profile"| node_profile
node_student -->|"uses AI tools"| node_ai_studio
node_student -->|"tracks attendance"| node_attendance
node_server -->|"calls quiz service"| node_quiz_manager
node_server -->|"routes study requests"| node_workspace_ai
node_server -->|"syncs knowledge base"| node_knowledge
node_server -->|"routes attendance"| node_attendance_service
node_server -->|"looks up colleges"| node_syllabus_service
node_server -->|"creates image router"| node_image_router
node_workspace_ai -->|"searches knowledge"| node_knowledge
node_server -.->|"routes PDF study"| node_pdf_manager

click node_app "https://github.com/ravi-rtech/astramind-ai/blob/main/src/App.tsx"
click node_learn "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/LearnPage.tsx"
click node_learn_data "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/learn/learnData.ts"
click node_workspace "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/StudyWorkspaceView.tsx"
click node_workspace_storage "https://github.com/ravi-rtech/astramind-ai/blob/main/src/lib/studyWorkspaceStorage.ts"
click node_pdf_study "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/PDFStudyView.tsx"
click node_pdf_manager "https://github.com/ravi-rtech/astramind-ai/blob/main/server/pdfStudyManager.ts"
click node_academics "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/EngineeringAcademicsView.tsx"
click node_academic_catalog "https://github.com/ravi-rtech/astramind-ai/blob/main/src/data/vitsAcademics.ts"
click node_live_quiz "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/LiveQuizPage.tsx"
click node_quiz_creator "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/livequiz/AcademicQuizCreator.tsx"
click node_quiz_manager "https://github.com/ravi-rtech/astramind-ai/blob/main/server/liveQuizManager.ts"
click node_coding "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/CodingPage.tsx"
click node_offline_games "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/OfflineGames.tsx"
click node_resume "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/ResumeBuilderPage.tsx"
click node_profile "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/ProfileEnhancerPage.tsx"
click node_ai_studio "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/AIStudioPage.tsx"
click node_attendance "https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/AttendancePage.tsx"
click node_server "https://github.com/ravi-rtech/astramind-ai/blob/main/server.ts"
click node_workspace_ai "https://github.com/ravi-rtech/astramind-ai/blob/main/server/workspaceAiManager.ts"
click node_knowledge "https://github.com/ravi-rtech/astramind-ai/blob/main/server/knowledgeBaseService.ts"
click node_attendance_service "https://github.com/ravi-rtech/astramind-ai/blob/main/server/attendanceService.ts"
click node_syllabus_service "https://github.com/ravi-rtech/astramind-ai/blob/main/server/collegeSyllabusService.ts"
click node_image_router "https://github.com/ravi-rtech/astramind-ai/blob/main/server/imageRouter.ts"
click node_supabase "https://github.com/ravi-rtech/astramind-ai/blob/main/src/lib/supabase.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_resume,node_profile,node_ai_studio,node_attendance toneBlue
class node_learn,node_learn_data,node_workspace,node_workspace_storage,node_pdf_study,node_academics,node_academic_catalog toneAmber
class node_live_quiz,node_quiz_creator,node_coding,node_offline_games toneMint
class node_pdf_manager,node_quiz_manager,node_server,node_workspace_ai,node_knowledge,node_attendance_service,node_syllabus_service,node_image_router,node_supabase toneRose
class node_student toneIndigo
```

## Components

### Student experience

- [App shell](https://github.com/ravi-rtech/astramind-ai/blob/main/src/App.tsx): `src/App.tsx`
- [Resume builder](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/ResumeBuilderPage.tsx): `src/components/ResumeBuilderPage.tsx`
- [Profile enhancement](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/ProfileEnhancerPage.tsx): `src/components/ProfileEnhancerPage.tsx`
- [AI image studio](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/AIStudioPage.tsx): `src/components/AIStudioPage.tsx`
- [Attendance tools](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/AttendancePage.tsx): `src/components/AttendancePage.tsx`

### Learning and study

- [Guided learning](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/LearnPage.tsx): `src/components/LearnPage.tsx`
- [Course content](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/learn/learnData.ts): `src/components/learn/learnData.ts`
- [Study workspace](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/StudyWorkspaceView.tsx): `src/components/StudyWorkspaceView.tsx`
- [Workspace storage](https://github.com/ravi-rtech/astramind-ai/blob/main/src/lib/studyWorkspaceStorage.ts): `src/lib/studyWorkspaceStorage.ts`
- [PDF study](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/PDFStudyView.tsx): `src/components/PDFStudyView.tsx`
- [Engineering academics](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/EngineeringAcademicsView.tsx): `src/components/EngineeringAcademicsView.tsx`
- [Academic catalog](https://github.com/ravi-rtech/astramind-ai/blob/main/src/data/vitsAcademics.ts): `src/data/vitsAcademics.ts`

### Practice and collaboration

- [Live quizzes](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/LiveQuizPage.tsx): `src/components/LiveQuizPage.tsx`
- [Quiz creation](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/livequiz/AcademicQuizCreator.tsx): `src/components/livequiz/AcademicQuizCreator.tsx`
- [Coding practice](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/CodingPage.tsx): `src/components/CodingPage.tsx`
- [Offline games](https://github.com/ravi-rtech/astramind-ai/blob/main/src/components/OfflineGames.tsx): `src/components/OfflineGames.tsx`

### AI and services

- [PDF study service](https://github.com/ravi-rtech/astramind-ai/blob/main/server/pdfStudyManager.ts): `server/pdfStudyManager.ts`
- [Live quiz service](https://github.com/ravi-rtech/astramind-ai/blob/main/server/liveQuizManager.ts): `server/liveQuizManager.ts`
- [API server](https://github.com/ravi-rtech/astramind-ai/blob/main/server.ts): `server.ts`
- [Workspace AI](https://github.com/ravi-rtech/astramind-ai/blob/main/server/workspaceAiManager.ts): `server/workspaceAiManager.ts`
- [Knowledge retrieval](https://github.com/ravi-rtech/astramind-ai/blob/main/server/knowledgeBaseService.ts): `server/knowledgeBaseService.ts`
- [Attendance service](https://github.com/ravi-rtech/astramind-ai/blob/main/server/attendanceService.ts): `server/attendanceService.ts`
- [Syllabus lookup](https://github.com/ravi-rtech/astramind-ai/blob/main/server/collegeSyllabusService.ts): `server/collegeSyllabusService.ts`
- [Image generation routing](https://github.com/ravi-rtech/astramind-ai/blob/main/server/imageRouter.ts): `server/imageRouter.ts`
- [Supabase data](https://github.com/ravi-rtech/astramind-ai/blob/main/src/lib/supabase.ts): `src/lib/supabase.ts`

### Other components

- **Student**

## Connections

- Student → App shell: uses
- App shell → Guided learning: renders (evidence: `src/App.tsx`)
- Student → Study workspace: studies with
- Study workspace → Workspace storage: persists workspaces (evidence: `src/lib/studyWorkspaceStorage.ts`)
- Student → PDF study: studies PDFs
- Student → Engineering academics: practices academics
- Engineering academics → Academic catalog: uses catalog (evidence: `src/components/EngineeringAcademicsView.tsx`)
- Student → Live quizzes: joins quizzes
- Student → Quiz creation: creates quizzes
- Student → Coding practice: practices coding
- Student → Offline games: plays games
- Student → Resume builder: builds resume
- Student → Profile enhancement: enhances profile
- Student → AI image studio: uses AI tools
- Student → Attendance tools: tracks attendance
- API server → Live quiz service: calls quiz service (evidence: `server.ts`)
- API server → Workspace AI: routes study requests (evidence: `server.ts`)
- API server → Knowledge retrieval: syncs knowledge base (evidence: `server.ts`)
- API server → Attendance service: routes attendance (evidence: `server.ts`)
- API server → Syllabus lookup: looks up colleges (evidence: `server.ts`)
- API server → Image generation routing: creates image router (evidence: `server.ts`)
- Workspace AI → Knowledge retrieval: searches knowledge (evidence: `server/workspaceAiManager.ts`)
- API server → PDF study service: routes PDF study (evidence: `server.ts`)
