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.
- 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
- 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
- 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
- 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
- Secure Login/Signup: JWT-based authentication with cookie storage
- User Profiles: Personalized dashboard for each user
- Session Management: Persistent login sessions
- 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
- 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
- Google Gemini 2.0 Flash - AI content generation and analysis
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
- Node.js (v16 or higher)
- npm or yarn
- MongoDB database
- Google AI API key (for Gemini integration)
-
Clone the repository
git clone https://github.com/swayam03275/AI-Resume.git cd AI-Resume -
Backend Setup
cd backend npm install # Copy environment template and fill in your values cp .env.example .env
-
Configure Backend Environment Edit
backend/.envwith your values:PORT=8000 MONGO_URL=mongodb+srv://<username>:<password>@<cluster>/<db>?retryWrites=true&w=majority JWT_SECRET=your-super-secret-jwt-key-here
-
Frontend Setup
cd ../frontend/resume npm install # Copy frontend environment template and fill in your values cp .env.example .env
-
Configure Frontend Environment Edit
frontend/resume/.envwith your Google AI API key:VITE_GEMINI_API_KEY=your-google-gemini-api-key-here
-
Start Backend Server
cd backend npm run dev # Development mode with nodemon # or npm start # Production mode
-
Start Frontend Development Server
cd frontend/resume npm run dev -
Access the Application
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/profile- Get user profilePOST /api/auth/upload-image- Upload profile image
GET /api/resume- Get all user resumesPOST /api/resume- Create new resumeGET /api/resume/:id- Get resume by IDPUT /api/resume/:id- Update resumeDELETE /api/resume/:id- Delete resumePUT /api/resume/:id/upload-images- Upload resume images
-
Sign Up/Login: Create an account or login to existing account
-
Dashboard: Access your dashboard to view existing resumes
-
Create New: Click "Add New Resume" to start building
-
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
-
Customize: Choose templates and color schemes
-
AI Review: Get ATS score and improvement suggestions
-
Download: Export as PDF when satisfied
- 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
- JWT-based authentication with httpOnly cookies
- Password hashing with bcryptjs
- CORS protection
- Input validation and sanitization
- Secure file upload handling
# Backend (.env)
NODE_ENV=production
PORT=8000
MONGO_URL=your-production-mongodb-url
JWT_SECRET=your-production-jwt-secret- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
- Google Gemini AI for AI-powered content generation
- React for the frontend framework
- Express.js for the backend framework
- MongoDB for database services
- TailwindCSS for styling
Swayam - @swayam03275
Project Link: https://github.com/swayam03275/AI-Resume
Built with β€οΈ for helping people land their dream jobs!