The Intelligent Job Matching System is a backend system designed to manage job seekers, job postings, applications, skill sets, and hiring managers. It provides a robust platform for matching job seekers with suitable job postings.
- Clone the Repository:
git clone https://github.com/ashishkumarpalai/Chi-Networks-Assignment
2.Install Dependencies:
pip install -r requirements.txt
3.Configure MongoDB URI:
- Open the .env file.
- Set the MongoDB URI in the format MONGO_URI=<your_mongo_uri>.
4.Run the Application:
python main.py
The application will be accessible at http://localhost:5000 by default.
- Endpoint:
/job-seekers
- Method: POST
- Parameters:
- Name (Text)
- Status (Checkbox: Active/Inactive)
- Skills (Text)
- Experience (Dropdown: Entry Level, Mid Level, Senior)
- Bio (Textarea)
- Availability (Date)
- Endpoint:
/job-seekers/{job_seeker_id}
- Method: GET
- Returns: Job Seeker profile details
- Endpoint:
/job-seekers/{job_seeker_id}
- Method: PUT
- Parameters:
- Same as create
- Updates specified fields in the Job Seeker profile
- Endpoint:
/job-seekers/{job_seeker_id}
- Method: DELETE
- Deletes the Job Seeker profile
- Endpoint:
/job-postings
- Method: POST
- Parameters:
- Job Title (Text)
- Status (Dropdown: Open, In Progress, Filled)
- Start Date (Date)
- End Date (Date)
- Hiring Manager ID (String)
- Endpoint:
/job-postings/{job_posting_id}
- Method: GET
- Returns: Job Posting details and associated skill sets
- Endpoint:
/job-postings/{job_posting_id}
- Method: PUT
- Parameters:
- Same as create
- Updates specified fields in the Job Posting
- Endpoint:
/job-postings/{job_posting_id}
- Method: DELETE
- Deletes the Job Posting and associated skill sets
- Endpoint:
/applications
- Method: POST
- Parameters:
- Job Posting ID (String)
- Job Seeker ID (String)
- Creates a new application
- Endpoint:
/applications
- Method: GET
- Returns: List of applications with Job Posting and Job Seeker details
- Endpoint:
/applications/{application_id}
- Method: GET
- Returns: Application details with Job Posting and Job Seeker details
- Endpoint:
/applications/{application_id}
- Method: PUT
- Parameters:
- New Status (Dropdown: Pending, Reviewed, Accepted, Rejected)
- Updates the status of the application
- Endpoint:
/applications/{application_id}
- Method: DELETE
- Deletes the application
- Endpoint:
/skill-sets
- Method: POST
- Parameters:
- Job Posting ID (String)
- Skill (Text)
- Associates a skill set with a job posting
- Endpoint:
/skill-sets
- Method: GET
- Returns: List of all skill sets
- Endpoint:
/skill-sets/{skill_set_id}
- Method: GET
- Returns: Skill set details
- Endpoint:
/skill-sets/{skill_set_id}
- Method: PUT
- Parameters:
- Same as associate
- Updates the specified skill set
- Endpoint:
/skill-sets/{skill_set_id}
- Method: DELETE
- Disassociates the skill set from the job posting
- Endpoint:
/hiring-managers
- Method: POST
- Parameters:
- Name (Text)
- Email (Text)
- Add other fields as needed
- Endpoint:
/hiring-managers/{hiring_manager_id}
- Method: GET
- Returns: Hiring Manager profile details
- Endpoint:
/hiring-managers/{hiring_manager_id}
- Method: PUT
- Parameters:
- Same as create
- Updates specified fields in the Hiring Manager profile
- Endpoint:
/hiring-managers/{hiring_manager_id}
- Method: DELETE
- Deletes the Hiring Manager profile
- Endpoint:
/hiring-managers
- Method: GET
- Returns: List of all hiring managers