Skip to content

natnaelhhaile/JobSphere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

JobSphere

JobSphere Logo

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.


๐Ÿš€ Features

๐Ÿ”‘ Authentication & Security

  • 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.

๐Ÿ“„ Resume Upload & Parsing

  • Upload resumes to automatically extract skills, experience, and keywords.
  • Resume parsing to analyze and extract relevant job-matching criteria.

๐Ÿข Job Search & Recommendations

  • 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.

๐Ÿ“Œ Profile & User Management

  • Update user profile details (email, password, second email, phone number).
  • Resume management: Upload, replace, or delete your resume.

๐ŸŽจ Responsive & Modern UI

  • Fully responsive design for desktop and mobile screens.
  • Intuitive job dashboard for a streamlined job search experience.

๐Ÿ“ธ Screenshots

Landing Page

Landing Page

Social Login & Sign-Up Pages

image Login Page

Dashboard with Job Recommendations

Dashboard Page Dashboard Page

Bookmarking System

Bookmarks Page

Profile Page

Profile Page


๐Ÿ›  Technologies Used

  • 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 (jobspy module)
  • APIs/Middleware: Multer, Axios, Connect-Flash, Cookie-Parser, Express-Session

๐Ÿ“ฅ Project Setup

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB (local or cloud via MongoDB Atlas)
  • Python 3.x (for running the job scraper script)

Installation

# 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 variables

Example .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

๐Ÿ”ฎ Future Enhancements

๐Ÿš€ 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! ๐ŸŽฏ


๐Ÿค Contributing

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 request

๐Ÿ“œ License

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


๐ŸŽค Acknowledgments


Developed & maintained by Natnael Haile.

About

A nodeJS web app that streamlines the job application process by scraping job posts from several big job board platforms based on the user's resume.

Topics

Resources

License

Stars

Watchers

Forks

Contributors