Skip to content

elyse502/resume-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

86 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“œ RESUME BUILDER PRO πŸš€

AI-Powered Professional Resume Builder with Real-time Optimization

Last Commit Languages License Version

Built with cutting-edge technologies and AI integration:

React Redux Express MongoDB OpenAI ImageKit Tailwind CSS

LIVE - DEMO 🌐

Visit the πŸ‘‰ LINK πŸ”—

User Interface Dashboard
UI Home

Table of Contents


🌟 Project Overview

RESUME BUILDER PRO is a sophisticated, AI-powered web application designed to revolutionize resume creation. This full-stack MERN application combines modern web technologies with artificial intelligence to provide:

  • 🎨 Professional Templates: Multiple ATS-friendly resume designs
  • πŸ€– AI Optimization: Intelligent content enhancement using OpenAI
  • πŸ“± Real-time Preview: Live editing and instant preview
  • πŸ”— Shareable Links: Public resume URLs for easy sharing
  • πŸ–ΌοΈ Smart Image Handling: Background removal and optimization
  • πŸ’Ύ Cloud Storage: Secure resume management and version control

Perfect for job seekers, career changers, and professionals looking to create standout resumes that pass through Applicant Tracking Systems (ATS) while impressing hiring managers.


🎯 Key Features

πŸ” User Authentication & Management

  • Secure Sign Up/Login: JWT-based authentication system
  • Profile Management: Personal account dashboard
  • Session Persistence: Secure token-based sessions
  • Role-based Access: Future-ready for admin features

πŸ“ Smart Resume Creation

  • Multi-section Forms: Personal info, experience, education, skills, projects
  • Real-time Validation: Form validation with user-friendly feedback
  • Auto-save Functionality: Never lose your progress
  • Import Existing Resume: PDF parsing and content extraction

🎨 Professional Templates

  • Modern Template: Clean, contemporary design for tech roles
  • Classic Template: Traditional layout for corporate positions
  • Minimal Template: Streamlined design for creative roles
  • Minimal Image Template: Professional with profile photo integration
  • Customizable Colors: Dynamic color scheme personalization

πŸ€– AI-Powered Enhancement

  • Content Optimization: AI suggestions for impactful bullet points
  • Skill Matching: Intelligent skill recommendations based on experience
  • ATS Optimization: Keyword optimization for applicant tracking systems
  • Grammar & Tone: Professional language enhancement

πŸ–ΌοΈ Advanced Media Handling

  • Profile Photo Upload: Professional image integration
  • Background Removal: Automatic background removal for profile photos
  • Image Optimization: CDN delivery with ImageKit
  • File Format Support: Multiple image format compatibility

πŸ”— Sharing & Export

  • Live Preview: Real-time resume rendering
  • Shareable Links: Public URLs for easy distribution
  • PDF Export: High-quality PDF generation (planned)
  • Multi-Device Access: Responsive design for all screens

πŸ’Ύ Resume Management

  • Multiple Resumes: Create and manage multiple resume versions
  • Version Control: Track changes and revisions
  • Quick Editing: Easy modification of existing resumes
  • Bulk Operations: Efficient resume management

πŸ›  Tech Stack

Frontend (Client)

  • React 19 - Latest React with concurrent features and hooks
  • Redux Toolkit - Predictable state container for JavaScript apps
  • React Router DOM - Declarative routing for React
  • Tailwind CSS - Utility-first CSS framework for rapid UI development
  • Lucide React - Beautiful & consistent icons
  • Axios - Promise-based HTTP client for API calls
  • React Hot Toast - Elegant notifications
  • React PDF-to-text - PDF parsing capabilities

Backend (Server)

  • Node.js - JavaScript runtime built on Chrome's V8 engine
  • Express.js - Fast, unopinionated web framework for Node.js
  • MongoDB - NoSQL database for flexible data storage
  • Mongoose - Elegant MongoDB object modeling for Node.js
  • JWT - JSON Web Tokens for secure authentication
  • Bcrypt - Library for hashing passwords
  • Multer - Middleware for handling multipart/form-data
  • CORS - Cross-Origin Resource Sharing enabled

AI & Media Services

  • OpenAI API - Advanced AI for resume optimization and content generation
  • ImageKit - Image optimization, transformation, and CDN delivery
  • Custom AI Integration - Specialized resume enhancement algorithms

Development Tools

  • Vite - Next-generation frontend tooling
  • Nodemon - Automatic server restart during development
  • ESLint - Pluggable linting utility for JavaScript

πŸ— Architecture

