How nyntdr/career_guidance works
CareerGuide AI is a Laravel/Inertia career-guidance application. A user registers or signs in, builds a career profile and skill inventory, then receives role matches, skill-gap insights, learning/roadmap guidance, and resume parsing/ATS feedback. The graph emphasizes these user-facing stages, plus admin-managed career/job/skill data. Controller, recommendation, resume, and authentication links are grounded in sampled source; broader feature branches come from the routes and page tree, so their internal service wiring is not inferred.
Main entry points: Models Application data · ResumeController.php Resume workspace · Auth Authentication · Pages Vue pages
Components 23
Identity and profiles
- Authentication
app/Http/Controllers/Auth - Career profile
app/Http/Controllers/ProfileController.php
Career guidance
- Dashboard
app/Http/Controllers/DashboardController.php - Role recommendations
app/Services/RecommendationEngine.php - Match scoring
app/Services/RoleMatchScorer.php - Skill similarity
app/Services/Ml/SkillSimilarity.php - Skill gap analysis
app/Services/SkillGapAnalyzer.php - Learning resources
app/Http/Controllers/LearningController.php - Career roadmap
app/Http/Controllers/RoadmapController.php - Career exploration
app/Http/Controllers/CareersController.php - Job listings
app/Http/Controllers/JobsController.php
Resume and ATS
- Resume workspace
app/Http/Controllers/ResumeController.php - Resume extraction
app/Services/ResumeTextExtractor.php - Resume parsing
app/Services/ResumeParser.php - ATS scan
app/Services/AtsScanner.php
Career catalog administration
- Skills catalog
app/Http/Controllers/Admin/SkillController.php - Job catalog
app/Http/Controllers/Admin/JobPostingController.php - Career-role admin
app/Http/Controllers/Admin/CareerRoleController.php
Web experience
- Vue pages
resources/js/Pages - Inertia bootstrap
resources/js/app.js
Other components
- Career seeker
- Application data
app/Models - Google OAuth
Connections 28
- Career seeker → Vue pages: uses pages
- Vue pages → Inertia bootstrap: mounts
- Inertia bootstrap → Authentication: submits requests
- Authentication → Google OAuth: OAuth redirect
- Authentication → Application data: creates users
- Authentication → Career profile: signs in
- Career profile → Application data: stores profile
- Dashboard → Application data: reads profile data
- Dashboard → Role recommendations: generates if absent
- Role recommendations → Match scoring: scores overlap
- Role recommendations → Skill similarity: scores semantics
- Role recommendations → Application data: stores matches
- Skill gap analysis → Application data: reads skill requirements
- Learning resources → Application data: reads resources
- Career roadmap → Application data: reads progress
- Career exploration → Application data: reads career roles
- Job listings → Application data: reads postings
- Resume workspace → Resume extraction: extracts text
- Resume workspace → Resume parsing: parses resume
- Resume workspace → ATS scan: requests scan
- Resume workspace → Application data: stores resume and scans
- ATS scan → Application data: reads jobs and stores scans
- Skills catalog → Application data: manages skills
- Job catalog → Application data: manages postings
- Career-role admin → Application data: manages career roles
- Authentication → Vue pages: renders auth pages
- Dashboard → Vue pages: renders dashboard
- Resume workspace → Vue pages: renders resume views