A feature-rich Resume Builder application that allows users to create, customize, and download professional resumes. It includes user authentication, customizable templates, PDF generation, and more, providing a seamless experience for users to manage and enhance their professional profiles.
Features:
- User Registration and Login: Secure authentication with email verification and OTP generation.
- Password Reset: Forgot password feature allows users to reset their password with OTP verification.
- Add/Edit/Remove Sections: Manage sections like Education, Experience, Skills, and Certifications.
- Image Upload: Add a profile picture to the resume.
- PDF Download: Export the completed resume as a high-quality PDF.
- Data Persistence: Preserve user data across sessions using local storage.
- Customization: Change accent colors, font styles, and choose from multiple resume templates.
- User Authentication: Supports registration, login, and OTP-based email verification.
- Email Verification: Sends OTP to verify users' email addresses during registration.
- Cover Letter Generation: Automatically generate a cover letter based on user resume details.
- FAQ and Contact Pages: Provide users with guidance and contact options.
Tech Stack:
Frontend:
- React.js: Component-based UI library
- CSS: For styling the components
- Axios: For handling HTTP requests
- React Router: For navigation between pages
- html2canvas & jsPDF: For PDF generation from the DOM
Backend:
- Node.js and Express: REST API server
- Postgres: SQL database for data storage
- JWT: For secure user sessions
- Nodemailer: For sending OTP emails
Installation:
To run this project locally, follow the steps below:
- Clone the repository:
- bash
git clone [email protected]:dipeshduwal/cv-application.git
cd cv-application
- Install dependencies: Run the following command to install all necessary dependencies:
- bash
npm install
- Start the development server: To start the application in development mode, run:
- bash
Frontend:npm run client
Backend:npm run server
- Open the application: Open your browser and view the app.