# vaishnavi-parodkar/ai-career-mentor-marketplace architecture

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

- Interactive diagram: https://gitdiagram.com/vaishnavi-parodkar/ai-career-mentor-marketplace
- Repository: https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace

## Overview

Pathwise guides candidates from account/profile setup through a trait assessment, ranked career choices, skill-gap analysis, a learning roadmap, and interview practice. The React frontend also includes career exploration, progress, and a mentor marketplace; README notes that some exploration content and mentor UI are browser-mocked/static. Spring Boot provides the persisted career workflow and AI-backed features over MySQL and external AI services. Arrows follow README-documented flows; source excerpts were limited, so uncertain internal calls are omitted.

Main entry points: [`src/App.jsx`](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/App.jsx) (React application), [`src/services/api.js`](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/services/api.js) (API client), [`backend/src/main/java/com/aicareermentor/backend/controller`](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/tree/main/backend/src/main/java/com/aicareermentor/backend/controller) (Spring REST API), [`src/pages/Login.jsx`](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/Login.jsx) (Account access)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Candidate experience"]
  node_webapp["React application<br/>[App.jsx]"]
  node_account["Account access<br/>[Login.jsx]"]
  node_mentorui["Mentor marketplace"]
  node_api["API client<br/>[api.js]"]
end

subgraph group_career["Career guidance"]
  node_profile["Career profile<br/>[CareerProfile.jsx]"]
  node_assessment["Trait assessment"]
  node_recommendations["Career matches"]
  node_explorer["Career explorer<br/>[DayInLife.jsx]"]
end

subgraph group_practice["Learning and practice"]
  node_skillcheck["Skill assessment"]
  node_gap["Skill-gap analysis<br/>[SkillGap.jsx]"]
  node_roadmap["Learning roadmap<br/>[Roadmap.jsx]"]
  node_interview["Mock interview<br/>[MockInterview.jsx]"]
  node_progress["Progress and badges"]
end

subgraph group_backend["Platform services"]
  node_backendapi["Spring REST API"]
  node_auth["Authentication service<br/>[AuthService.java]"]
  node_usercontext["User context"]
  node_assessmentservice["Assessment service"]
  node_gaproadmap["AI gap and roadmap"]
  node_interviewservice["Interview services"]
  node_progressservice["Progress service"]
  node_mentorsearch["Mentor matching"]
  node_ai["AI gateway"]
end

subgraph group_external["External systems"]
  node_mysql[("MySQL")]
  node_groq{{"Groq AI"}}
  node_browsercache[("Browser storage")]
  node_staticcontent["Static career content<br/>[dayScenes.js]"]
end

node_candidate(("Candidate"))

node_candidate -->|"uses"| node_webapp
node_webapp -->|"routes to"| node_account
node_webapp -->|"routes to"| node_profile
node_webapp -->|"routes to"| node_assessment
node_webapp -->|"routes to"| node_recommendations
node_webapp -->|"routes to"| node_explorer
node_webapp -->|"routes to"| node_skillcheck
node_webapp -->|"routes to"| node_roadmap
node_webapp -->|"routes to"| node_interview
node_webapp -->|"routes to"| node_progress
node_webapp -->|"routes to"| node_mentorui
node_account -->|"authenticates through"| node_api
node_profile -->|"updates through"| node_api
node_assessment -->|"submits through"| node_api
node_recommendations -->|"requests matches"| node_api
node_skillcheck -->|"loads questions"| node_api
node_gap -->|"requests analysis"| node_api
node_roadmap -->|"requests generation"| node_api
node_interview -->|"requests practice"| node_api
node_api -->|"sends REST requests"| node_backendapi
node_api -->|"stores session"| node_browsercache
node_backendapi -.->|"delegates auth"| node_auth
node_backendapi -.->|"delegates assessment"| node_assessmentservice
node_backendapi -.->|"delegates AI tasks"| node_gaproadmap
node_backendapi -.->|"delegates interviews"| node_interviewservice
node_backendapi -.->|"serves progress"| node_progressservice
node_backendapi -.->|"serves mentor search"| node_mentorsearch
node_auth -.->|"persists accounts"| node_mysql
node_assessmentservice -.->|"persists scores"| node_mysql
node_usercontext -->|"reads profile data"| node_mysql
node_gaproadmap -->|"requests generation"| node_ai
node_ai -->|"calls providers"| node_groq
node_progressservice -.->|"reads progress"| node_mysql
node_mentorui -->|"uses mock data"| node_staticcontent
node_explorer -->|"shows scenes"| node_staticcontent
node_mentorsearch -->|"uses user context"| node_usercontext

