How gopivemuri-tech/hirehub-smart-recruitment-platform works
HireHub supports jobseekers discovering and matching opportunities, applying to native jobs or tracking external applications, and recruiters managing candidates through hiring stages; administrators oversee users, jobs, and platform activity. The React client presents role-specific workflows and calls an Express REST API. The API connects matching, recruitment, external discovery, and tracking services to MySQL-backed models. README capabilities are represented where route or service excerpts were not sampled; those internal links are therefore limited to documented or clearly named subsystem boundaries.
Main entry points: server.js Express app · App.jsx Role dashboards · matchingEngine.js Weighted matching · applications.js Applications
Components 25
Web client
- Role dashboards
client/src/App.jsx - Session state
client/src/context/AuthContext.jsx - API client
client/src/api.js
REST API
- Express app
server/src/server.js - Accounts
server/src/routes/auth.js - Job listings
server/src/routes/jobs.js - Applications
server/src/routes/applications.js - Administration
server/src/routes/admin.js - Auto Apply
server/src/routes/autoApply.js - External listings
server/src/routes/externalJobs.js - External tracking
server/src/routes/externalApplications.js - Candidate center
server/src/routes/jobseekerCenter.js
Recruitment workflows
- Weighted matching
server/src/services/matchingEngine.js - Profile readiness
server/src/services/profileReadiness.js
Discovery and tracking
- Job discovery
server/src/services/externalJobsService.js - Source registry
server/src/services/jobSourceRegistry.js - External activity
server/src/services/externalApplicationService.js
Persistence
- Domain models
server/src/models/index.js - Native applications
server/src/models/Application.js - MySQL
server/src/config/database.js - Schema setup
server/src/schemaManager.js
Other components
- Jobseeker
- Recruiter
- Administrator
- SerpAPI
Connections 31
- Jobseeker → Role dashboards: uses
- Recruiter → Role dashboards: uses
- Administrator → Role dashboards: uses
- Role dashboards → Session state: provides session
- Role dashboards → API client: requests data
- API client → Express app: sends REST requests
- Express app → Accounts: mounts
- Express app → Job listings: mounts
- Express app → Applications: mounts
- Express app → Administration: mounts
- Express app → Auto Apply: mounts
- Express app → External listings: mounts
- Express app → External tracking: mounts
- Express app → Candidate center: mounts
- Express app → Schema setup: initializes schema
- Applications → Weighted matching: creates matched application
- Weighted matching → Native applications: creates application
- Applications → Native applications: reads and updates
- Auto Apply → Weighted matching: requests auto apply
- Candidate center → Weighted matching: requests matches
- Candidate center → Profile readiness: checks readiness
- External listings → Job discovery: searches listings
- Job discovery → Source registry: validates sources
- Job discovery → SerpAPI: queries provider
- External tracking → External activity: tracks activity
- External activity → Schema setup: repairs schema
- External activity → Domain models: reads and writes
- Weighted matching → Domain models: loads candidate and jobs
- Native applications → MySQL: persists records
- Domain models → MySQL: stores domain data
- Schema setup → MySQL: prepares schema