Skip to content

Sarthak-Developer-Coder/ATS_RESUME_BUILDER

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ ATS Resume Builder (AI Powered)

Create ATS-optimized, job‑tailored resumes with AI assistance. Upload your PDF, analyze against any JD, weave missing keywords, polish language, and download a clean PDF. Built with React + Node + MongoDB + Gemini AI.


✨ Highlights

  • AI‑powered ATS analysis with actionable fixes
  • One‑click β€œBoost My Resume” (Tailor β†’ Weave Keywords β†’ Polish)
  • Professional templates with live preview and PDF export
  • Public resume link with daily view analytics
  • Admin dashboard and feedback collection

πŸ“¦ Quickstart (Local)

Clone and run locally in minutes.

# 1) Clone
git clone https://github.com/Sarthak-Developer-Coder/ATS_RESUME_BUILDER.git
cd ATS_RESUME_BUILDER

# 2) Backend
cd backend
npm install
# copy your env
# Windows PowerShell
copy .env.example .env   # fill MONGODB_URI, JWT_SECRET, GEMINI_API_KEY, EMAIL_*, FRONTEND_URL
npm start                 # http://localhost:8001

# 3) Frontend (new terminal)
cd ../frontend
npm install
# Windows PowerShell
copy .env.example .env   # set REACT_APP_API_URL=http://localhost:8001
npm start                 # http://localhost:3001

Health & docs:


πŸ” Admin Access

  • Admin panel route: /admin/login
  • To create admin user locally:
cd backend
npm run create-admin

Default (example) creds used in docs: admin@resumebuilder.com / admin123 (change in .env).


πŸ’‘ Why This Project?

Most resumes miss ATS filters or lack role‑specific alignment. This tool fixes both: clear builder UX + AI that tailors content to each job.


🎯 Key Features

  • πŸ” Auth: Email/password (Firebase optional)
  • πŸ§‘β€πŸŽ“ Smart Builder: Stepper UI, manual reorder + AI reorder suggestions
  • 🧠 AI Suite:
    • Generate / Polish / Translate Summary
    • ATS Analyze vs JD (scores, suggestions)
    • Keyword Gap + Weave Keywords into bullets responsibly
    • Readability Insights (Flesch score, passive voice, long sentences)
    • Tailor to JD (skill prioritization, summary rewrite)
    • Cover Letter Generator
  • πŸ“„ Clean, ATS‑safe PDF export
  • πŸ“₯ Resume Upload & parsing (PDF)
  • πŸ”— Public Share with daily view analytics
  • πŸ’¬ Feedback widget (General, Bug, Feature, Help)
  • πŸ‘¨β€πŸ’Ό Admin Dashboard (users, resumes, feedback, analytics)
  • πŸ”‘ Forgot/Reset Password via email
  • 🌐 Responsive Material UI

🧰 Tech Stack

Layer Technology
Frontend React (CRA), Material UI, Firebase (optional)
AI Engine Google Generative AI (Gemini)
Backend Node.js, Express.js, MongoDB, JWT
PDF Export html-pdf-node, pdf-parse
Feedback EmailJS + Nodemailer
Admin JWT Auth, Role-based Access

πŸ“ Project Structure

ats-resume-builder/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ controllers/  # API Logic (Resume, Auth, AI, Admin)
β”‚   β”œβ”€β”€ models/       # Mongoose Schemas
β”‚   β”œβ”€β”€ routes/       # Express Routes
β”‚   β”œβ”€β”€ middleware/   # Auth, Error Handling
β”‚   β”œβ”€β”€ scripts/      # Admin Creation Script
β”‚   └── utils/        # PDF Parser, Helpers
└── frontend/
    β”œβ”€β”€ public/       # Static Files
    └── src/
        β”œβ”€β”€ components/
        β”œβ”€β”€ pages/
        β”œβ”€β”€ contexts/
        β”œβ”€β”€ firebase/
        └── helper/

βš™οΈ Installation

1️⃣ Clone the Repository

git clone https://github.com/Sarthak-Developer-Coder/ATS_RESUME_BUILDER.git
cd ATS_RESUME_BUILDER

2️⃣ Install Dependencies

Backend

cd backend
npm install

Frontend

cd ../frontend
npm install

3️⃣ Environment Setup

