JobSphere is a job-matching web application that helps users find job opportunities tailored to their resumes. It leverages resume parsing, job scraping, bookmarking, and authentication to enhance the job search experience. The application enables users to upload their resumes, extract relevant skills and experience, and receive personalized job recommendations.
- Social Login Integration: Sign up and log in seamlessly using Google & Facebook (implemented via Passport.js).
- JWT Authentication: Secure user sessions with token-based authentication.
- Upload resumes to automatically extract skills, experience, and keywords.
- Resume parsing to analyze and extract relevant job-matching criteria.
- Web Scraping: Fetch jobs from Indeed, Glassdoor, and ZipRecruiter.
- Dashboard with Tailored Job Listings: Personalized job postings based on parsed resume data.
- Bookmarking System: Users can save jobs theyโre interested in and access them later via the Bookmarks Page.
- Job Detail Pages: View full job descriptions, application links, and company details.
- Update user profile details (email, password, second email, phone number).
- Resume management: Upload, replace, or delete your resume.
- Fully responsive design for desktop and mobile screens.
- Intuitive job dashboard for a streamlined job search experience.
Landing Page
Social Login & Sign-Up Pages
Dashboard with Job Recommendations
Bookmarking System
Profile Page
- Frontend: HTML5, CSS3, Bootstrap, EJS, Fetch API
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: Passport.js (Google & Facebook Login), JSON Web Tokens (JWT), Bcrypt.js
- Resume Parsing: Integrated with the Resume Parser API
- Job Scraping: Python-based web scraping (
jobspymodule) - APIs/Middleware: Multer, Axios, Connect-Flash, Cookie-Parser, Express-Session
- Node.js (v14 or higher)
- MongoDB (local or cloud via MongoDB Atlas)
- Python 3.x (for running the job scraper script)
# Clone the repository
git clone https://github.com/curiousityDrives/JobSphere.git
cd jobsphere
# Install Node.js dependencies
npm install
# Set up MongoDB (local or cloud-based)
# If using MongoDB Atlas, update the connection URI in app.js
# Install Python dependencies for job scraping
pip install jobspy
# Create a .env file and add required environment variablesExample .env file:
JWT_SECRET=your_jwt_secret
API_KEY=your_resume_parser_api_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
FACEBOOK_APP_ID=your_facebook_app_id
FACEBOOK_APP_SECRET=your_facebook_app_secret# Start the server
npm start
# Open in browser: http://localhost:3000๐ Advanced AI-Powered Job Matching
- Implementing a machine learning model to rank and sort scraped jobs based on their relevance to the user's resume.
๐ค GenAI-Powered Resume Parsing
- Integrating Generative AI (LLMs) to enhance resume parsing and improve data context retention, ensuring better job recommendations.
๐ Job Tracker & Application Management
- Users will be able to track job applications, manage their in-progress interviews, and monitor reviewed applications.
Stay tuned for these exciting updates! ๐ฏ
Contributions are welcome! If you have ideas for improvements or find any issues, feel free to open an issue or submit a pull request.
# Fork the repository
# Create a new branch
git checkout -b feature/your-feature-name
# Make your changes
# Commit changes
git commit -m 'Added new feature'
# Push to GitHub
git push origin feature/your-feature-name
# Open a pull requestThis project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to JobSpy for web scraping capabilities.
- Thanks to Resume Parser API for resume data extraction.
Developed & maintained by Natnael Haile.







