How manthan-parekh7/jobcortex-ai-powered-full-stack-job-portal works
JobCortex connects candidates and recruiters through a React client, an Express/MongoDB API, and a separate resume-analysis service. Candidates discover jobs, apply, manage profiles, and submit resumes for cached ATS and job-description analysis with PDF export; recruiters manage companies, jobs, applications, and AI-assisted shortlists. The README documents the service boundaries and analysis workflow; source excerpts confirm key API, persistence, and analysis calls. Many page-to-API calls and analysis internals are unsampled, so those details are not expanded.
Main entry points: routes.py Analysis endpoints · server.js Express API runtime · models MongoDB records · candidateController.js Candidate API
Components 25
Web client
- React application
client/src/App.jsx - Candidate workflows
client/src/pages/candidate - Resume analysis UI
client/src/pages/candidate/ResumeAnalysis.jsx - Recruiter workflows
client/src/pages/recruiter - Applicant review
client/src/pages/recruiter/RecruiterApplications.jsx - Recruiter dashboard
client/src/pages/recruiter/UnifiedRecruiterDashboard.jsx
Core API
- Express API runtime
server/server.js - Authentication
server/controllers/authController.js - Session guard
server/middlewares/authMiddleware.js - Candidate API
server/controllers/candidateController.js - Recruiter applications
server/controllers/recruiterApplicationController.js - Analysis adapter
server/services/resumeAnalysisClient.js - Application consistency
server/services/consistencyJob.js
Persistent data
- MongoDB records
server/models
Resume analysis
- Analysis endpoints
resume-analysis-service/backend/api/routes.py - Resume parsing
resume-analysis-service/backend/services/resume_parser.py - Resume scoring
resume-analysis-service/backend/services/resume_analyzer.py - Analysis feedback
resume-analysis-service/backend/services/feedback_engine.py - Recommendations
resume-analysis-service/backend/services/recommendation_engine.py - PDF reporting
resume-analysis-service/backend/services/pdf_export.py
External services
- Cloudinary storage
- Groq LLM
- SMTP email
Other components
- Candidate
- Recruiter
Connections 29
- Candidate → React application: uses
README.md - Recruiter → React application: uses
README.md - React application → Candidate workflows: routes to
client/src/App.jsx - React application → Recruiter workflows: routes to
client/src/App.jsx - Candidate workflows → Resume analysis UI: includes
client/src/App.jsx - Recruiter workflows → Applicant review: includes
client/src/App.jsx - Recruiter workflows → Recruiter dashboard: includes
client/src/App.jsx - React application → Express API runtime: calls
README.md - Express API runtime → Authentication: routes requests
server/server.js - Express API runtime → Candidate API: routes requests
server/server.js - Express API runtime → Recruiter applications: routes requests
server/server.js - Candidate API → MongoDB records: reads and writes
server/controllers/candidateController.js - Recruiter applications → MongoDB records: reads and writes
server/controllers/recruiterApplicationController.js - Express API runtime → MongoDB records: connects
server/server.js - Session guard → MongoDB records: loads user
server/middlewares/authMiddleware.js - Candidate API → Analysis adapter: requests analysis
server/controllers/candidateController.js - Candidate API → Analysis adapter: requests PDF
server/controllers/candidateController.js - Analysis adapter → Analysis endpoints: calls service
README.md - Analysis endpoints → Resume parsing: parses resume
resume-analysis-service/backend/api/routes.py - Analysis endpoints → Resume scoring: analyzes resume
resume-analysis-service/backend/api/routes.py - Analysis endpoints → PDF reporting: generates PDF
resume-analysis-service/backend/api/routes.py - Analysis endpoints → Analysis feedback: uses feedback
- Analysis endpoints → Recommendations: uses suggestions
- Analysis endpoints → Groq LLM: uses LLM
- Candidate API → Cloudinary storage: downloads resume
README.md - Recruiter applications → SMTP email: schedules status email
server/controllers/recruiterApplicationController.js - Recruiter applications → MongoDB records: stores shortlist
server/controllers/recruiterApplicationController.js - Express API runtime → Application consistency: starts job
server/server.js - Application consistency → MongoDB records: checks records
server/services/consistencyJob.js