Skip to content

amaan-ur-raheman/resumegen-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ResumeGen AI πŸš€

ResumeGen AI Banner

πŸ€– AI-Powered Professional Resume Builder

Create stunning, ATS-friendly resumes in minutes with intelligent AI assistance

TypeScript React Node.js MongoDB OpenAI

✨ Features

🎯 Smart Resume Building

  • AI-Powered Content Enhancement - Intelligent suggestions for professional summaries, job descriptions, and project details
  • Real-time Preview - See your resume as you build it with live updates
  • Multiple Templates - Professional, modern designs optimized for ATS systems
  • Custom Accent Colors - Personalize your resume with brand colors

πŸ” User Management

  • Secure Authentication - JWT-based login and registration system
  • Personal Dashboard - Manage all your resumes in one place
  • Resume Privacy Controls - Make resumes public or private
  • Profile Management - Update personal information and preferences

πŸ€– AI Integration

  • Professional Summary Enhancement - AI-powered optimization of career summaries
  • Job Description Improvement - Enhance work experience descriptions with industry keywords
  • Project Description Refinement - Polish project details for maximum impact
  • Resume Parsing - Upload existing resumes and extract structured data

πŸ“± Modern User Experience

  • Responsive Design - Works perfectly on desktop, tablet, and mobile
  • Intuitive Interface - Clean, user-friendly design with smooth interactions
  • Real-time Feedback - Toast notifications and loading states for better UX
  • Print-Ready Output - Generate PDF-ready resumes for download and sharing

πŸ–ΌοΈ Screenshots

Landing Page

Landing Page

Authentication

Login Page Sign Up Page

Dashboard

Dashboard

Resume Builder

Resume Builder

Preview & Export

Preview Page

πŸ› οΈ Tech Stack

Frontend

  • React 19 - Modern React with latest features
  • TypeScript - Type-safe development
  • Tailwind CSS 4 - Utility-first styling
  • Redux Toolkit - State management
  • React Router - Client-side routing
  • Lucide React - Beautiful icons
  • React Hot Toast - Elegant notifications
  • Axios - HTTP client

Backend

  • Node.js - JavaScript runtime
  • Express.js - Web framework
  • TypeScript - Type-safe server development
  • MongoDB - NoSQL database
  • Mongoose - MongoDB object modeling
  • JWT - Authentication tokens
  • bcrypt - Password hashing
  • Multer - File upload handling
  • ImageKit - Image processing and CDN

AI & External Services

  • OpenAI API - GPT-powered content enhancement
  • ImageKit - Image optimization and storage
  • CORS - Cross-origin resource sharing

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • MongoDB (local or cloud instance)
  • OpenAI API key
  • ImageKit account (for image handling)

Installation

  1. Clone the repository

    git clone https://github.com/amaan-ur-raheman/resumegen-ai.git
    cd resumegen-ai
  2. Install dependencies

    # Install server dependencies
    cd server
    npm install
    
    # Install client dependencies
    cd ../client
    npm install
  3. Environment Setup

    Server (.env)

    PORT=3000
    MONGODB_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret_key
    OPENAI_API_KEY=your_openai_api_key
    OPENAI_MODEL=gpt-3.5-turbo
    IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key
    IMAGEKIT_PRIVATE_KEY=your_imagekit_private_key
    IMAGEKIT_URL_ENDPOINT=your_imagekit_url_endpoint

    Client (.env)

    VITE_API_URL=http://localhost:3000
  4. Start the development servers

    # Start server (from server directory)
    npm run server
    
    # Start client (from client directory)
    npm run dev
  5. Access the application

    • Frontend: http://localhost:5173
    • Backend: http://localhost:3000

πŸ“ Project Structure

resumegen-ai/
β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/          # Page components
β”‚   β”‚   β”œβ”€β”€ app/            # Redux store configuration
β”‚   β”‚   β”œβ”€β”€ configs/        # API and configuration files
β”‚   β”‚   β”œβ”€β”€ types/          # TypeScript type definitions
β”‚   β”‚   └── assets/         # Static assets
β”‚   └── public/             # Public assets
β”œβ”€β”€ server/                 # Node.js backend
β”‚   β”œβ”€β”€ controllers/        # Route controllers
β”‚   β”œβ”€β”€ models/             # MongoDB models
β”‚   β”œβ”€β”€ routes/             # API routes
β”‚   β”œβ”€β”€ middleware/         # Custom middleware
β”‚   β”œβ”€β”€ configs/            # Database and service configs
β”‚   β”œβ”€β”€ constants/          # AI prompts and constants
β”‚   └── types/              # TypeScript type definitions
└── public/                 # Screenshots and assets

πŸ”§ API Endpoints

Authentication

  • POST /api/users/register - User registration
  • POST /api/users/login - User login
  • GET /api/users/data - Get user data
  • GET /api/users/resumes - Get user resumes

Resume Management

  • POST /api/resumes/create - Create new resume
  • PUT /api/resumes/update - Update resume
  • DELETE /api/resumes/delete/:resumeId - Delete resume
  • GET /api/resumes/get/:resumeId - Get specific resume
  • GET /api/resumes/public/:resumeId - Get public resume

AI Enhancement

  • POST /api/ai/enhance-pro-sum - Enhance professional summary
  • POST /api/ai/enhance-job-desc - Enhance job descriptions
  • POST /api/ai/enhance-project-desc - Enhance project descriptions
  • POST /api/ai/upload-resume - Parse and extract resume data

πŸ“„ Documentation

The codebase is fully documented with JSDoc/TSDoc. Refer to individual files for detailed code-level documentation.

🎨 Features in Detail

AI-Powered Content Enhancement

The application leverages OpenAI's GPT models to intelligently enhance resume content:

  • Professional Summary: Transforms basic career information into compelling professional summaries
  • Job Descriptions: Enhances work experience with industry-relevant keywords and quantifiable achievements
  • Project Descriptions: Refines project details to highlight technical skills and impact

Resume Builder Interface

  • Multi-step Form: Organized sections for personal info, experience, education, projects, and skills
  • Real-time Preview: Live preview updates as you edit content
  • Template Selection: Choose from 4 professional templates (Classic, Modern, Minimal, Minimal with Image)
  • Custom Accent Colors: Personalize your resume with brand colors
  • Image Upload: Profile picture support with background removal options

User Dashboard

  • Resume Management: Create, edit, delete, and organize multiple resumes
  • Privacy Controls: Toggle resume visibility between public and private
  • Quick Actions: Duplicate, share, and export resumes with one click

🀝 Contributing

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

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • OpenAI for providing powerful AI capabilities
  • ImageKit for image processing and CDN services
  • The open-source community for amazing tools and libraries

Built with ❀️ by Amaan Ur Raheman

⭐ Star this repo if you found it helpful!

About

AI-powered resume builder with intelligent content enhancement. Create professional, ATS-friendly resumes using React, Node.js, MongoDB, and OpenAI API. Features real-time preview, multiple templates, and smart content suggestions.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages