# manitejakanuri1/prooflaab architecture

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

- Interactive diagram: https://gitdiagram.com/manitejakanuri1/prooflaab
- Repository: https://github.com/manitejakanuri1/prooflaab

## Overview

ProofLabAI is a proof-of-work platform for engineering students and their colleges: students receive work, submit evidence and explanations, and the platform evaluates progress for institutional oversight. The graph follows the documented role-based workflow and the sampled routing, task-query, function-dispatch, and file-service code. The README documents broader capabilities, including AI assessment, resume tools, and interview practice; their detailed UI-to-function wiring is not established by the excerpts, so uncertain links are omitted.

Main entry points: [`src/App.tsx`](https://github.com/manitejakanuri1/prooflaab/blob/main/src/App.tsx) (App and routes), [`src/integrations/supabase/client.ts`](https://github.com/manitejakanuri1/prooflaab/blob/main/src/integrations/supabase/client.ts) (Supabase data and auth), [`src/pages/StudentDashboard.tsx`](https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/StudentDashboard.tsx) (Student dashboard), [`supabase/functions`](https://github.com/manitejakanuri1/prooflaab/tree/main/supabase/functions) (Assessment functions)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Web experience"]
  node_app["App and routes<br/>[App.tsx]"]
  node_student["Student dashboard"]
  node_college["College dashboard"]
  node_startup["Startup dashboard"]
  node_admin["Admin dashboard<br/>[AdminDashboard.tsx]"]
end

subgraph group_work["Work and review"]
  node_tasks["Student task queries"]
  node_startup_tasks["Startup task queries"]
  node_proof["Proof submission"]
  node_oral["Oral explanation"]
  node_review["Proof review"]
  node_oversight["College oversight"]
end

subgraph group_assessment["Assessment services"]
  node_functions["Function dispatcher<br/>[main.ts]"]
  node_function_handlers["Assessment functions"]
  node_shared["Shared function logic"]
  node_runner["Code runner<br/>[server.py]"]
end

subgraph group_identity["Identity and files"]
  node_db[("Supabase data and auth<br/>[client.ts]")]
  node_file_client["File storage client<br/>[storage.ts]"]
  node_file_service["File service<br/>[main.ts]"]
  node_auth_bridge["Token bridge<br/>[main.ts]"]
end

node_users(("Platform users"))
node_google["Google identity and storage"]
node_deepseek["DeepSeek"]

node_users -->|"use platform"| node_app
node_app -->|"routes students"| node_student
node_app -->|"routes colleges"| node_college
node_app -->|"routes startups"| node_startup
node_app -->|"routes admins"| node_admin
node_student -->|"loads tasks"| node_tasks
node_startup -->|"loads tasks"| node_startup_tasks
node_tasks -->|"reads assignments"| node_db
node_startup_tasks -->|"reads tasks"| node_db
node_student -->|"submits evidence"| node_proof
node_student -->|"explains work"| node_oral
node_review -->|"reviews proofs"| node_db
node_oversight -->|"views progress"| node_db
node_file_client -->|"uploads and fetches"| node_file_service
node_file_service -->|"stores file bytes"| node_google
node_auth_bridge -->|"verifies tokens"| node_google
node_auth_bridge -->|"resolves account"| node_db
node_functions -->|"dispatches requests"| node_function_handlers
node_function_handlers -->|"uses shared logic"| node_shared
node_function_handlers -.->|"generates content"| node_deepseek
node_function_handlers -.->|"runs code"| node_runner

click node_app "https://github.com/manitejakanuri1/prooflaab/blob/main/src/App.tsx"
click node_student "https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/StudentDashboard.tsx"
click node_college "https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/CollegeDashboard.tsx"
click node_startup "https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/StartupDashboard.tsx"
click node_admin "https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/AdminDashboard.tsx"
click node_tasks "https://github.com/manitejakanuri1/prooflaab/blob/main/src/hooks/useAllStudentTasks.tsx"
click node_startup_tasks "https://github.com/manitejakanuri1/prooflaab/blob/main/src/hooks/useStartupTasks.tsx"
click node_proof "https://github.com/manitejakanuri1/prooflaab/blob/main/src/components/dashboard/student/StudentUploadsPage.tsx"
click node_oral "https://github.com/manitejakanuri1/prooflaab/blob/main/src/components/dashboard/student/VoiceExplainModal.tsx"
click node_review "https://github.com/manitejakanuri1/prooflaab/blob/main/src/components/dashboard/admin/ProofSubmissionsContent.tsx"
click node_oversight "https://github.com/manitejakanuri1/prooflaab/blob/main/src/components/dashboard/college/CollegeDashboardContent.tsx"
click node_functions "https://github.com/manitejakanuri1/prooflaab/blob/main/functions-service/main.ts"
click node_function_handlers "https://github.com/manitejakanuri1/prooflaab/tree/main/supabase/functions"
click node_shared "https://github.com/manitejakanuri1/prooflaab/tree/main/supabase/functions/_shared"
click node_runner "https://github.com/manitejakanuri1/prooflaab/blob/main/code-runner/server.py"
click node_db "https://github.com/manitejakanuri1/prooflaab/blob/main/src/integrations/supabase/client.ts"
click node_file_client "https://github.com/manitejakanuri1/prooflaab/blob/main/src/integrations/google/storage.ts"
click node_file_service "https://github.com/manitejakanuri1/prooflaab/blob/main/files-service/main.ts"
click node_auth_bridge "https://github.com/manitejakanuri1/prooflaab/blob/main/auth-bridge/main.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_student,node_college,node_startup,node_admin,node_users toneBlue
class node_tasks,node_startup_tasks,node_proof,node_oral,node_review,node_oversight,node_google toneAmber
class node_functions,node_function_handlers,node_shared,node_runner toneMint
class node_db,node_file_client,node_file_service,node_auth_bridge toneRose
class node_deepseek toneIndigo
```

## Components

### Web experience

- [App and routes](https://github.com/manitejakanuri1/prooflaab/blob/main/src/App.tsx): `src/App.tsx`
- [Student dashboard](https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/StudentDashboard.tsx): `src/pages/StudentDashboard.tsx`
- [College dashboard](https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/CollegeDashboard.tsx): `src/pages/CollegeDashboard.tsx`
- [Startup dashboard](https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/StartupDashboard.tsx): `src/pages/StartupDashboard.tsx`
- [Admin dashboard](https://github.com/manitejakanuri1/prooflaab/blob/main/src/pages/AdminDashboard.tsx): `src/pages/AdminDashboard.tsx`

### Work and review

- [Student task queries](https://github.com/manitejakanuri1/prooflaab/blob/main/src/hooks/useAllStudentTasks.tsx): `src/hooks/useAllStudentTasks.tsx`
- [Startup task queries](https://github.com/manitejakanuri1/prooflaab/blob/main/src/hooks/useStartupTasks.tsx): `src/hooks/useStartupTasks.tsx`
- [Proof submission](https://github.com/manitejakanuri1/prooflaab/blob/main/src/components/dashboard/student/StudentUploadsPage.tsx): `src/components/dashboard/student/StudentUploadsPage.tsx`
- [Oral explanation](https://github.com/manitejakanuri1/prooflaab/blob/main/src/components/dashboard/student/VoiceExplainModal.tsx): `src/components/dashboard/student/VoiceExplainModal.tsx`
- [Proof review](https://github.com/manitejakanuri1/prooflaab/blob/main/src/components/dashboard/admin/ProofSubmissionsContent.tsx): `src/components/dashboard/admin/ProofSubmissionsContent.tsx`
- [College oversight](https://github.com/manitejakanuri1/prooflaab/blob/main/src/components/dashboard/college/CollegeDashboardContent.tsx): `src/components/dashboard/college/CollegeDashboardContent.tsx`

### Assessment services

- [Function dispatcher](https://github.com/manitejakanuri1/prooflaab/blob/main/functions-service/main.ts): `functions-service/main.ts`
- [Assessment functions](https://github.com/manitejakanuri1/prooflaab/tree/main/supabase/functions): `supabase/functions`
- [Shared function logic](https://github.com/manitejakanuri1/prooflaab/tree/main/supabase/functions/_shared): `supabase/functions/_shared`
- [Code runner](https://github.com/manitejakanuri1/prooflaab/blob/main/code-runner/server.py): `code-runner/server.py`

### Identity and files

- [Supabase data and auth](https://github.com/manitejakanuri1/prooflaab/blob/main/src/integrations/supabase/client.ts): `src/integrations/supabase/client.ts`
- [File storage client](https://github.com/manitejakanuri1/prooflaab/blob/main/src/integrations/google/storage.ts): `src/integrations/google/storage.ts`
- [File service](https://github.com/manitejakanuri1/prooflaab/blob/main/files-service/main.ts): `files-service/main.ts`
- [Token bridge](https://github.com/manitejakanuri1/prooflaab/blob/main/auth-bridge/main.ts): `auth-bridge/main.ts`

### Other components

- **Platform users**
- **Google identity and storage**
- **DeepSeek**

## Connections

- Platform users → App and routes: use platform
- App and routes → Student dashboard: routes students
- App and routes → College dashboard: routes colleges
- App and routes → Startup dashboard: routes startups
- App and routes → Admin dashboard: routes admins
- Student dashboard → Student task queries: loads tasks
- Startup dashboard → Startup task queries: loads tasks
- Student task queries → Supabase data and auth: reads assignments
- Startup task queries → Supabase data and auth: reads tasks
- Student dashboard → Proof submission: submits evidence
- Student dashboard → Oral explanation: explains work
- Proof review → Supabase data and auth: reviews proofs
- College oversight → Supabase data and auth: views progress
- File storage client → File service: uploads and fetches
- File service → Google identity and storage: stores file bytes
- Token bridge → Google identity and storage: verifies tokens
- Token bridge → Supabase data and auth: resolves account
- Function dispatcher → Assessment functions: dispatches requests
- Assessment functions → Shared function logic: uses shared logic
- Assessment functions → DeepSeek: generates content
- Assessment functions → Code runner: runs code
