Commit 428a15

2025-10-07 10:24:27 Vinay Deokar: Change in structure
Projects/HireGenius/LLD.md ..
@@ 45,74 45,3 @@
| **Vector Embeddings** | OpenAI **text-embedding-3-small** |
| **Email Integration** | Gmail API with **OAuth 2.0** |
| **Scheduler** | **node-cron** |
-
-
- ## Module Breakdown
-
- ### 2.1 Module Architecture
-
- ![](./image-1759832080715.png)
-
- ## 2.2 Detailed Module Specifications
-
- ### Module 1: Gmail Module
- **Responsibility:** Email integration and resume fetching
-
- **Functions:**
- - Authenticate with Gmail API using OAuth 2.0
- - Fetch emails with attachments based on filters (date, keywords, labels)
- - Download resume attachments (PDF, DOCX)
- - Track last fetch timestamp for incremental processing
-
- **Key Operations:**
- - `fetchNewEmails(afterDate, filters)` → Returns array of email objects with attachments
- - `downloadAttachment(messageId, attachmentId)` → Returns file buffer
- - `getLastFetchTime(jobId)` → Returns timestamp of last successful fetch
-
- **External Dependencies:** Gmail API, Google OAuth 2.0
-
- ---
-
- ### Module 2: Resume Parser Module
- **Responsibility:** Extract structured data from resume text
-
- **Parsing Strategy:** Rule-based NLP with regex patterns
-
- **Extraction Details:**
- - **Name:** First line heuristics, capitalization patterns
- - **Email:** Regex pattern `[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}`
- - **Phone:** Regex for various formats (`+1-XXX-XXX-XXXX`, `(XXX) XXX-XXXX`)
- - **Skills:** Keyword matching against predefined skill database
- - **Experience:** Section detection (keywords: "experience", "work history") + date parsing
- - **Education:** Section detection + degree/institution extraction
-
- **Functions:**
- - `extractText(fileBuffer, format)` → Returns plain text from PDF/DOCX
- - `parseResume(resumeText)` → Returns structured JSON object
- - `validateParsedData(data)` → Returns boolean + error messages
- - `normalizeSkills(skillArray)` → Returns deduplicated, lowercase skills
-
- **Output Format (JSON):**
- ```json
- {
- "name": "John Doe",
- "email": "john@example.com",
- "phone": "+1-555-0123",
- "skills": ["javascript", "python", "sql"],
- "experience": [
- {
- "title": "Software Engineer",
- "company": "Tech Corp",
- "duration": "2020-2023",
- "description": "Built REST APIs..."
- }
- ],
- "education": [
- {
- "degree": "B.S. Computer Science",
- "institution": "MIT",
- "year": 2018
- }
- ],
- "total_experience_years": 5
- }
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9