Skip to content

An AI-powered Resume Builder and Analyzer built using the MERN stack. It lets users create, edit, and analyze resumes with real-time AI feedback. The app scores resumes, suggests keyword improvements for ATS compatibility, and allows secure storage, download, and personalization for job-specific roles.

Notifications You must be signed in to change notification settings

swayam03275/AI-Resume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Resume Builder πŸš€

A modern, AI-powered resume builder application that helps users create professional resumes with multiple templates, AI-assisted content generation, and real-time ATS scoring.

🌟 Features

πŸ€– AI-Powered Assistance

  • Smart Content Generation: AI-powered suggestions for profile summaries, work experience descriptions, and project details
  • ATS Score Analysis: Real-time analysis of resume compatibility with Applicant Tracking Systems
  • Professional Feedback: Get improvement suggestions and recommendations

πŸ“ Resume Builder

  • Multiple Templates: 3 professional resume templates with customizable color palettes
  • Step-by-Step Builder: Guided multi-step form for easy resume creation
  • Real-Time Preview: Live preview of your resume as you build it
  • Form Validation: Comprehensive validation to ensure completeness

🎨 Customization

  • Theme Selector: Choose from multiple color palettes for each template
  • Profile Photo Support: Upload and manage profile pictures
  • Responsive Design: Works seamlessly on desktop and mobile devices

πŸ“„ Export & Management

  • PDF Download: One-click PDF export with print optimization
  • Resume Management: Save, edit, and manage multiple resumes
  • Cloud Storage: All data securely stored in the cloud

πŸ” User Authentication

  • Secure Login/Signup: JWT-based authentication with cookie storage
  • User Profiles: Personalized dashboard for each user
  • Session Management: Persistent login sessions

πŸ› οΈ Tech Stack

Frontend

  • React 19 - Modern React with latest features
  • Vite - Fast build tool and development server
  • TailwindCSS 4 - Utility-first CSS framework
  • React Router - Client-side routing
  • Axios - HTTP client for API calls
  • React Hot Toast - Toast notifications
  • React Icons - Icon library
  • Moment.js - Date formatting
  • HTML2Canvas & jsPDF - PDF generation
  • React-to-Print - Print functionality
  • Framer Motion - Animations

Backend

  • Node.js - JavaScript runtime
  • Express.js - Web framework
  • MongoDB - NoSQL database
  • Mongoose - MongoDB object modeling
  • JWT - JSON Web Tokens for authentication
  • bcryptjs - Password hashing
  • Multer - File upload handling
  • CORS - Cross-origin resource sharing
  • Cookie Parser - Cookie handling
  • dotenv - Environment variable management

AI Integration

  • Google Gemini 2.0 Flash - AI content generation and analysis

πŸ“ Project Structure

AI-Resume/
β”œβ”€β”€ backend/                     # Express.js backend
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   └── db.js               # Database connection
β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ authController.js   # Authentication logic
β”‚   β”‚   β”œβ”€β”€ resumeController.js # Resume CRUD operations
β”‚   β”‚   └── uploadResumeImages.js # Image upload handling
β”‚   β”œβ”€β”€ middlewares/
β”‚   β”‚   β”œβ”€β”€ authMiddleware.js   # JWT authentication
β”‚   β”‚   └── uploadMiddleware.js # Multer configuration
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ Resume.js          # Resume data model
β”‚   β”‚   └── User.js            # User data model
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ authRoutes.js      # Authentication routes
β”‚   β”‚   └── resumeRoutes.js    # Resume routes
β”‚   β”œβ”€β”€ uploads/               # File uploads directory
β”‚   β”œβ”€β”€ .env.example          # Environment variables template
β”‚   β”œβ”€β”€ package.json
β”‚   └── server.js             # Express server entry point
β”œβ”€β”€ frontend/resume/            # React frontend
β”‚   β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ AI/
β”‚   β”‚   β”‚   └── AI.js         # AI integration
β”‚   β”‚   β”œβ”€β”€ assets/           # Images and assets
β”‚   β”‚   β”œβ”€β”€ components/       # Reusable components
β”‚   β”‚   β”‚   β”œβ”€β”€ inputs/       # Form input components
β”‚   β”‚   β”‚   β”œβ”€β”€ cards/        # Card components
β”‚   β”‚   β”‚   β”œβ”€β”€ layouts/      # Layout components
β”‚   β”‚   β”‚   └── ResumeTemplates/ # Resume template components
β”‚   β”‚   β”œβ”€β”€ context/
β”‚   β”‚   β”‚   └── UserContext.jsx # User state management
β”‚   β”‚   β”œβ”€β”€ pages/            # Page components
β”‚   β”‚   β”‚   β”œβ”€β”€ Auth/         # Login/Signup pages
β”‚   β”‚   β”‚   β”œβ”€β”€ Home/         # Dashboard and home
β”‚   β”‚   β”‚   └── ResumeUpdate/ # Resume editing pages
β”‚   β”‚   β”œβ”€β”€ utils/            # Utility functions
β”‚   β”‚   β”œβ”€β”€ App.jsx          # Main App component
β”‚   β”‚   └── main.jsx         # React entry point
β”‚   β”œβ”€β”€ package.json
β”‚   └── vite.config.js       # Vite configuration
β”œβ”€β”€ .gitignore                # Git ignore file
└── README.md                # Project documentation

