프로젝트 소개

Rezuma는 이력서가 시각적으로 매력적일 뿐만 아니라 지원자 추적 시스템(ATS)에 의해 기계로 읽을 수 있도록 보장하기 위해 설계된 오픈 소스 클라이언트 측 이력서 작성 도구입니다. 비주얼 프리뷰에 의존하는 일반적인 빌더와 달리, Rezuma는 실제 텍스트 추출 프로세스에 집중하여 내보낸 PDF가 래스터화된 이미지가 아닌 선택 가능하고 검색 가능하며 추출 가능한 벡터 텍스트를 포함하도록 보장합니다. **주요 기능** - **실제 PDF 내보내기**: `jsPDF`를 사용하여 임베디드 글꼴로 문서를 그려 높은 충실도와 텍스트 무결성을 보장합니다. - **ATS 검증**: PDF를 생성하고 `pdf.js`를 사용하여 텍스트를 추출하는 `verify:pdf` 스크립트를 포함하여, 아랍어와 같은 복잡한 스크립트를 포함하여 모든 중요한 정보(이름, 날짜, 기술)가 왕복에서 살아남는지 확인합니다. - **라이브 ATS 검사**: 날짜 파싱 가능성, 타임라인 간격, 키워드 커버리지, 그리고 불릿 포인트 구조에 대한 실시간 피드백을 제공합니다. - **다국어 및 RTL 지원**: 영어, 프랑스어, 아랍어를 지원합니다. 아랍어는 화면에서 단순히 미러링되는 것이 아니라 PDF에서 올바른 오른쪽에서 왼쪽으로의 모양과 재배열로 처리됩니다. - **개인 정보 우선**: 서버 없음, 계정 없음, 분석 없음. 모든 데이터는 브라우저의 `localStorage`에 저장됩니다. PDF는 로컬에서 생성되며 절대 업로드되지 않습니다. **기술 구현** - **스택**: Vue 3, TypeScript, Vite, jsPDF, pdf.js. - **글꼴**: woff2를 임베드할 수 없는 jsPDF와의 호환성을 보장하기 위해 번들된 TrueType 글꼴(Source Serif/Sans, Noto Arabic)을 사용합니다. - **레이아웃 엔진**: 관련 요소를 함께 유지(예: 직함과 날짜)하고 페이지 나누기를 처리하는 사용자 정의 2단계 타입세터(`layout.ts`)를 사용합니다. 스택형, 사이드 헤딩, 타임라인, 사이드바의 네 가지 레이아웃을 지원합니다. - **RTL 처리**: LTR과 RTL 방향 모두에 원활하게 서비스를 제공하기 위해 레이아웃 코드에 논리적 좌표를 구현합니다. 아랍어 텍스트는 Presentation Forms-B를 사용하여 모양이 만들어지며, 추출 중에 파서의 기대에 맞게 정규화됩니다. **배포** Rezuma는 정적 사이트로, Cloudflare Workers, Vercel, 또는 Netlify와 같은 플랫폼에 쉽게 배포할 수 있습니다. SPA 라우팅과 캐싱 헤더를 처리하기 위한 특정 구성이 포함되어 있습니다.