ResumeGenie is a Node.js and Express backend server that leverages Google's Gemini AI to automate the creation and customization of professional CVs. It processes uploaded CVs and job descriptions to generate tailored documents in PDF format, streamlining the job application process.
- PDF Parsing: Extract text from uploaded CV PDFs using
pdf-parse. - AI-Powered Generation: Create customized CVs with Google's Gemini AI.
- HTML to PDF Conversion: Convert generated HTML content into downloadable PDFs using Puppeteer.
- File Handling: Manage file uploads securely with Multer.
- API Endpoints: Provide RESTful APIs for frontend integration.
- Node.js
- Express
- Multer
- pdf-parse
- Puppeteer
- Google Generative AI (Gemini)
- dotenv
-
Clone the Repository
git clone https://github.com/tsyrulb/ResumeGenie.git cd ResumeGenie -
Install Dependencies
npm install
-
Configure Environment Variables
Create a
.envfile in the root directory:touch .env
Add the following to
.env:PORT=5000 GOOGLE_API_KEY=your_google_api_key_here
Note: Replace
your_google_api_key_herewith your actual Google API key. Ensure.envis added to.gitignoreto keep it secure.
-
Start the Server
node app.js
The server will run on http://localhost:5000.
-
API Endpoints
-
Generate Advanced CV
-
Endpoint:
/api/cv/generate-advanced -
Method:
POST -
Description: Generates an advanced CV in PDF format based on raw text input.
-
Request Body:
{ "fullText": "Your CV text here..." } -
Response: Downloads
AI_CV.pdf.
-
-
Generate Updated CV
-
Endpoint:
/api/cv/generate -
Method:
POST -
Description: Generates an updated CV text based on an uploaded PDF and job description.
-
Request:
- Content-Type:
multipart/form-data - Form Data:
file: PDF file of the existing CV.jobDescription: Text describing the job role.
- Content-Type:
-
Response:
{ "updatedCV": "Your updated CV text here..." }
-
-
Generate PDF from Text
-
Endpoint:
/api/cv/generate-pdf -
Method:
POST -
Description: Converts provided text into a PDF file.
-
Request Body:
{ "finalCV": "Your final CV text here..." } -
Response: Downloads
UpdatedCV-<timestamp>.pdf.
-
-
This project is licensed under the MIT License.
