Giter VIP home page Giter VIP logo

shejanmahamud / jobify-client Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 587 KB

Jobify is a comprehensive job portal web application built using the MERN stack. In Jobify, candidates can apply for jobs, companies can explore candidates for their posted jobs, and change the status of applications. Companies can also pay for a Premium Plan via SSL COMMERZ & STRIPE.

Home Page: https://jobify-web.netlify.app/

JavaScript 99.42% HTML 0.39% CSS 0.19%
express firebase javascript mongodb nextjs nodejs reactjs sslcommerz stripe tailwindcss

jobify-client's Introduction

Jobify - Job Portal Web Application (In Progress)

Jobify is a comprehensive job portal web app developed using the MERN stack. It provides a seamless platform where candidates can apply for jobs, and companies can explore candidates for their posted jobs and manage the status of applications. Additionally, companies can subscribe to a Premium Plan via SSL COMMERZ and Stripe.

Company Account

email: [email protected]
password: Smjihad0

Admin Account

email: [email protected]
password: Smjihad0

Server Side Code

Repo Link

Live Link

Netlify Link

Key Features

  • User Authentication & Authorization
  • Social Login/Register & Email Password Based Login/Register
  • Private Route and Role Based Route
  • Companies can add job and if company complete their profile 80% then can add job otherwise not.
  • There will be a cron job in server that will run every 24hr to check jobs expiration date, is job expired or not.
  • Company can select Apply On: 1. Jobify Platform 2. Companies Website 3. Email. Which selected that will show to candidate
  • Update companies public profile from company dashboard
  • Companies can see all candidate application based on each job.
  • Company can delete or expire their job manually
  • In application time user submitted cover letter and resume also will show based on each candidate.
  • Company can change status of an application - In Review, Task Submission, Interview Scheduled, Interviewed, Offered, Hired, Rejected
  • In each status change automatic an email will sent to candidate via nodemailer.
  • If candidate hired, then that candidate will add as team member in team section in dashboard
  • In settings, Company can add their info and update their info.
  • Also a common settings page, there will be email change, location add or update and added a captcha verification system for updating email and set job preferences (Only for candidates) and delete account feature.
  • Company can promote their job and promote company based on subscription model. Promoted Job and companies will show at top of each section. Companies can pay via STRIPE(International) & SSLCOMMERZ (Local) and if payment completed then it will show in billings section of dashboard . From Billing, subscription delete or pay
  • In candidate account, candidate can apply on job by submitting a cover letter and their resume (resume can also save from their profile in dashboard)
  • Bookmark a job and show in dashboard > bookmarked Jobs
  • Applied jobs show in dashboard > Applied Jobs
  • Set job preferences from dashboard > settings. Based on job preference they will get job alerts (In future these will be replaced as notification system)
  • Also candidate can update or add info from dashboard > profile
  • Related Jobs will show in job details page. From companies profile page there will be a section called open jobs from that company

Future Feature Plan

  • Message System
  • Notification system
  • A complete job filter system

NPM Packages Used

  • Recharts
  • SwiperJS
  • Ant Design
  • Tanstack Query
  • react-icons
  • axios

Technologies Used

HTML CSS3 TAILWIND CSS Javascript React React Router Firebase expressJS MongoDB NodeJS JWT

Problem Faced and Solution

One of the requirements was to ensure that job expiration statuses were automatically updated. To achieve this, I implemented a cron job that runs every 24 hours to check if any jobs have expired and update their status accordingly. Here’s a brief explanation of the approach:

  1. Cron Job Implementation: Set up a cron job in the server that executes every 24 hours.
  2. Expiration Check: The cron job checks the expiration date of each job posting.
  3. Status Update: If a job is found to be expired, its status is automatically updated to "expired".

This approach ensures that job postings are accurately and efficiently managed without manual intervention, maintaining the integrity and reliability of the job listings.

Additionally, while developing this project, I created a captcha verification system and packaged it as an npm package called react-awesome-captcha.

Run This Project

https://github.com/ShejanMahamud/Jobify-Client.git
npm install

Create .env file in root of folder. Use firebase credentials in .env file

Dev Mode:

npm run dev

Build Mode:

npm run build

Thanks For Reading & Visiting!

jobify-client's People

Contributors

shejanmahamud avatar

Stargazers

Iradukunda Didier avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.