resume-builder/
β”œβ”€β”€ client/                 # React Frontend Application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app/           # Redux store configuration
β”‚   β”‚   β”œβ”€β”€ features/      # Redux slices and state management
β”‚   β”‚   β”‚   β”œβ”€β”€ authSlice.js    # Authentication state
β”‚   β”‚   β”‚   └── store.js        # Redux store setup
β”‚   β”‚   β”œβ”€β”€ assets/        # Static assets (images, icons)
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ templates/      # Resume template components
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ClassicTemplate.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MinimalImageTemplate.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MinimalTemplate.jsx
β”‚   β”‚   β”‚   β”‚   └── ModernTemplate.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ forms/          # Form components
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ColorPicker.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ EducationForm.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ExperienceForm.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PersonalInfoForm.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ProfessionalSummaryForm.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ProjectForm.jsx
β”‚   β”‚   β”‚   β”‚   └── SkillsForm.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ui/             # General UI components
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Loader.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Navbar.jsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ResumePreview.jsx
β”‚   β”‚   β”‚   β”‚   └── TemplatesSelector.jsx
β”‚   β”‚   β”‚   └── home/           # Home page components
β”‚   β”‚   β”œβ”€β”€ configs/       # Configuration files
β”‚   β”‚   β”‚   └── api.js          # API configuration and endpoints
β”‚   β”‚   β”œβ”€β”€ pages/         # Route components
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx        # User dashboard
β”‚   β”‚   β”‚   β”œβ”€β”€ Home.jsx            # Landing page
β”‚   β”‚   β”‚   β”œβ”€β”€ Layout.jsx          # App layout
β”‚   β”‚   β”‚   β”œβ”€β”€ Login.jsx           # Authentication
β”‚   β”‚   β”‚   β”œβ”€β”€ Preview.jsx         # Resume preview
β”‚   β”‚   β”‚   └── ResumeBuilder.jsx   # Main builder interface
β”‚   β”‚   β”œβ”€β”€ App.jsx        # Root application component
β”‚   β”‚   β”œβ”€β”€ index.css      # Global styles
β”‚   β”‚   └── main.jsx       # Application entry point
β”‚   └── package.json       # Dependencies and scripts
β”‚
β”œβ”€β”€ server/                # Express Backend Application
β”‚   β”œβ”€β”€ configs/          # Configuration modules
β”‚   β”‚   β”œβ”€β”€ ai.js              # AI service configuration
β”‚   β”‚   β”œβ”€β”€ db.js              # Database connection setup
β”‚   β”‚   β”œβ”€β”€ imageKit.js        # ImageKit integration
β”‚   β”‚   └── multer.js          # File upload configuration
β”‚   β”œβ”€β”€ controllers/      # Business logic handlers
β”‚   β”‚   β”œβ”€β”€ aiController.js         # AI resume optimization
β”‚   β”‚   β”œβ”€β”€ resumeController.js     # Resume CRUD operations
β”‚   β”‚   └── userController.js       # User authentication & management
β”‚   β”œβ”€β”€ middlewares/      # Custom middleware functions
β”‚   β”‚   └── authMiddleware.js       # JWT authentication
β”‚   β”œβ”€β”€ models/          # Database schemas and models
β”‚   β”‚   β”œβ”€β”€ Resume.js             # Resume data structure
β”‚   β”‚   └── User.js               # User data structure
β”‚   β”œβ”€β”€ routes/          # API route definitions
β”‚   β”‚   β”œβ”€β”€ aiRoutes.js           # AI enhancement endpoints
β”‚   β”‚   β”œβ”€β”€ resumeRoutes.js       # Resume management endpoints
β”‚   β”‚   └── userRoutes.js         # User authentication endpoints
β”‚   β”œβ”€β”€ package.json     # Server dependencies
β”‚   └── server.js        # Server entry point
└── README.md            # Project documentation

⚑ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm (v8 or higher)
  • MongoDB Atlas account or local MongoDB instance
  • OpenAI API account
  • ImageKit account

Installation

  1. Clone the repository:
git clone https://github.com/elyse502/resume-builder.git
cd resume-builder
  1. Install client dependencies:
cd client && npm install
  1. Install server dependencies:
cd ../server && npm install

Environment Setup

Client Environment (.env):

VITE_API_BASE_URL=http://localhost:3000
VITE_IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key
VITE_IMAGEKIT_URL_ENDPOINT=your_imagekit_url_endpoint

Server Environment (.env):

MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
OPENAI_API_KEY=your_openai_api_key
IMAGEKIT_PRIVATE_KEY=your_imagekit_private_key
PORT=5000
  1. Start the development servers:

Terminal 1 - Backend Server:

cd server && npm run server

Terminal 2 - Frontend Development:

cd client && npm run dev
  1. Access the application:
  • Frontend: http://localhost:5173
  • Backend API: http://localhost:3000

πŸ€– AI Capabilities

Intelligent Resume Optimization

  • Content Enhancement: AI-powered rewriting of bullet points for impact
  • Skill Extraction: Automatic identification and categorization of skills
  • Experience Optimization: Transform responsibilities into achievements
  • ATS Keyword Integration: Strategic placement of industry-specific keywords

Smart Suggestions

  • Action Verb Recommendations: Powerful verbs to start bullet points
  • Quantifiable Metrics: Suggestions for adding numbers and metrics
  • Industry Terminology: Relevant terminology for specific roles
  • Formatting Advice: Optimal structure and layout recommendations

Background Processing

  • PDF Analysis: Extract and structure content from existing resumes
  • Image Processing: Automatic background removal and optimization
  • Content Validation: Grammar, spelling, and style checking

πŸ“Š Resume Templates

🎯 Modern Template

  • Best For: Tech roles, startups, creative positions
  • Features: Clean lines, modern typography, skill-focused layout
  • ATS Compatibility: High

πŸ›οΈ Classic Template

  • Best For: Corporate roles, finance, traditional industries
  • Features: Professional layout, chronological experience emphasis
  • ATS Compatibility: Excellent

✨ Minimal Template

  • Best For: Design roles, academic positions, executive levels
  • Features: Elegant simplicity, maximum content focus
  • ATS Compatibility: High

πŸ“Έ Minimal Image Template

  • Best For: Sales, marketing, client-facing roles
  • Features: Professional photo integration, balanced layout
  • ATS Compatibility: Good

πŸ”— API Endpoints

Authentication Routes (/api/auth)

Method Endpoint Description Authentication
POST /register User registration None
POST /login User login None
GET /profile Get user profile Required
PUT /profile Update user profile Required

Resume Routes (/api/resumes)

Method Endpoint Description Authentication
GET / Get user's resumes Required
POST / Create new resume Required
GET /:id Get specific resume Required
PUT /:id Update resume Required
DELETE /:id Delete resume Required
GET /share/:id Get public resume None
POST /upload-image Upload profile image Required

AI Routes (/api/ai)

Method Endpoint Description Authentication
POST /optimize Optimize resume content Required
POST /suggest-skills Get skill suggestions Required
POST /analyze-pdf Analyze uploaded PDF Required
POST /remove-background Remove image background Required

πŸš€ Deployment

Frontend Deployment (Vercel)

Deploy with Vercel

Backend Deployment (Render/Railway)

  1. Connect your GitHub repository
  2. Set environment variables
  3. Deploy automatically on git push

Database (MongoDB Atlas)

  • Create a free cluster at MongoDB Atlas
  • Get connection string and update environment variables

Production Environment Variables

# Client
VITE_API_BASE_URL=https://your-backend-url.com
VITE_IMAGEKIT_PUBLIC_KEY=prod_public_key
VITE_IMAGEKIT_URL_ENDPOINT=prod_endpoint

# Server
MONGODB_URI=prod_mongodb_connection_string
JWT_SECRET=prod_jwt_secret
OPENAI_API_KEY=prod_openai_key
IMAGEKIT_PRIVATE_KEY=prod_private_key
NODE_ENV=production

πŸ“ˆ Performance Metrics

  • ⚑ Lighthouse Score: 95+
  • πŸš€ First Contentful Paint: < 1.5s
  • πŸ“± Mobile Responsive: 100% compatible
  • πŸ”’ Security: JWT auth + input validation
  • πŸ’Ύ Database: Optimized MongoDB queries
  • πŸ–ΌοΈ Images: CDN optimized with ImageKit

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Development Process

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

Areas for Contribution

  • New resume templates
  • Additional AI features
  • Performance optimizations
  • Bug fixes and documentation
  • Internationalization support

Code Standards

  • Follow React best practices
  • Use meaningful commit messages
  • Write comprehensive tests
  • Update documentation accordingly

πŸ“„ License

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


Support

For support, email elyseniyibizi502@gmail.com or create an issue in the GitHub repository.


πŸ“ž Contact

For any questions or support, please contact:

LinkedIn @phenrysay pH-7


RESUME BUILDER PRO - Your career success starts with a standout resume! πŸš€

Built with passion and cutting-edge technology to help job seekers worldwide.

⬆ Back to Top