# umanagesh25p-cell/eduflow architecture

> Architecture diagram of the GitHub repository umanagesh25p-cell/eduflow, 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/umanagesh25p-cell/eduflow
- Repository: https://github.com/umanagesh25p-cell/eduflow

## Overview

EduFlow is a role-based campus platform for students, faculty, and administrators. Users enter through authentication and role-aware routing, then work in role-specific portals: students track academic work and study resources, faculty manage teaching and assessment, and administrators oversee campus operations. Academic records, communications, and files use Supabase; AI study tools call server functions, and reporting supports exports. The README documents capabilities beyond the sampled source, so those subsystems are represented at their existing feature-directory paths without asserting unsampled internal call chains.

Main entry points: [`src/routes/_authenticated/dashboard/index.tsx`](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/_authenticated/dashboard/index.tsx) (Student portal), [`src/routes/faculty.tsx`](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/faculty.tsx) (Faculty portal), [`src/integrations/supabase/client.ts`](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/integrations/supabase/client.ts) (Supabase integration), [`src/router.tsx`](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/router.tsx) (Application router)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Entry and access"]
  node_router["Application router<br/>[router.tsx]"]
  node_auth["Authentication<br/>[AuthProvider.tsx]"]
  node_role_guard["Student route guard<br/>[route.tsx]"]
  node_student_portal["Student portal<br/>[index.tsx]"]
  node_faculty_portal["Faculty portal<br/>[faculty.tsx]"]
  node_admin_portal["Admin portal<br/>[admin.tsx]"]
end

subgraph group_academic["Academic workflows"]
  node_academic["Academic records"]
  node_attendance["Attendance tracking"]
  node_assignments["Assignments"]
  node_quizzes["Quiz workflows"]
  node_grades["Results and marks<br/>[faculty.marks.tsx]"]
end

subgraph group_campus["Campus operations"]
  node_campus_comms["Campus communication"]
  node_notes["Notes and reminders"]
  node_aptitude["Aptitude practice"]
  node_admin_ops["Administration"]
end

subgraph group_intelligence["Study and reporting"]
  node_ai_tools["AI study tools"]
  node_ai_functions["AI server functions<br/>[ai.functions.ts]"]
  node_reports["Reports and exports"]
end

subgraph group_services["Backend services"]
  node_supabase_client["Supabase integration<br/>[client.ts]"]
  node_supabase[("Supabase")]
  node_ai_gateway["AI gateway"]
end

node_students(("Students"))
node_faculty(("Faculty"))
node_admins(("Administrators"))

node_students -->|"open app"| node_router
node_faculty -->|"open app"| node_router
node_admins -->|"open app"| node_router
node_router -->|"resolve session"| node_auth
node_router -->|"route request"| node_role_guard
node_role_guard -->|"check user and role"| node_supabase_client
node_role_guard -->|"admit student"| node_student_portal
node_router -->|"route faculty"| node_faculty_portal
node_router -->|"route admin"| node_admin_portal
node_student_portal -->|"access coursework"| node_academic
node_faculty_portal -->|"manage coursework"| node_academic
node_student_portal -->|"view attendance"| node_attendance
node_faculty_portal -->|"mark attendance"| node_attendance
node_student_portal -->|"submit work"| node_assignments
node_faculty_portal -->|"manage and grade"| node_assignments
node_student_portal -->|"attempt quizzes"| node_quizzes
node_faculty_portal -->|"create and assign"| node_quizzes
node_faculty_portal -->|"record marks"| node_grades
node_student_portal -->|"view results"| node_grades
node_student_portal -->|"view updates"| node_campus_comms
node_faculty_portal -->|"post updates"| node_campus_comms
node_student_portal -->|"organize study"| node_notes
node_student_portal -->|"practice questions"| node_aptitude
node_admin_portal -->|"manage campus"| node_admin_ops
node_student_portal -->|"request study help"| node_ai_tools
node_faculty_portal -->|"request AI tools"| node_ai_tools
node_ai_tools -->|"invoke server functions"| node_ai_functions
node_ai_functions -->|"request generation"| node_ai_gateway
node_student_portal -->|"view reports"| node_reports
node_faculty_portal -->|"view reports"| node_reports
node_admin_portal -->|"view analytics"| node_reports
node_academic -->|"read and write records"| node_supabase_client
node_attendance -->|"read and write records"| node_supabase_client
node_assignments -->|"manage records and files"| node_supabase_client
node_campus_comms -->|"read and write updates"| node_supabase_client
node_notes -->|"read and store notes"| node_supabase_client
node_admin_ops -->|"manage campus data"| node_supabase_client
node_reports -->|"retrieve report data"| node_supabase_client
node_supabase_client -->|"query and store"| node_supabase

