generated from yacosta738/saas-template
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
🖼️ Feature Request — Profile Picture Upload
| Feature | User Story | Acceptance Criteria |
|---|---|---|
| Profile Picture Upload | As a user, I want to upload or change my profile picture so that my generated resume includes a professional portrait | - User can upload an image file (JPG, PNG, or AVIF) up to 2 MB.- Image preview is displayed in the form and live resume preview.- The system validates file type, size, and aspect ratio (square preferred).- Uploaded image is stored temporarily (session-based, not persisted).- When generating the PDF, the backend fetches and embeds the image in the LaTeX template.- If no image is uploaded, the resume is generated without a profile picture placeholder. |
Technical Notes
- Frontend:
- Add FileUpload component (drag & drop + preview).
- Convert uploaded file to base64 or pre-signed upload URL.
- Integrate with existing personalInfo.profilePhoto field.
- Backend:
- Accept optional profilePhoto field (base64 or URL).
- Sanitize and validate MIME type and file size.
- Temporarily write file to LaTeX compilation directory.
- Embed in template via \includegraphics with scaling.
Security & Compliance
- Enforce strict MIME-type checking (image/jpeg, image/png, image/avif).
- Limit uploads to 2 MB per file, reject others with HTTP 413.
- No persistent storage (compliance with privacy-first MVP).
Future Enhancements
- Integration with user account system for persistent photo storage.
- Optional photo cropping and auto-scaling.
- AI-based photo optimization for lighting and background removal.