Skip to content

[FEATURE]: Implement User Bookmarking System for Resources #49

@Kiran95021

Description

@Kiran95021

Issue Description
Is your feature request related to a problem? Please describe. Currently, users of SaveBook can browse resources, but there is no way for them to save or "bookmark" specific items for quick access later. This leads to a fragmented user experience where users have to search for the same resource multiple times.

Describe the solution you'd like I propose adding a Bookmark feature that allows authenticated users to save resources to a personal "Saved" list.

Key Components:

UI Indicator: Add a "Bookmark" icon (bookmark/star) on resource cards.

Persistence: Store the bookmarked item's ID in the user's profile within the database (e.g., MongoDB/Firebase).

Saved Page: Create a new route /saved or /bookmarks where users can view all their saved resources in one place.

Toggle Logic: Clicking the icon should add the item if it's not saved, and remove it if it is already bookmarked.

Proposed Technical Tasks

[ ] Create a bookmarks schema/array in the User model.

[ ] Implement a backend API endpoint (POST/DELETE) to toggle bookmarks.

[ ] Create a BookmarkButton component to be reused across resource cards.

[ ] Develop the SavedResources page to fetch and display only bookmarked items.

[ ] Add toast notifications for "Added to Bookmarks" and "Removed from Bookmarks."

Additional context This feature will significantly increase user retention by making SaveBook a personalized tool for developers. The UI should remain consistent with the existing theme.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmediumGood for those who knows how things work, mostly includes enhancements of implemented features.under-ECWoC26under-ECWoC26 issue or PR for program tracking and evaluation.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions