-
Notifications
You must be signed in to change notification settings - Fork 55
Open
Labels
apiSince it’s specific to an API endpoint.Since it’s specific to an API endpoint.backendBackend requiredBackend requiredfeaturea new functionality being added.a new functionality being added.frontendThe feature is related to frontend developmentThe feature is related to frontend developmentintermediate
Description
💾 Feature Request: Implement Blog Save Functionality
Description
We want to allow users to save blogs so they can easily revisit their favorite or important posts later. This feature is user-specific and separate from the "archive" functionality, which is only available to blog authors.
Feature Overview
- Users can save or unsave a blog post.
- Saved blogs should be only visible to the user who saved them.
- A new “Saved Blogs” section should be available in the user profile/dashboard.
- Visual feedback (like a bookmark icon) should indicate whether a blog is saved.
Backend Requirements
- Create a new user-to-blog relationship (e.g., a
savedBlogs: string[]field in the user model). - Endpoints:
POST /blogs/save/:blogId→ Save the blog for the current user.DELETE /blogs/save/:blogId→ Unsave the blog.GET /users/saved-blogs→ Fetch all saved blogs for the logged-in user.
Frontend Requirements
- Add a “Save” icon/button (e.g., bookmark) on each blog card and blog page.
- Clicking the icon should toggle the save state and show immediate feedback.
- Show the list of saved blogs under a new section in the user's profile.
- Disable or hide this feature for unauthenticated users.
Acceptance Criteria
- Users can successfully save and unsave blogs.
- Saved blogs are stored and fetched per user.
- The UI reflects the current save status of a blog post.
- Only authenticated users can use this feature.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
apiSince it’s specific to an API endpoint.Since it’s specific to an API endpoint.backendBackend requiredBackend requiredfeaturea new functionality being added.a new functionality being added.frontendThe feature is related to frontend developmentThe feature is related to frontend developmentintermediate