/job-portal

A full-fledged job application portal based on MERN stack

Primary LanguageJavaScript

Job Portal

Job Portal is a MERN Stack based web app which helps in streamlining the flow of job application process. It allows users to select there roles (applicant/recruiter), and create an account. In this web app, login session are persistent and REST APIs are securely protected by JWT token verification. After logging in, a recruiter can create/delete/update jobs, shortlist/accept/reject applications, view resume and edit profile. And, an applicant can view jobs, perform fuzzy search with various filters, apply for jobs with an SOP, view applications, upload profile picture, upload resume and edit profile. Hence, it is an all in one solution for a job application system.

Demo: Click Here

Directory structure of the web app is as follows:

- backend/
    - public/
        - profile/
        - resume/
- frontend/
- README.md

Instructions for initializing web app:

  • Install Node JS, MongoDB in the machine.
  • Start MongoDB server: sudo service mongod start
  • Move inside backend directory: cd backend
  • Install dependencies in backend directory: npm install
  • Start express server: npm start
  • Backend server will start on port 4444.
  • Now go inside frontend directory: cd ..\frontend
  • Install dependencies in frontend directory: npm install
  • Start web app's frontend server: npm start
  • Frontend server will start on port 3000.
  • Now open http://localhost:3000/ and proceed creating jobs and applications by signing up in required categories.

Dependencies:

  • Frontend
    • @material-ui/core
    • @material-ui/icons
    • @material-ui/lab
    • axios
    • material-ui-chip-input
    • react-phone-input-2
  • Backend
    • bcrypt
    • body-parser
    • connect-flash
    • connect-mongo
    • cors
    • crypto
    • express
    • express-session
    • jsonwebtoken
    • mongoose
    • mongoose-type-email
    • multer
    • passport
    • passport-jwt
    • passport-local
    • uuid

Machine Specifications

Details of the machine on which the webapp was tested:

  • Operating System: Elementary OS 5.1 (Hera)
  • Terminal: Bash
  • Processor: Intel Core i7-8750H CPU @ 2.20 GHz 2.21 GHz
  • RAM: 16 GB