Skip to content

soundarya-mv/job_recommendation_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Use make run to execute the cli with the default development data. There is a data/ directory with sample data.

make run
bundle exec ruby lib/cli.rb ./data/development/jobseekers.csv ./data/development/jobs.csv

Use make test to run all tests.

make test
bundle exec rspec

Use make lint to check code for style issues.

make lint
bundle exec standardrb -a lib models services spec

How business logics are separated from main file:

Separate service objects for parsing JobSeekers and Jobs CSV's to have more maintainability.

Have added separate models for jobseekers and jobs to have more clarity on the data that the 2 modules will hold and can be extended when ORM is used to store the data in database.

Since recommendation of jobs is a commonly used method, have added separate service object for that as well and can be reused in other parts of the application.

How models have been defined:

JobSeeker model, holds the job_seeker_id, job_seeker_name, job_seeker_skills

Job model, holds the job_id, job_title, required_skills

Addtional information:

Have used array structure to hold the job_seeker and job details in memory to keep it simple as the requirement was to load data from CSV, recommend jobs for each job_seeker.

If we are using a database like MySQL, PostgreSQL to store the job_seeker and job details, active record save/create can be used.

About

Basic recommendation engine for a job-matching platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published