Implement PDF export feature with both synchronous and asynchronous modes. Includes:
- New cv-export-server service using Puppeteer
- Shared printable HTML builder module
- ExportControls React component with job status tracking
- Classic template for PDF output
- API endpoints for job management
The system supports cancelable async jobs with polling and error handling. Both client and server share the same HTML rendering logic via the shared-printable module.
- Add @tiptap/extension-placeholder dependency
- Implement placeholder text in summary editor
- Add JSON persistence for summary content
- Enhance HTML sanitization to support safe links
- Set up React + TypeScript + Vite project with TailwindCSS
- Implement Zustand store for CV data management
- Create personal details editor with validation
- Add ATS-friendly template for CV preview
- Build stepper navigation component
- Include schema validation with Zod
- Configure ESLint and Prettier for code quality