click node_webapp "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/App.jsx"
click node_account "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/Login.jsx"
click node_profile "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/CareerProfile.jsx"
click node_assessment "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/AssessmentQuestion.jsx"
click node_recommendations "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/CareerRecommendations.jsx"
click node_explorer "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/DayInLife.jsx"
click node_skillcheck "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/SkillAssessment.jsx"
click node_gap "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/SkillGap.jsx"
click node_roadmap "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/Roadmap.jsx"
click node_interview "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/MockInterview.jsx"
click node_progress "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/ProgressDashboard.jsx"
click node_mentorui "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/MentorMarketplace.jsx"
click node_api "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/services/api.js"
click node_backendapi "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/tree/main/backend/src/main/java/com/aicareermentor/backend/controller"
click node_auth "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/AuthService.java"
click node_usercontext "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/UserContextService.java"
click node_assessmentservice "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/AssessmentService.java"
click node_gaproadmap "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/GroqSkillGapService.java"
click node_interviewservice "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/GroqMockInterviewService.java"
click node_progressservice "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/ProgressService.java"
click node_mentorsearch "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/MentorSearchService.java"
click node_ai "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/ai/AiGatewayService.java"
click node_staticcontent "https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/data/dayScenes.js"

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_account,node_mentorui,node_api toneBlue
class node_profile,node_assessment,node_recommendations,node_explorer toneAmber
class node_skillcheck,node_gap,node_roadmap,node_interview,node_progress toneMint
class node_backendapi,node_auth,node_usercontext,node_assessmentservice,node_gaproadmap,node_interviewservice,node_progressservice,node_mentorsearch,node_ai toneRose
class node_mysql,node_groq,node_browsercache,node_staticcontent,node_candidate toneIndigo
```

## Components

### Candidate experience

- [React application](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/App.jsx): `src/App.jsx`
- [Account access](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/Login.jsx): `src/pages/Login.jsx`
- [Mentor marketplace](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/MentorMarketplace.jsx): `src/pages/MentorMarketplace.jsx`
- [API client](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/services/api.js): `src/services/api.js`

### Career guidance

- [Career profile](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/CareerProfile.jsx): `src/pages/CareerProfile.jsx`
- [Trait assessment](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/AssessmentQuestion.jsx): `src/pages/AssessmentQuestion.jsx`
- [Career matches](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/CareerRecommendations.jsx): `src/pages/CareerRecommendations.jsx`
- [Career explorer](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/DayInLife.jsx): `src/pages/DayInLife.jsx`

### Learning and practice

- [Skill assessment](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/SkillAssessment.jsx): `src/pages/SkillAssessment.jsx`
- [Skill-gap analysis](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/SkillGap.jsx): `src/pages/SkillGap.jsx`
- [Learning roadmap](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/Roadmap.jsx): `src/pages/Roadmap.jsx`
- [Mock interview](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/MockInterview.jsx): `src/pages/MockInterview.jsx`
- [Progress and badges](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/pages/ProgressDashboard.jsx): `src/pages/ProgressDashboard.jsx`

### Platform services

- [Spring REST API](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/tree/main/backend/src/main/java/com/aicareermentor/backend/controller): `backend/src/main/java/com/aicareermentor/backend/controller`
- [Authentication service](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/AuthService.java): `backend/src/main/java/com/aicareermentor/backend/service/AuthService.java`
- [User context](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/UserContextService.java): `backend/src/main/java/com/aicareermentor/backend/service/UserContextService.java`
- [Assessment service](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/AssessmentService.java): `backend/src/main/java/com/aicareermentor/backend/service/AssessmentService.java`
- [AI gap and roadmap](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/GroqSkillGapService.java): `backend/src/main/java/com/aicareermentor/backend/service/GroqSkillGapService.java`
- [Interview services](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/GroqMockInterviewService.java): `backend/src/main/java/com/aicareermentor/backend/service/GroqMockInterviewService.java`
- [Progress service](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/ProgressService.java): `backend/src/main/java/com/aicareermentor/backend/service/ProgressService.java`
- [Mentor matching](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/service/MentorSearchService.java): `backend/src/main/java/com/aicareermentor/backend/service/MentorSearchService.java`
- [AI gateway](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/backend/src/main/java/com/aicareermentor/backend/ai/AiGatewayService.java): `backend/src/main/java/com/aicareermentor/backend/ai/AiGatewayService.java`

### External systems

- **MySQL**
- **Groq AI**
- **Browser storage**
- [Static career content](https://github.com/vaishnavi-parodkar/ai-career-mentor-marketplace/blob/main/src/data/dayScenes.js): `src/data/dayScenes.js`

### Other components

- **Candidate**

## Connections

- Candidate → React application: uses (evidence: `README.md`)
- React application → Account access: routes to (evidence: `src/App.jsx`)
- React application → Career profile: routes to (evidence: `src/App.jsx`)
- React application → Trait assessment: routes to (evidence: `src/App.jsx`)
- React application → Career matches: routes to (evidence: `src/App.jsx`)
- React application → Career explorer: routes to (evidence: `src/App.jsx`)
- React application → Skill assessment: routes to (evidence: `src/App.jsx`)
- React application → Learning roadmap: routes to (evidence: `src/App.jsx`)
- React application → Mock interview: routes to (evidence: `src/App.jsx`)
- React application → Progress and badges: routes to (evidence: `src/App.jsx`)
- React application → Mentor marketplace: routes to (evidence: `src/App.jsx`)
- Account access → API client: authenticates through
- Career profile → API client: updates through (evidence: `README.md`)
- Trait assessment → API client: submits through (evidence: `README.md`)
- Career matches → API client: requests matches (evidence: `README.md`)
- Skill assessment → API client: loads questions (evidence: `src/services/api.js`)
- Skill-gap analysis → API client: requests analysis (evidence: `README.md`)
- Learning roadmap → API client: requests generation (evidence: `README.md`)
- Mock interview → API client: requests practice (evidence: `README.md`)
- API client → Spring REST API: sends REST requests (evidence: `README.md`)
- API client → Browser storage: stores session (evidence: `README.md`)
- Spring REST API → Authentication service: delegates auth
- Spring REST API → Assessment service: delegates assessment
- Spring REST API → AI gap and roadmap: delegates AI tasks
- Spring REST API → Interview services: delegates interviews
- Spring REST API → Progress service: serves progress (evidence: `backend/src/main/java/com/aicareermentor/backend/controller/CareerToolsController.java`)
- Spring REST API → Mentor matching: serves mentor search
- Authentication service → MySQL: persists accounts
- Assessment service → MySQL: persists scores
- User context → MySQL: reads profile data (evidence: `backend/src/main/java/com/aicareermentor/backend/service/UserContextService.java`)
- AI gap and roadmap → AI gateway: requests generation (evidence: `backend/src/main/java/com/aicareermentor/backend/service/GroqSkillGapService.java`)
- AI gateway → Groq AI: calls providers (evidence: `README.md`)
- Progress service → MySQL: reads progress
- Mentor marketplace → Static career content: uses mock data (evidence: `README.md`)
- Career explorer → Static career content: shows scenes (evidence: `README.md`)
- Mentor matching → User context: uses user context (evidence: `backend/src/main/java/com/aicareermentor/backend/service/MentorSearchService.java`)
