How ernestkac/job_search works
This is an AI-assisted job-search and application-management product focused on ICT vacancies. Candidates authenticate, build or parse a profile, browse or ingest jobs, assess match quality, prepare application materials, and track application progress; optional Gmail support is also exposed. The graph follows documented and excerpted calls, with some frontend/backend HTTP links supported by the API client’s SOURCE INDEX references. Several modules are indexed but unsampled, so uncertain internal links are omitted rather than inferred.
Main entry points: App.tsx Search workspace · app.ts HTTP API · jobs.controller.ts Job workflows · ApplicationModal.tsx Application composer
Components 23
Candidate workspace
- Search workspace
src/App.tsx - Profile editor
src/components/ProfileView.tsx - Dashboard
src/components/DashboardView.tsx - Job explorer
src/components/JobExplorerView.tsx - Job details
src/components/JobDetailModal.tsx - Application composer
src/components/ApplicationModal.tsx - Application tracker
src/components/ApplicationTrackerView.tsx - API client
src/lib/api.ts - PDF generation
src/lib/pdfService.ts
Application backend
- HTTP API
server/app.ts - Authentication
server/controller/auth.controller.ts - Profile and CV
server/controller/candidate.controller.ts - Job workflows
server/controller/jobs.controller.ts - Application records
server/controller/application.controller.ts
Persistent data
- Candidate store
server/models/candidateProfile.ts - Job store
server/models/jobs.ts - Application store
server/models/applications.ts
Job intelligence
- Job scraping
server/utils/scraper.ts - AI assistance
server/services/gemini.ts
Application integrations
- Gmail client
src/lib/gmailService.ts - Google auth
src/lib/googleauth.ts - Gmail operations
server/controller/gmail.controller.ts
Other components
- Candidate
Connections 28
- Candidate → Search workspace: uses
src/App.tsx - Search workspace → Profile editor: renders
src/App.tsx - Search workspace → Dashboard: renders
src/App.tsx - Search workspace → Job explorer: renders
src/App.tsx - Search workspace → Job details: renders
src/App.tsx - Search workspace → Application composer: renders
src/App.tsx - Search workspace → Application tracker: renders
src/App.tsx - Search workspace → API client: requests
src/App.tsx - Application composer → API client: requests
src/components/ApplicationModal.tsx - Application composer → PDF generation: generates PDFs
src/components/ApplicationModal.tsx - Application composer → Gmail client: sends mail
src/components/ApplicationModal.tsx - Application composer → Google auth: uses auth
src/components/ApplicationModal.tsx - Search workspace → Google auth: authenticates
src/App.tsx - API client → HTTP API: calls
- HTTP API → Authentication: routes auth
server/app.ts - HTTP API → Profile and CV: routes API
- HTTP API → Job workflows: routes API
- HTTP API → Application records: routes API
- HTTP API → Gmail operations: routes API
- Profile and CV → Candidate store: reads and writes
server/controller/candidate.controller.ts - Profile and CV → AI assistance: parses CV
server/controller/candidate.controller.ts - Job workflows → Job scraping: fetches jobs
server/controller/jobs.controller.ts - Job workflows → Job store: reads and writes
server/controller/jobs.controller.ts - Job workflows → Candidate store: loads profile
server/controller/jobs.controller.ts - Job workflows → AI assistance: analyzes and drafts
server/controller/jobs.controller.ts - Job workflows → Application store: updates tracking
server/controller/jobs.controller.ts - Application records → Application store: manages records
server/controller/application.controller.ts - Gmail operations → Candidate store: loads credentials
server/controller/gmail.controller.ts