A modern, single-page web application that allows users to create professional resumes with real-time preview and cloud synchronization.
- User Authentication: Secure login/registration with email/password and Google Sign-In
- Real-time Preview: Live resume preview as you type with A4-printable layout
- Cloud Sync: Automatic saving to Firebase Firestore with real-time synchronization across devices
- Comprehensive Sections:
- Personal details (name, title, contact info)
- Professional summary
- Skills
- Work experience with bullet points
- Education history
- Languages
- References
- Beautiful UI: Animated gradient background with smooth transitions and modern design
- Print/PDF Export: Optimized print styles for creating PDF resumes
- Responsive Design: Works seamlessly on desktop and mobile devices
- Frontend: HTML5, CSS3, Tailwind CSS
- Fonts: Google Fonts (Inter)
- Backend: Firebase Authentication & Firestore
- Hosting: Static hosting ready (GitHub Pages, Netlify, Vercel compatible)
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Firebase project (for authentication and database)
- Clone the repository:
git clone https://github.com/masood-dev/resume_builder_project.git
cd resume_builder_project- Open
index.htmlin your browser, or serve it locally:
# Using Python
python -m http.server 8000
# Using Node.js (npx)
npx live-server .
# Using Vite
npx vite- Visit
http://localhost:8000(or the appropriate port) in your browser
The project uses Firebase for authentication and data storage. The Firebase configuration is already included in the code, but you can replace it with your own:
- Create a Firebase project at Firebase Console
- Enable Authentication (Email/Password and Google providers)
- Create a Firestore database
- Replace the
firebaseConfigobject inmain.jswith your credentials
- Sign Up/Login: Create an account or sign in with email/password or Google
- Fill in Details: Complete the form fields in the left panel
- Add Dynamic Content:
- Click "Add Skill" to add skills
- Fill experience/education forms and click "Add" buttons
- Add languages and references as needed
- Preview: Watch the right panel update in real-time
- Save: Changes auto-save to the cloud (debounced after 1 second of inactivity)
- Print/Export: Click "Print / Download PDF" button and use browser's print dialog to save as PDF
resume_builder_project/
├── index.html # Main HTML file
├── main.js # JavaScript application logic
├── styles.css # Custom styles and animations
├── README.md # This file
├── LICENSE.md # License information
└── .gitignore # Git ignore rules
artifacts/
└── {appId}/
└── users/
└── {userId}/
└── resumeData/
└── main (document)
├── name
├── title
├── email
├── phone
├── location
├── summary
├── skills: []
├── experiences: []
├── educations: []
├── languages: []
└── references: []
- Firebase web API keys in the code are safe for client-side use
- Never commit service account JSON files or server-side secrets
- Always set up Firestore Security Rules to protect user data:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /artifacts/{appId}/users/{userId}/{document=**} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}Make sure to add these domains in Firebase Console → Authentication → Settings → Authorized domains:
localhost(for local development)127.0.0.1(alternative local address)masood-dev.github.io(for GitHub Pages)
- Google OAuth: Configured in Firebase Console
- GitHub OAuth: Requires GitHub OAuth App with callback URL:
https://resume-builder-cd571.firebaseapp.com/__/auth/handler
The project is deployed at: https://masood-dev.github.io/resume_builder_project/
To update the live site:
- Make changes to your files
- Run:
git add -A && git commit -m "your message" && git push - GitHub Pages auto-deploys from the
mainbranch
This static site can be deployed to:
- Netlify: Drag and drop the files or connect GitHub repo
- Vercel: Import Git repository
- Firebase Hosting:
firebase init hosting && firebase deploy
- Split into separate CSS/JS files for better maintainability
- GitHub Pages deployment
- GitHub OAuth integration
- Add multiple resume templates/themes
- Export/import resume data as JSON
- Add resume sections (projects, certifications, hobbies)
- Implement offline support with local storage fallback
- Split JavaScript into modular files
- Add unit and E2E tests
- Set up CI/CD pipeline
- Improve accessibility (ARIA labels, keyboard navigation)
- Add input validation and sanitization
- Add loading states and skeleton screens
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
Masood
- GitHub: @masood-dev
- Tailwind CSS for the styling framework
- Firebase for backend services
- Google Fonts for the Inter font family
Note: This is a client-side application. For production use, consider implementing proper Firestore security rules and adding server-side validation.