Skip to content

Implement Project page and search. #2

@shri30yans

Description

@shri30yans

Add the following functionalities

  • View the list of projects
  • Access detailed information when a project is clicked.
  • Search projects
  • Sort projects
    Prerequisites: Fix the Create Project page #1

Requirements

Fetch Projects

  1. View a list of projects on the project page.
  2. Open a separate project page when a project is clicked.

Search projects

  1. Search by Project Name
    Users should be able to search for projects using the project name or partial keywords that match the project name.

  2. Search by Project Tags
    Projects should be searchable by tags that have been assigned to them. Users should be able to enter one or more tags to find relevant projects.

  3. Sorting Options
    Users should have the ability to sort the search results using the following criteria:

    • Latest Posts: Sort projects based on the date the project was created, with the most recent projects displayed first.
    • Oldest Posts: Sort projects based on the date the project was created, with the oldest projects displayed first.
    • Last Update: Sort projects based on the latest project update date (whenever the project content was last modified), with the most recently updated projects displayed first.

How?

  1. Implement a new API endpoint to fetch all existing projects from the database.
  2. Implement a new API endpoint to fetch a single projects information from the database.
  3. Modify the actions.ts file to fetch the projects from the newly implemented backend API.
  4. Modify the actions.ts file to fetch information about a single project from the newly implemented backend API.
  5. Implement sorting by modifying in the Project Page
    and corresponding Backend APIs.

Acceptance Criteria

  1. Users should be able to view all existing projects on the Project page after they are created.
  2. Users should be able to click on a particular project to get more information about that project.
  3. Users can search for projects by entering a full or partial project name.
  4. Sorting should be done according above-mentioned specifications.
  5. UI for searching with Tags should be done using Chips with the close button.
  6. The sorting and filtering options should be available both before and after a search query is made.
  7. Handle error handling and feedback if no projects match the search criteria.
  8. Bonus points: Modify projects to have multiple tags and enable searching with multiple tags.

Additional Notes

  • UI for displaying all projects and viewing a particular project exists, update the backend to provide APIs for fetching project info and all projects.
  • UI for searching by project name is implemented. You would need to implement the UI for searching by Tags.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions