diff --git a/job-application-demo/src/types.ts b/job-application-demo/src/types.ts index c4fd08e..01ea7b5 100644 --- a/job-application-demo/src/types.ts +++ b/job-application-demo/src/types.ts @@ -3,11 +3,11 @@ export interface ResumeData { fullName: string; email: string; phone: string; - address: string; + address?: string; city: string; state: string; - zipCode: string; - country: string; + zipCode?: string; + country?: string; linkedIn?: string; github?: string; website?: string; diff --git a/sample-resume.txt b/sample-resume.txt deleted file mode 100644 index 55dbe6b..0000000 --- a/sample-resume.txt +++ /dev/null @@ -1,44 +0,0 @@ -John Smith -john.smith@email.com -(555) 123-4567 -San Francisco, CA 94102 - -PROFESSIONAL SUMMARY -Experienced software engineer with 5+ years of expertise in full-stack web development. -Proficient in modern JavaScript frameworks and cloud technologies. - -WORK EXPERIENCE - -Senior Software Engineer -Tech Solutions Inc. | San Francisco, CA -January 2020 - Present -- Lead development of customer-facing web applications -- Mentor junior developers and conduct code reviews -- Improved application performance by 40% - -Software Developer -Digital Innovations | San Jose, CA -June 2018 - December 2019 -- Built RESTful APIs using Node.js and Express -- Implemented responsive UI components with React -- Collaborated with cross-functional teams - -EDUCATION - -Bachelor of Science in Computer Science -Stanford University | Stanford, CA -Graduated: May 2018 -GPA: 3.8/4.0 - -SKILLS -JavaScript, TypeScript, React, Node.js, Python, Java, SQL, MongoDB, PostgreSQL, -AWS, Docker, Kubernetes, Git, CI/CD, Agile, REST APIs, GraphQL - -CERTIFICATIONS -- AWS Certified Solutions Architect -- Google Cloud Professional Developer - -PROJECTS -- Open source contributor to popular JavaScript libraries -- Personal portfolio website: https://johnsmith.dev -- LinkedIn: https://linkedin.com/in/johnsmith diff --git a/sample-resumes/sample-resume-complete.docx b/sample-resumes/sample-resume-complete.docx new file mode 100644 index 0000000..ef1156d Binary files /dev/null and b/sample-resumes/sample-resume-complete.docx differ diff --git a/sample-resumes/sample-resume-complete.pdf b/sample-resumes/sample-resume-complete.pdf new file mode 100644 index 0000000..edb9265 Binary files /dev/null and b/sample-resumes/sample-resume-complete.pdf differ diff --git a/sample-resumes/sample-resume-complete.txt b/sample-resumes/sample-resume-complete.txt new file mode 100644 index 0000000..8032f2b --- /dev/null +++ b/sample-resumes/sample-resume-complete.txt @@ -0,0 +1,52 @@ +John Smith +john.smith@email.com ++1-(555)-123-4567 +123 Market Street +San Francisco, CA 94102 +United States +LinkedIn: https://linkedin.com/in/johnsmith +GitHub: https://github.com/johnsmith +Website: https://johnsmith.dev + +PROFESSIONAL SUMMARY +Experienced software engineer with 5+ years of expertise in full-stack web development. +Proficient in modern JavaScript frameworks and cloud technologies. Passionate about building +scalable applications and mentoring junior developers. + +WORK EXPERIENCE + +Senior Software Engineer +Tech Solutions Inc. | San Francisco, CA +January 2020 - Present +Lead development of customer-facing web applications using React and Node.js. Mentor junior +developers and conduct code reviews. Improved application performance by 40% through optimization +and refactoring. Implemented CI/CD pipelines and cloud infrastructure on AWS. + +Software Developer +Digital Innovations | San Jose, CA +June 2018 - December 2019 +Built RESTful APIs using Node.js and Express. Implemented responsive UI components with React. +Collaborated with cross-functional teams to deliver high-quality software solutions. Participated +in agile development processes and sprint planning. + +EDUCATION + +Bachelor of Science in Computer Science +Stanford University +Field of Study: Computer Science +Graduated: May 2018 +GPA: 3.8 + +CERTIFICATIONS + +AWS Certified Solutions Architect +Acquired: March 2021 +Area of Expertise: Cloud Architecture and Infrastructure + +Google Cloud Professional Developer +Acquired: September 2020 +Area of Expertise: Cloud Development and Deployment + +SKILLS +JavaScript, TypeScript, React, Node.js, Python, Java, SQL, MongoDB, PostgreSQL, +AWS, Docker, Kubernetes, Git, CI/CD, Agile, REST APIs, GraphQL diff --git a/sample-resumes/sample-resume-minimal.docx b/sample-resumes/sample-resume-minimal.docx new file mode 100644 index 0000000..06bdb21 Binary files /dev/null and b/sample-resumes/sample-resume-minimal.docx differ diff --git a/sample-resumes/sample-resume-minimal.pdf b/sample-resumes/sample-resume-minimal.pdf new file mode 100644 index 0000000..12df3f4 Binary files /dev/null and b/sample-resumes/sample-resume-minimal.pdf differ diff --git a/sample-resumes/sample-resume-minimal.txt b/sample-resumes/sample-resume-minimal.txt new file mode 100644 index 0000000..b93c532 --- /dev/null +++ b/sample-resumes/sample-resume-minimal.txt @@ -0,0 +1,24 @@ +John Smith +john.smith@email.com ++1-(555)-123-4567 +San Francisco, CA + +WORK EXPERIENCE + +Senior Software Engineer +Tech Solutions Inc. +January 2020 - Present +Lead development of customer-facing web applications using React and Node.js. Mentor junior +developers and conduct code reviews. Improved application performance by 40% through optimization +and refactoring. Implemented CI/CD pipelines and cloud infrastructure on AWS. + +Software Developer +Digital Innovations +June 2018 - December 2019 +Built RESTful APIs using Node.js and Express. Implemented responsive UI components with React. +Collaborated with cross-functional teams to deliver high-quality software solutions. Participated +in agile development processes and sprint planning. + +SKILLS +JavaScript, TypeScript, React, Node.js, Python, Java, SQL, MongoDB, PostgreSQL, +AWS, Docker, Kubernetes, Git, CI/CD, Agile, REST APIs, GraphQL diff --git a/src/services/fieldMatcher.ts b/src/services/fieldMatcher.ts index 3606c62..2aa450e 100644 --- a/src/services/fieldMatcher.ts +++ b/src/services/fieldMatcher.ts @@ -28,7 +28,7 @@ export class FieldMatcher { // Personal Info mappings - check specific names first before generic "name" if (this.matchesAny(fieldText, ['first name', 'firstname', 'given name'])) { const firstName = - this.resumeData.personalInfo.fullName.split(' ')[0] || ''; + this.resumeData.personalInfo.fullName.split(' ')[0] ?? ''; return this.createMapping(field, 'personalInfo.firstName', firstName); } @@ -41,7 +41,7 @@ export class FieldMatcher { ]) ) { const parts = this.resumeData.personalInfo.fullName.split(' '); - const lastName = parts[parts.length - 1] || ''; + const lastName = parts[parts.length - 1] ?? ''; return this.createMapping(field, 'personalInfo.lastName', lastName); } @@ -73,7 +73,7 @@ export class FieldMatcher { return this.createMapping( field, 'personalInfo.address', - this.resumeData.personalInfo.address + this.resumeData.personalInfo.address ?? '' ); } @@ -105,7 +105,7 @@ export class FieldMatcher { return this.createMapping( field, 'personalInfo.zipCode', - this.resumeData.personalInfo.zipCode + this.resumeData.personalInfo.zipCode ?? "" ); } @@ -113,7 +113,7 @@ export class FieldMatcher { return this.createMapping( field, 'personalInfo.country', - this.resumeData.personalInfo.country + this.resumeData.personalInfo.country ?? '' ); } @@ -121,7 +121,7 @@ export class FieldMatcher { return this.createMapping( field, 'personalInfo.linkedIn', - this.resumeData.personalInfo.linkedIn || '' + this.resumeData.personalInfo.linkedIn ?? '' ); } @@ -129,7 +129,7 @@ export class FieldMatcher { return this.createMapping( field, 'personalInfo.github', - this.resumeData.personalInfo.github || '' + this.resumeData.personalInfo.github ?? '' ); } @@ -137,7 +137,7 @@ export class FieldMatcher { return this.createMapping( field, 'personalInfo.website', - this.resumeData.personalInfo.website || '' + this.resumeData.personalInfo.website ?? '' ); } @@ -154,7 +154,7 @@ export class FieldMatcher { return this.createMapping( field, 'workExperience.company', - latestJob?.company || '' + latestJob?.company ?? '' ); } @@ -171,7 +171,7 @@ export class FieldMatcher { return this.createMapping( field, 'workExperience.position', - latestJob?.position || '' + latestJob?.position ?? '' ); } @@ -188,7 +188,7 @@ export class FieldMatcher { return this.createMapping( field, 'education.institution', - latestEd?.institution || '' + latestEd?.institution ?? '' ); } @@ -197,7 +197,7 @@ export class FieldMatcher { return this.createMapping( field, 'education.degree', - latestEd?.degree || '' + latestEd?.degree ?? '' ); } @@ -213,13 +213,13 @@ export class FieldMatcher { return this.createMapping( field, 'education.field', - latestEd?.field || '' + latestEd?.field ?? '' ); } if (this.matchesAny(fieldText, ['gpa'])) { const latestEd = this.resumeData.education?.[0]; - return this.createMapping(field, 'education.gpa', latestEd?.gpa || ''); + return this.createMapping(field, 'education.gpa', latestEd?.gpa ?? ''); } // Certifications @@ -235,7 +235,7 @@ export class FieldMatcher { return this.createMapping( field, 'certifications.certificationName', - latestCert?.certificationName || '' + latestCert?.certificationName ?? '' ); } @@ -251,7 +251,7 @@ export class FieldMatcher { return this.createMapping( field, 'certifications.acquiredDate', - latestCert?.acquiredDate || '' + latestCert?.acquiredDate ?? '' ); } @@ -267,7 +267,7 @@ export class FieldMatcher { return this.createMapping( field, 'certifications.areaOfExpertise', - latestCert?.areaOfExpertise || '' + latestCert?.areaOfExpertise ?? '' ); } @@ -294,7 +294,7 @@ export class FieldMatcher { return this.createMapping( field, 'summary', - this.resumeData.summary || '' + this.resumeData.summary ?? '' ); } diff --git a/src/types/index.ts b/src/types/index.ts index ee87f71..2b075cf 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -3,11 +3,11 @@ export interface ResumeData { fullName: string; email: string; phone: string; - address: string; + address?: string; city: string; state: string; - zipCode: string; - country: string; + zipCode?: string; + country?: string; linkedIn?: string; github?: string; website?: string;