Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Event Search Endpoint #337

Open
wade3hamati opened this issue Feb 19, 2025 · 0 comments · May be fixed by #347
Open

Implement Event Search Endpoint #337

wade3hamati opened this issue Feb 19, 2025 · 0 comments · May be fixed by #347
Assignees
Labels
backend Backend related, server side User Story It is a user story
Milestone

Comments

@wade3hamati
Copy link
Contributor

Description

As a user, I want to search for events using various filters so that I can find events that match my preferences.

Story Points: 5
Priority: High
Risk: Medium
Child Tasks:

  • Implement query parameter handling for filtering events.
  • Create the searchEvents endpoint in the EventController.
  • Implement service logic to retrieve filtered events.
  • Write unit tests for the search functionality.
  • Update API documentation.

Acceptance Criteria:

  • The endpoint /api/events/search should support filtering by eventName, eventType, sportType, location, date, startTime, endTime, maxParticipants, createdBy, isPrivate, and requiredSkillLevel.
  • The endpoint should return events that match the specified query parameters.
  • If no filters are provided, return all events.
  • If a non-existent filter is provided, return a validation error.
  • Results should be paginated with page and size parameters.

Task Breakdown:

  1. Define the request parameters in the controller.
  2. Implement filtering logic in the service layer.
  3. Integrate with the repository to fetch events based on filters.
  4. Implement pagination support.
  5. Write test cases for different query scenarios.
  6. Document the API endpoint in Swagger.

Implementation Breakdown:

  • Controller Layer: Handle request validation and pass query parameters to the service.
  • Service Layer: Process filters and construct query logic.
  • Repository Layer: Implement dynamic queries.
  • Testing: Cover edge cases, including missing filters, invalid inputs, and large data sets.
@wade3hamati wade3hamati added backend Backend related, server side User Story It is a user story labels Feb 19, 2025
@wade3hamati wade3hamati added this to the Iteration 10 milestone Feb 19, 2025
@wade3hamati wade3hamati self-assigned this Feb 19, 2025
wade3hamati added a commit that referenced this issue Feb 22, 2025
wade3hamati added a commit that referenced this issue Feb 22, 2025
wade3hamati added a commit that referenced this issue Feb 22, 2025
wade3hamati added a commit that referenced this issue Feb 22, 2025
wade3hamati added a commit that referenced this issue Feb 22, 2025
wade3hamati added a commit that referenced this issue Feb 22, 2025
@wade3hamati wade3hamati linked a pull request Feb 22, 2025 that will close this issue
@walidoow walidoow modified the milestones: Iteration 10, Iteration 11 Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Backend related, server side User Story It is a user story
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants