Skip to content

Instantly share code, notes, and snippets.

@Himan10
Created October 21, 2023 10:50
Show Gist options
  • Select an option

  • Save Himan10/3037c4a97358c2dd5450782913ea7503 to your computer and use it in GitHub Desktop.

Select an option

Save Himan10/3037c4a97358c2dd5450782913ea7503 to your computer and use it in GitHub Desktop.

Missing functionalities in API (Jobs)

  1. Jobs
    1. Industry
    2. Job Type
    3. Salary
    4. Qualification
    5. Vacency position
    6. Total applyed (we already have a number of applicants for this)
    7. About the Job:
      1. Description (we have this only)
      2. Job Responsibilities
      3. Skill Required
      4. Education/Certifications

Job Filters:

  1. Job title - (we have a similar field called job_role)
  2. City
  3. Location

Note: Currently we have filters available on company and job_role fields in the job app I guess we need keywords as well in order to display this job under certain keywords, for example: if user types "security jobs", then all the jobs having this key will be shown.

Keyword search

Request:
{
 "keywords" : [
	 "security jobs",
	 "pentesting"
]
}

Response:
{
	data: [
		{"job1"},
		{"job2"}
	]
}

  1. User profile
    1. Profile Overview
      1. Name (we have this)
      2. Experience
      3. Qualification
      4. Gender
      5. Age
      6. Location (we have a field named "Address")
      7. Contact Information:
        1. Address (we have this)
        2. Phone (we have this)
        3. Website
        4. Email (we have this)
        5. Social Handle
      8. Education
      9. Experience (but in description)
      10. Professional Skillss (but in long description)
      11. Connections

Need an action called "Connect" with others

  1. Connect
  2. Connect requests
    1. GET Request -> to show all the receieved connect requests
    2. POST Request (with connect status) -> to accept/reject the connect requests
/api/v1/connect/user-uid
Request:
{
	"user_id": "my user uid"
}

Response:
{
	"data": {
		"Connect Request successfully sent"
	}
}
GET /api/v1/connect_requests/
Response:
{
	"data": [
		{
			"user_id",
			"user_name",
			"user_job_role"
		}
	]
} # we can replace the entire profile with user 
POST /api/v1/connect_requests/
Request:
{
	"user_id": "another_user_user-uid",
	"status": "accept/reject"
}

Response:
{
	"data": {
		"message" : "You are now connected with {name}" OR
		"message" : "Declined the connection request with {name}"
	}
}

  1. Company
    1. Sort by
      1. time and date
      2. Alphabetical order
      3. N number of jobs to return per page
Request
{
	"sort": {
		"time": [
			"12-10-2023"
		]
	}
} # return the sorted result based on time stamp

Request:
{
	"sort": {
		"keyword": [
			"A"
		]
	}
} # return the sorted result based on time stamp

Request:
{
	"result": 5
} # return only 5 results 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment