# mrpeculiar123/lenovo_leap_2026 architecture

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

## Overview

PathForge is a personalized career-learning navigator. Learners register, complete onboarding, take an adaptive assessment, review career skill gaps, and receive a grounded seven-day plan; they can also use tutoring and revisit progress and history. The React client communicates with FastAPI, whose navigator router and LangGraph workflow coordinate domain agents and supporting services. The README documents these product capabilities; some router, page, and agent implementations were not sampled, so uncertain internal calls are omitted.

Main entry points: [`server/agent/graph.py`](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/graph.py) (Workflow graph), [`server/main.py`](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/main.py) (FastAPI app), [`server/agent/nodes/assessment.py`](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/assessment.py) (Assessment agent), [`server/services/rag_service.py`](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/rag_service.py) (Grounded resources)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Learner experience"]
  node_webapp["React app<br/>[App.jsx]"]
  node_authcontext["Auth context<br/>[AuthContext.jsx]"]
  node_learningpages["Learning pages"]
  node_clientapi["API client<br/>[api.js]"]
end

subgraph group_api["API and identity"]
  node_fastapi["FastAPI app<br/>[main.py]"]
  node_authrouter["Authentication<br/>[auth.py]"]
  node_onboarding["Onboarding<br/>[onboarding.py]"]
  node_navigator["Navigator API<br/>[navigator.py]"]
end

subgraph group_workflow["Learning workflow"]
  node_graph["Workflow graph<br/>[graph.py]"]
  node_assessment["Assessment agent<br/>[assessment.py]"]
  node_gapcareer["Career gap agent<br/>[gap_career.py]"]
  node_tutor["Tutor agent<br/>[content_tutor.py]"]
  node_planning["Planning agent<br/>[planning.py]"]
end

subgraph group_services["Learning services"]
  node_mlengine["Adaptive modeling<br/>[ml_engine.py]"]
  node_evaluator["Answer evaluator"]
  node_benchmarks["Career benchmarks"]
  node_knowledge["Prerequisite graph<br/>[knowledge_graph.py]"]
  node_rag["Grounded resources<br/>[rag_service.py]"]
  node_rlpolicy["Adaptive policies"]
end

subgraph group_state["Persistence"]
  node_database["Database access<br/>[database.py]"]
  node_checkpoint["Workflow checkpoints"]
end

node_learner(("Learner"))
node_gemini{{"Gemini"}}
node_pinecone[("Pinecone")]
node_postgres[("PostgreSQL")]

node_learner -->|"uses"| node_webapp
node_webapp -->|"provides auth"| node_authcontext
node_webapp -->|"routes to"| node_learningpages
node_authcontext -->|"requests auth"| node_clientapi
node_learningpages -->|"requests learning"| node_clientapi
node_clientapi -->|"calls API"| node_fastapi
node_fastapi -->|"dispatches auth"| node_authrouter
node_fastapi -->|"dispatches onboarding"| node_onboarding
node_fastapi -->|"dispatches navigation"| node_navigator
node_authrouter -->|"reads/writes users"| node_database
node_onboarding -->|"persists profile"| node_database
node_navigator -->|"runs workflow"| node_graph
node_graph -->|"dispatches assessment"| node_assessment
node_graph -->|"dispatches gap analysis"| node_gapcareer
node_graph -->|"dispatches tutoring"| node_tutor
node_graph -->|"dispatches planning"| node_planning
node_assessment -->|"updates mastery"| node_mlengine
node_assessment -->|"evaluates answers"| node_evaluator
node_assessment -->|"selects strategy"| node_rlpolicy
node_gapcareer -->|"compares skills"| node_benchmarks
node_gapcareer -->|"finds prerequisites"| node_knowledge
node_planning -->|"retrieves resources"| node_rag
node_tutor -->|"retrieves context"| node_rag
node_rag -.->|"embeds queries"| node_gemini
node_rag -.->|"searches vectors"| node_pinecone
node_rlpolicy -->|"loads/saves policies"| node_database
node_database -->|"queries"| node_postgres
node_graph -->|"persists state"| node_checkpoint