click node_router "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/router.tsx"
click node_auth "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/lib/auth/AuthProvider.tsx"
click node_role_guard "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/_authenticated/route.tsx"
click node_student_portal "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/_authenticated/dashboard/index.tsx"
click node_faculty_portal "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/faculty.tsx"
click node_admin_portal "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/admin.tsx"
click node_academic "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/academic"
click node_attendance "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/attendance"
click node_assignments "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/assignments"
click node_quizzes "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/quiz"
click node_grades "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/faculty.marks.tsx"
click node_campus_comms "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/communication"
click node_notes "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/notes"
click node_aptitude "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/aptitude"
click node_admin_ops "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/admin"
click node_ai_tools "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/ai"
click node_ai_functions "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/lib/ai.functions.ts"
click node_reports "https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/reports"
click node_supabase_client "https://github.com/umanagesh25p-cell/eduflow/blob/main/src/integrations/supabase/client.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_router,node_auth,node_role_guard,node_student_portal,node_faculty_portal,node_admin_portal toneBlue
class node_academic,node_attendance,node_assignments,node_quizzes,node_grades toneAmber
class node_campus_comms,node_notes,node_aptitude,node_admin_ops toneMint
class node_ai_tools,node_ai_functions,node_reports toneRose
class node_supabase_client,node_supabase,node_ai_gateway,node_students,node_faculty,node_admins toneIndigo
```

## Components

### Entry and access

- [Application router](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/router.tsx): `src/router.tsx`
- [Authentication](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/lib/auth/AuthProvider.tsx): `src/lib/auth/AuthProvider.tsx`
- [Student route guard](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/_authenticated/route.tsx): `src/routes/_authenticated/route.tsx`
- [Student portal](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/_authenticated/dashboard/index.tsx): `src/routes/_authenticated/dashboard/index.tsx`
- [Faculty portal](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/faculty.tsx): `src/routes/faculty.tsx`
- [Admin portal](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/admin.tsx): `src/routes/admin.tsx`

### Academic workflows

- [Academic records](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/academic): `src/features/academic`
- [Attendance tracking](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/attendance): `src/features/attendance`
- [Assignments](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/assignments): `src/features/assignments`
- [Quiz workflows](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/quiz): `src/features/quiz`
- [Results and marks](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/routes/faculty.marks.tsx): `src/routes/faculty.marks.tsx`

### Campus operations

- [Campus communication](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/communication): `src/features/communication`
- [Notes and reminders](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/notes): `src/features/notes`
- [Aptitude practice](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/aptitude): `src/features/aptitude`
- [Administration](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/admin): `src/features/admin`

### Study and reporting

- [AI study tools](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/ai): `src/features/ai`
- [AI server functions](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/lib/ai.functions.ts): `src/lib/ai.functions.ts`
- [Reports and exports](https://github.com/umanagesh25p-cell/eduflow/tree/main/src/features/reports): `src/features/reports`

### Backend services

- [Supabase integration](https://github.com/umanagesh25p-cell/eduflow/blob/main/src/integrations/supabase/client.ts): `src/integrations/supabase/client.ts`
- **Supabase**
- **AI gateway**

### Other components

- **Students**
- **Faculty**
- **Administrators**

## Connections

- Students → Application router: open app
- Faculty → Application router: open app
- Administrators → Application router: open app
- Application router → Authentication: resolve session
- Application router → Student route guard: route request
- Student route guard → Supabase integration: check user and role
- Student route guard → Student portal: admit student
- Application router → Faculty portal: route faculty
- Application router → Admin portal: route admin
- Student portal → Academic records: access coursework
- Faculty portal → Academic records: manage coursework
- Student portal → Attendance tracking: view attendance
- Faculty portal → Attendance tracking: mark attendance
- Student portal → Assignments: submit work
- Faculty portal → Assignments: manage and grade
- Student portal → Quiz workflows: attempt quizzes
- Faculty portal → Quiz workflows: create and assign
- Faculty portal → Results and marks: record marks
- Student portal → Results and marks: view results
- Student portal → Campus communication: view updates
- Faculty portal → Campus communication: post updates
- Student portal → Notes and reminders: organize study
- Student portal → Aptitude practice: practice questions
- Admin portal → Administration: manage campus
- Student portal → AI study tools: request study help
- Faculty portal → AI study tools: request AI tools
- AI study tools → AI server functions: invoke server functions
- AI server functions → AI gateway: request generation
- Student portal → Reports and exports: view reports
- Faculty portal → Reports and exports: view reports
- Admin portal → Reports and exports: view analytics
- Academic records → Supabase integration: read and write records
- Attendance tracking → Supabase integration: read and write records
- Assignments → Supabase integration: manage records and files
- Campus communication → Supabase integration: read and write updates
- Notes and reminders → Supabase integration: read and store notes
- Administration → Supabase integration: manage campus data
- Reports and exports → Supabase integration: retrieve report data
- Supabase integration → Supabase: query and store
