How sathvikreddy5/career_lens works
Career Lens combines personalized career preparation with opportunity-risk analysis. Students authenticate, set a target role and skills, receive readiness gaps and a learning roadmap, then learn and practice while progress is saved; they can also analyze and revisit job or internship risks. The React app calls an Express API, whose controllers coordinate readiness, practice, safety services and PostgreSQL access. The README documents the AI assistant and Gemini integration, but sampled source does not establish its backend call path; that connection is therefore shown as unverified.
Main entry points: App.jsx Route application · server.js Express API · practiceController.js Practice and progress · api.js HTTP client
Components 34
Student app
- Route application
client/src/App.jsx - Sign-in state
client/src/context/AuthContext.jsx - HTTP client
client/src/services/api.js - Career screens
client/src/pages/CareerReadiness.jsx - Learning screens
client/src/pages/LearnSkill.jsx - Practice screens
client/src/pages/PracticeTask.jsx - Safety and history
client/src/pages/OpportunitySafety.jsx - Career Lens AI
client/src/components/auth/ai/AIAssistant.jsx
API and identity
- Express API
server/src/server.js - Auth endpoints
server/src/routes/authRoutes.js - Authentication
server/src/controllers/authController.js - JWT guard
server/src/middleware/authMiddleware.js - Career profile
server/src/controllers/profileController.js - PostgreSQL access
server/src/config/prisma.js
Career preparation
- Career endpoints
server/src/routes/careerRoutes.js - Assessment and roadmap
server/src/controllers/careerController.js - Role requirements
server/src/data/roleRequirements.js - Readiness calculation
server/src/services/careerReadinessService.js - Roadmap generation
server/src/services/roadmapService.js - Learning resources
server/src/data/learningResources.js
Practice and progress
- Practice endpoints
server/src/routes/practiceRoutes.js - Practice and progress
server/src/controllers/practiceController.js - Tasks and projects
server/src/data/practiceResources.js - Practice selection
server/src/services/practiceService.js - Task evaluators
server/src/services/practiceEvaluatorService.js
Opportunity safety
- Opportunity endpoints
server/src/routes/opportunityRoutes.js - Opportunity analysis
server/src/controllers/opportunityController.js - Image text extraction
server/src/services/ocrService.js - Risk analysis
server/src/services/opportunitySafetyService.js - Safety history endpoints
server/src/routes/safetyRoutes.js - Safety scoring
server/src/controllers/safetyController.js - Risk signals and scoring
server/src/services/safetyScoring.js
Other components
- Student
- Gemini AI
Connections 45
- Student → Route application: uses
client/src/App.jsx - Route application → Career screens: routes to
client/src/App.jsx - Route application → Learning screens: routes to
client/src/App.jsx - Route application → Practice screens: routes to
client/src/App.jsx - Route application → Safety and history: routes to
client/src/App.jsx - Route application → Sign-in state: checks session
client/src/App.jsx - Sign-in state → HTTP client: requests auth
client/src/context/AuthContext.jsx - Career screens → HTTP client: requests career data
client/src/pages/CareerReadiness.jsx - Learning screens → HTTP client: requests resources
- Practice screens → HTTP client: requests tasks and progress
client/src/pages/PracticeTask.jsx - Safety and history → HTTP client: submits and retrieves
client/src/pages/OpportunitySafety.jsx - HTTP client → Express API: sends REST requests
- Express API → Auth endpoints: mounts
server/src/server.js - Express API → Career endpoints: mounts
server/src/server.js - Express API → Practice endpoints: mounts
server/src/server.js - Express API → Opportunity endpoints: mounts
server/src/server.js - Express API → Safety history endpoints: mounts
server/src/server.js - Auth endpoints → Authentication: dispatches
server/src/routes/authRoutes.js - Career endpoints → JWT guard: protects endpoints
server/src/routes/careerRoutes.js - Career endpoints → Assessment and roadmap: dispatches
server/src/routes/careerRoutes.js - Practice endpoints → JWT guard: protects endpoints
server/src/routes/practiceRoutes.js - Practice endpoints → Practice and progress: dispatches
server/src/routes/practiceRoutes.js - Opportunity endpoints → JWT guard: protects endpoints
server/src/routes/opportunityRoutes.js - Opportunity endpoints → Opportunity analysis: dispatches
server/src/routes/opportunityRoutes.js - Safety history endpoints → JWT guard: protects endpoints
server/src/routes/safetyRoutes.js - Safety history endpoints → Safety scoring: dispatches
server/src/routes/safetyRoutes.js - Assessment and roadmap → PostgreSQL access: reads and writes profiles
server/src/controllers/careerController.js - Assessment and roadmap → Role requirements: uses requirements
server/src/controllers/careerController.js - Assessment and roadmap → Readiness calculation: calculates gaps
server/src/controllers/careerController.js - Assessment and roadmap → Roadmap generation: generates roadmap
server/src/controllers/careerController.js - Roadmap generation → Learning resources: selects resources
- Career profile → PostgreSQL access: stores profile
- Practice and progress → PostgreSQL access: loads and saves progress
server/src/controllers/practiceController.js - Practice and progress → Readiness calculation: selects skill gaps
server/src/controllers/practiceController.js - Practice and progress → Practice selection: selects practice
server/src/controllers/practiceController.js - Practice and progress → Tasks and projects: loads tasks
server/src/controllers/practiceController.js - Practice and progress → Task evaluators: dispatches task evaluation
server/src/controllers/practiceController.js - Opportunity analysis → Image text extraction: extracts image text
server/src/controllers/opportunityController.js - Opportunity analysis → Risk analysis: analyzes submission
server/src/controllers/opportunityController.js - Opportunity analysis → PostgreSQL access: stores analysis and history
server/src/controllers/opportunityController.js - Safety scoring → Risk signals and scoring: scores posting
server/src/controllers/safetyController.js - Safety scoring → PostgreSQL access: loads prior postings
server/src/controllers/safetyController.js - Safety scoring → PostgreSQL access: stores safety result
server/src/controllers/safetyController.js - Route application → Career Lens AI: renders assistant
client/src/App.jsx - Career Lens AI → Gemini AI: may request AI guidance