click node_webapp "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/client/src/App.jsx"
click node_authcontext "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/client/src/context/AuthContext.jsx"
click node_learningpages "https://github.com/mrpeculiar123/lenovo_leap_2026/tree/main/client/src/pages"
click node_clientapi "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/client/src/services/api.js"
click node_fastapi "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/main.py"
click node_authrouter "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/routers/auth.py"
click node_onboarding "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/routers/onboarding.py"
click node_navigator "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/routers/navigator.py"
click node_graph "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/graph.py"
click node_assessment "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/assessment.py"
click node_gapcareer "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/gap_career.py"
click node_tutor "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/content_tutor.py"
click node_planning "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/planning.py"
click node_mlengine "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/ml_engine.py"
click node_evaluator "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/answer_evaluator.py"
click node_benchmarks "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/career_benchmarks.py"
click node_knowledge "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/knowledge_graph.py"
click node_rag "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/rag_service.py"
click node_rlpolicy "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/rl_policy_service.py"
click node_database "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/core/database.py"
click node_checkpoint "https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/checkpoint_store.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_webapp,node_authcontext,node_learningpages,node_clientapi toneBlue
class node_fastapi,node_authrouter,node_onboarding,node_navigator,node_pinecone,node_postgres toneAmber
class node_graph,node_assessment,node_gapcareer,node_tutor,node_planning toneMint
class node_mlengine,node_evaluator,node_benchmarks,node_knowledge,node_rag,node_rlpolicy toneRose
class node_database,node_checkpoint,node_learner,node_gemini toneIndigo
```

## Components

### Learner experience

- [React app](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/client/src/App.jsx): `client/src/App.jsx`
- [Auth context](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/client/src/context/AuthContext.jsx): `client/src/context/AuthContext.jsx`
- [Learning pages](https://github.com/mrpeculiar123/lenovo_leap_2026/tree/main/client/src/pages): `client/src/pages`
- [API client](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/client/src/services/api.js): `client/src/services/api.js`

### API and identity

- [FastAPI app](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/main.py): `server/main.py`
- [Authentication](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/routers/auth.py): `server/routers/auth.py`
- [Onboarding](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/routers/onboarding.py): `server/routers/onboarding.py`
- [Navigator API](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/routers/navigator.py): `server/routers/navigator.py`

### Learning workflow

- [Workflow graph](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/graph.py): `server/agent/graph.py`
- [Assessment agent](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/assessment.py): `server/agent/nodes/assessment.py`
- [Career gap agent](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/gap_career.py): `server/agent/nodes/gap_career.py`
- [Tutor agent](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/content_tutor.py): `server/agent/nodes/content_tutor.py`
- [Planning agent](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/agent/nodes/planning.py): `server/agent/nodes/planning.py`

### Learning services

- [Adaptive modeling](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/ml_engine.py): `server/services/ml_engine.py`
- [Answer evaluator](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/answer_evaluator.py): `server/services/answer_evaluator.py`
- [Career benchmarks](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/career_benchmarks.py): `server/services/career_benchmarks.py`
- [Prerequisite graph](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/knowledge_graph.py): `server/services/knowledge_graph.py`
- [Grounded resources](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/rag_service.py): `server/services/rag_service.py`
- [Adaptive policies](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/rl_policy_service.py): `server/services/rl_policy_service.py`

### Persistence

- [Database access](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/core/database.py): `server/core/database.py`
- [Workflow checkpoints](https://github.com/mrpeculiar123/lenovo_leap_2026/blob/main/server/services/checkpoint_store.py): `server/services/checkpoint_store.py`

### Other components

- **Learner**
- **Gemini**
- **Pinecone**
- **PostgreSQL**

## Connections

- Learner → React app: uses
- React app → Auth context: provides auth
- React app → Learning pages: routes to
- Auth context → API client: requests auth
- Learning pages → API client: requests learning
- API client → FastAPI app: calls API
- FastAPI app → Authentication: dispatches auth
- FastAPI app → Onboarding: dispatches onboarding
- FastAPI app → Navigator API: dispatches navigation
- Authentication → Database access: reads/writes users
- Onboarding → Database access: persists profile
- Navigator API → Workflow graph: runs workflow
- Workflow graph → Assessment agent: dispatches assessment
- Workflow graph → Career gap agent: dispatches gap analysis
- Workflow graph → Tutor agent: dispatches tutoring
- Workflow graph → Planning agent: dispatches planning
- Assessment agent → Adaptive modeling: updates mastery
- Assessment agent → Answer evaluator: evaluates answers
- Assessment agent → Adaptive policies: selects strategy
- Career gap agent → Career benchmarks: compares skills
- Career gap agent → Prerequisite graph: finds prerequisites
- Planning agent → Grounded resources: retrieves resources
- Tutor agent → Grounded resources: retrieves context
- Grounded resources → Gemini: embeds queries
- Grounded resources → Pinecone: searches vectors
- Adaptive policies → Database access: loads/saves policies
- Database access → PostgreSQL: queries
- Workflow graph → Workflow checkpoints: persists state