πŸš€ Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • MongoDB database
  • Google AI API key (for Gemini integration)

Installation

  1. Clone the repository

    git clone https://github.com/swayam03275/AI-Resume.git
    cd AI-Resume
  2. Backend Setup

    cd backend
    npm install
    
    # Copy environment template and fill in your values
    cp .env.example .env
  3. Configure Backend Environment Edit backend/.env with your values:

    PORT=8000
    MONGO_URL=mongodb+srv://<username>:<password>@<cluster>/<db>?retryWrites=true&w=majority
    JWT_SECRET=your-super-secret-jwt-key-here
  4. Frontend Setup

    cd ../frontend/resume
    npm install
    
    # Copy frontend environment template and fill in your values
    cp .env.example .env
  5. Configure Frontend Environment Edit frontend/resume/.env with your Google AI API key:

    VITE_GEMINI_API_KEY=your-google-gemini-api-key-here

Running the Application

  1. Start Backend Server

    cd backend
    npm run dev    # Development mode with nodemon
    # or
    npm start      # Production mode
  2. Start Frontend Development Server

    cd frontend/resume
    npm run dev
  3. Access the Application

πŸ”§ API Endpoints

Authentication

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login
  • GET /api/auth/profile - Get user profile
  • POST /api/auth/upload-image - Upload profile image

Resumes

  • GET /api/resume - Get all user resumes
  • POST /api/resume - Create new resume
  • GET /api/resume/:id - Get resume by ID
  • PUT /api/resume/:id - Update resume
  • DELETE /api/resume/:id - Delete resume
  • PUT /api/resume/:id/upload-images - Upload resume images

🎯 Usage Guide

Creating a Resume

  1. Sign Up/Login: Create an account or login to existing account

  2. Dashboard: Access your dashboard to view existing resumes

  3. Create New: Click "Add New Resume" to start building

  4. Step-by-Step Process:

    • Profile Info: Enter your name, designation, and summary (AI-assisted)
    • Contact Info: Add email, phone, address, and social links
    • Skills: List your professional and technical skills
    • Work Experience: Add work history with AI-generated descriptions
    • Education: Include educational background
    • Projects: Showcase your projects with GitHub/live links
    • Certifications: Add relevant certifications and awards
  5. Customize: Choose templates and color schemes

  6. AI Review: Get ATS score and improvement suggestions

  7. Download: Export as PDF when satisfied

AI Features

  • Smart Summaries: AI generates professional summaries based on your input
  • Work Descriptions: AI improves work experience descriptions
  • Project Details: AI enhances project descriptions
  • ATS Analysis: Real-time ATS scoring with improvement tips

πŸ”’ Security Features

  • JWT-based authentication with httpOnly cookies
  • Password hashing with bcryptjs
  • CORS protection
  • Input validation and sanitization
  • Secure file upload handling

Environment Variables for Production

# Backend (.env)
NODE_ENV=production
PORT=8000
MONGO_URL=your-production-mongodb-url
JWT_SECRET=your-production-jwt-secret

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License.

πŸ™ Acknowledgments

πŸ“ž Contact

Swayam - @swayam03275

Project Link: https://github.com/swayam03275/AI-Resume


Built with ❀️ for helping people land their dream jobs!

About

An AI-powered Resume Builder and Analyzer built using the MERN stack. It lets users create, edit, and analyze resumes with real-time AI feedback. The app scores resumes, suggests keyword improvements for ATS compatibility, and allows secure storage, download, and personalization for job-specific roles.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •