A modern, full-stack resume builder application that helps users create professional resumes with ease. Built with React.js frontend and Node.js backend.
- User Authentication - Secure login and registration system
- Resume Creation - Create multiple resumes with different templates
- Interactive Resume Editor - Real-time editing with live preview
- Multiple Templates - Choose from various professional resume templates
- Image Upload - Upload profile pictures and other images
- PDF Export - Export resumes as PDF files
- Dashboard - Manage all your resumes from a centralized dashboard
- Responsive Design - Works seamlessly on desktop and mobile devices
- Progress Tracking - See completion percentage for each resume section
- React.js - Modern UI library
- Vite - Fast build tool and development server
- React Router - Client-side routing
- Axios - HTTP client for API calls
- Tailwind CSS - Utility-first CSS framework
- React Hot Toast - Toast notifications
- Lucide React - Beautiful icons
- Moment.js - Date manipulation
- HTML2Canvas & jsPDF - PDF generation
- Framer Motion - Smooth animations
- Node.js - Runtime environment
- Express.js - Web application 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
- dotenv - Environment variable management
resume_builder/
├── frontend/ # React.js frontend application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── context/ # React context for state management
│ │ ├── utils/ # Helper functions and utilities
│ │ └── assets/ # Static assets and styles
│ ├── public/ # Public assets
│ └── package.json # Frontend dependencies
├── backend/ # Node.js backend API
│ ├── controllers/ # Request handlers
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ ├── middleware/ # Custom middleware
│ ├── config/ # Configuration files
│ └── package.json # Backend dependencies
└── README.md # Project documentation
- Node.js (v14 or higher)
- npm or yarn
- MongoDB (local installation or MongoDB Atlas)
-
Clone the repository
git clone https://github.com/prkr-28/ResumeXpert.git cd ResumeXpert -
Setup Backend
cd backend npm installCreate a
.envfile in the backend directory:PORT=4000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key
-
Setup Frontend
cd frontend npm install
-
Start the Backend Server
cd backend npm startThe backend server will run on
http://localhost:4000 -
Start the Frontend Development Server
cd frontend npm run devThe frontend will run on
http://localhost:5173orhttp://localhost:5174 -
Access the Application Open your browser and navigate to the frontend URL
- View all created resumes
- Create new resumes
- Delete existing resumes
- Track completion progress for each resume
- See recent activity and resume statistics
- Profile Information - Full name, designation, summary
- Contact Details - Email, phone, address
- Work Experience - Company, role, duration, description
- Education - Degree, institution, dates
- Skills - Categorized skill sets
- Projects - Project details with technologies and links
- Certifications - Professional certifications
- Languages - Language proficiency levels
- Interests - Personal interests and hobbies
- Multiple professional resume templates
- Real-time preview while editing
- Responsive design for different screen sizes
The application includes a complete authentication system:
- User registration with email verification
- Secure login with JWT tokens
- Password hashing using bcrypt
- Protected routes for authenticated users
- User profile management
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/profile- Get user profile
GET /api/resume- Get all user resumesPOST /api/resume- Create new resumeGET /api/resume/:id- Get specific resumePUT /api/resume/:id- Update resumeDELETE /api/resume/:id- Delete resumePOST /api/resume/:id/upload-images- Upload images
- Fork the repository
- Create your 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 ISC License.
prkr-28
- GitHub: @prkr-28
- Thanks to all the open-source libraries that made this project possible
- Inspired by modern resume builders and professional design principles
⭐ If you found this project helpful, please give it a star on GitHub!