An open API service indexing awesome lists of open source software.

https://github.com/natnaelhhaile/JobSphere

a nodeJS web app that helps users find job opportunities from several job board platforms based on their resumes
https://github.com/natnaelhhaile/JobSphere

ajax axios bootstrap5 ejs-templates expressjs html-css-javascript jwt-authentication mongodb multer nodejs

Last synced: 5 months ago
JSON representation

a nodeJS web app that helps users find job opportunities from several job board platforms based on their resumes

Awesome Lists containing this project

README

          

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

```bash
# 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:**
```env
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
```

```bash
# 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.

```bash
# 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](LICENSE) file for details.

---

## ๐ŸŽค Acknowledgments
- Thanks to **[JobSpy](https://github.com/username/jobspy)** for web scraping capabilities.
- Thanks to **[Resume Parser API](https://apilayer.com/marketplace/resume-parser-api)** for resume data extraction.

---

Developed & maintained by Natnael Haile.