Backend (.env)

PORT=8001
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
GEMINI_API_KEY=your_gemini_api_key
FIREBASE_PROJECT_ID=your_firebase_project_id
FIREBASE_CLIENT_EMAIL=your_firebase_client_email
FIREBASE_PRIVATE_KEY=your_firebase_private_key
EMAIL_USER=your_gmail_address
EMAIL_PASS=your_gmail_app_password
FRONTEND_URL=http://localhost:3001

Helpful: the Firebase Admin private key is multiline. To safely place it in backend/.env as a single-line escaped string, use the helper script:

# from repo root
node backend/scripts/encode-firebase-key.js C:\path\to\service-account.json
# copy the printed FIREBASE_PRIVATE_KEY=... line and paste into backend/.env

Frontend (.env)

PORT=3001
REACT_APP_FIREBASE_API_KEY=your_firebase_api_key
REACT_APP_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
REACT_APP_FIREBASE_PROJECT_ID=your_firebase_project_id
REACT_APP_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
REACT_APP_FIREBASE_APP_ID=your_firebase_app_id
REACT_APP_FIREBASE_MEASUREMENT_ID=your_measurement_id
REACT_APP_API_URL=http://localhost:8001

4️⃣ Create Admin User

cd backend
npm run create-admin

πŸ’» Run the App

You can run the frontend and backend together or separately.

Backend

cd backend
npm start

Frontend

cd frontend
npm start

Then open http://localhost:3001


🌐 Deploy

  • Backend: Render web service (root backend/). Use env vars from backend/.env.example.
  • Frontend: Vercel project (root frontend/). Set REACT_APP_API_URL to your Render URL.

πŸ”§ Fixed Issues (Examples)

βœ… Admin Credentials

  • Email: admin@resumebuilder.com
  • Password: admin123
  • Added script to create admin user: npm run create-admin

βœ… Forgot Password Functionality

  • Fixed email sending with proper HTML templates
  • Added fallback for development (logs reset URL)
  • Improved error handling and user feedback
  • Added proper token validation and expiration

βœ… Resume Download PDF Formatting

  • Fixed PDF generation to match preview exactly
  • Improved responsive design for different content lengths
  • Added dynamic font sizing based on content volume
  • Enhanced spacing and layout consistency
  • Fixed template rendering issues

πŸ“Œ Use Cases

  • πŸ§‘β€πŸŽ“ Freshers: Quickly generate a professional resume with AI help.
  • πŸ’Ό Working Professionals: Score resumes against job descriptions to increase chances.
  • πŸ“ Resume Review Services: Extract content, improve, and export with ease.
  • πŸ“€ Job Portals: Integrate AI scoring as an enhancement.
  • πŸ‘¨β€πŸ’Ό HR Teams: Admin dashboard for user management and analytics.

πŸ”‘ Email Configuration

For forgot password functionality, configure these environment variables:

EMAIL_USER=your_gmail_address
EMAIL_PASS=your_gmail_app_password

To get a Gmail App Password:

  1. Enable 2‑Factor Authentication on your Gmail account
  2. Google Account Settings β†’ Security β†’ App Passwords
  3. Generate a new app password for "Mail"
  4. Use this password in EMAIL_PASS

πŸ–ΌοΈ Screenshots

Place your images in docs/screenshots/ with the names below (or adjust paths in this README).

Login Profile Dashboard
Login Profile Dashboard
Upload Resume ATS Score – Input ATS Score – Results
Upload JD Input Results
AI Recommendations & Keywords Template Select Summary (AI)
Recommendations Templates Summary
Resume Preview Feedback
Preview Feedback

πŸ‘¨β€πŸ’» Author

Made with ❀️ by Sarthak Nag
πŸ“§ sarthakthesde@gmail.com
πŸ”— LinkedIn

Made with ❀️ by Prerit Nag
πŸ“§ preritnag4@gmail.com
πŸ”— LinkedIn

πŸ“ƒ License

MIT License

About

AI-powered ATS resume builder that analyzes your resume against any job description, highlights keyword gaps, and weaves missing skills. Tailor summaries, improve readability, and generate cover letters. Live preview, pro templates, ATS-safe PDF export, public share links, and analytics. React, Node, Mongo, Gemini AI. Admin dashboard and feedback.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages