-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
Issue Title: Implement Job Filtering and Search Functionality
Issue Description:
As a freelancer, I want to filter and search for job postings based on specific criteria so that I can quickly find relevant opportunities that match my skills and preferences. This functionality should allow users to filter jobs by various parameters and perform keyword searches.
Tasks:
-
Implement Job Search Endpoint:
- Create an endpoint to allow freelancers to search for jobs using keywords.
- Support searching by job title, description, and other relevant fields.
-
Implement Job Filtering:
- Create filters for the following criteria:
- Job type (Hourly, Fixed)
- Budget range
- Job status (Open, In Progress, Completed, Cancelled)
- Creation date range
- Create filters for the following criteria:
-
Combine Search and Filter:
- Create a single endpoint that supports both search and filter criteria, allowing freelancers to retrieve a filtered list of jobs based on their input.
Acceptance Criteria:
-
Job Search:
- Freelancers should be able to make a
GETrequest to/jobs/searchwith query parameters for keywords. - Return 200 OK with a list of matching jobs or 204 No Content if no jobs are found.
- Freelancers should be able to make a
-
Job Filtering:
- Freelancers should be able to make a
GETrequest to/jobs/filterwith query parameters for different filtering options. - Return 200 OK with a list of filtered jobs or 204 No Content if no jobs match the criteria.
- Freelancers should be able to make a
-
Combined Search and Filter:
- Freelancers should be able to make a
GETrequest to/jobswith both search and filter parameters. - Return 200 OK with a list of jobs that match the search and filter criteria.
- Freelancers should be able to make a
Endpoint Specifications:
-
Job Search:
- Method:
GET - URL:
/jobs/search - Query Parameter Example:
?keywords=developer
- Method:
-
Job Filtering:
- Method:
GET - URL:
/jobs/filter - Query Parameter Example:
?job_type=Hourly&min_budget=10&max_budget=100
- Method:
-
Combined Search and Filter:
- Method:
GET - URL:
/jobs - Query Parameter Example:
?keywords=developer&job_type=Hourly&min_budget=10&max_budget=100
- Method: