Skip to content

Alphasf9/Job-Recommendation-Portal-2K21-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Job-Recommendation-Portal-2K21-Project

A job recommendation portal built using the MERN stack (MongoDB, Express, React, Node.js) involves various components working together to provide a seamless experience for users seeking jobs and employers posting job listings. Here’s a breakdown of key elements involved:

1. Frontend (React)

  • User Interface: Built using React, the frontend is responsible for rendering the pages where users can:
    • View job recommendations
    • Filter jobs based on criteria like location, job type, salary, etc.
    • Apply for jobs or save them for later
    • Create and manage profiles
  • Authentication: React communicates with the backend to handle user login, registration, and profile management using tokens for authentication.

2. Backend (Node.js + Express)

  • API Development: Using Express, the backend provides APIs that allow the frontend to:
    • Fetch job listings
    • Handle applications
    • Manage user data and profiles
    • Perform search and filtering based on keywords, location, and other job-related parameters
  • Authentication Middleware: Middleware functions like isAuthenticated can be used to secure routes, ensuring only logged-in users can access certain endpoints.

3. Database (MongoDB)

  • Job Listings: Jobs are stored in MongoDB using a Mongoose model (e.g., Job). Each job entry may include fields like job title, description, company, salary, location, and required skills.
  • User Profiles: MongoDB stores user profiles, including resumes, experience, skills, and preferences, which help in customizing job recommendations.
  • Application Tracking: Tracks which users applied to which jobs and the status of those applications (e.g., pending, accepted, rejected).

4. Recommendation Algorithm

  • User Preferences: The system can recommend jobs based on user preferences, resume data, or search history.
  • Matching Criteria: Matching jobs with users may involve factors like:
    • Keywords matching job descriptions with user profiles
    • Location proximity
    • Experience level and skills alignment

5. Role-based Access Control

  • Different users (job seekers, employers, admins) have different levels of access. A flag-based approach (0, 1, 2) can be used to handle permissions.
    • Job Seekers (0): Can browse and apply for jobs.
    • Employers (1): Can post jobs, manage listings, and view applications.
    • Admins (2): Can manage both users and jobs, and moderate content.

6. Key Features

  • Search and Filters: Enables users to filter job listings by criteria like job type (full-time, part-time), location, industry, and salary.
  • Resume Parsing: Optionally, the system can parse uploaded resumes to auto-fill job applications and suggest relevant positions.
  • Notifications: Users can receive notifications about new job postings or application status updates.

This structure provides a flexible, scalable system for job recommendation, with a focus on user experience, security, and efficient data management.

Releases

No releases published

Packages

 
 
 

Contributors