How to fit Job Portal Application in WordPress Database Structure.

 Job portal is the place where jobseeker can check vacancies and companies can seed for the employees. examples of job portal could be naukri.com, monster job, indeed etc.

You can visit the Previous article to learning more about wordpress database structure and how its extensiible.

Let's assume we got the project to create a job portal and client want to test his idea and for quick results, we decided to start with WordPress.

The client gives us the following requirements

  1. The employer should be able to post the job
  2. The employer should be able to view all application to the posted job.
  3. The job can be filtered by experience, salary, Job Title, skills.
  4. Jobseeker should able to create a profile and upload a resume.
  5. Jobseeker should get job posting recommendations based on his skills, education.
  6. Jobseeker should able to apply for job and notification email should go to the employer about the new application.
  7. The job application further process will be manual further.

We are going to decide only which information will be saved in which table and not going into further information in the current post. This post will help us to understand how we could fit custom requirements into WordPress by example.

So let's start with extracting entities from the requirement
  1. Job
    1. Job Title
    2. Job Description
    3. Education Qualification Required
    4. Experience Range
    5. Skills 
    6. salary Range
    7. location
    8. status (open/ closed)
  2. Employer
    1. Company id
    2. Employee Name (HR / Contact Person)
    3. Email
    4. Phone
  3. Company
    1. company name
    2. Description
    3. website
  4. JobSeeker
    1. name
    2. qualifications
    3. skills
    4. Open For Job Opportunities (Y/N)
  5. Skills(Master)
    1. Name
  6. Education (Master)
    1. Name
  7. Experience Brackets (Master)
    1.  Name (e.g 2-4 Years or it could be simple number 1,2,3,4)
  8. job application
    1. job id
    2. jobseeker_id

Let's start thinking of masters, we need to query the jobs according to masters e.g jobs by skills, exp, education etc. and each thing have many to many relationships with job entity and in WordPress, this can be achieved with a term <--> post-relationship hence these masters could be stored as terms & taxonomy combination.


Experience Range will be taxonomy where terms will be 0 Year,1-2 Years, 2-4 Years, 4-7 Years etc.

Skills will be taxonomy where terms will be PHP, WordPress, accounting etc.

The salary range can be also taxonomy where terms will be under 2 LPA, 2-4 LPA, 4-6LPA etc.

The company could be a good candidate for taxonomy again.

A job can be stored in the post table as masters are in terms.

Employer and Jobseeker are the users of the system who are going to login to the system and use the system so they will be in the user's table with different roles.

Job Application can be stored in comments table as it has 1 <-> M relationships with comment_type as application.


I hope the above explanation helps you to learn more about how we can think custom requirement in WordPress way. Let me know your thoughts, feedback.



Comments