Skip to content

User Story 6: As a student, I want to mark an announcement as a favorite, so that I can quickly access important announcements later without searching through the entire course feed. #2

@sabualha

Description

@sabualha
  • Description:
    Students should be able to mark any announcement as a favorite with a single button. The system should save these favorites in the student’s profile and allow them to view all favorited announcements in a separate, easily accessible list. This ensures that important course announcements are always easily retrievable without needing to scroll through the full feed. The feature should integrate smoothly with the existing announcement system and maintain user-friendly interaction.
  • Justification:
    This is ranked sixth because it improves convenience but is not essential for core functionality. Students can still access announcements without it, but marking favorites saves time and helps prevent missing important messages. Implementing it involves adding a simple “favorite” attribute and saving user preferences, providing clear value with minimal complexity.
  • Impact
    Medium. Improves user efficiency, reduces time spent searching for announcements, and increases engagement with important course content.
  • Effort
    Low to Medium. Integrating this feature will require both backend and frontend changes, but the changes are straightforward.
  • Backend
  1. Keep track of which announcements each student has marked as a favorite.
  2. Add functions to mark or unmark favorites and get a student’s favorite announcements.
  3. Store user-specific favorites in the database so they can be retrieved quickly.
  • Frontend
  1. Students can click the star icon on an announcement to mark it as a favorite, and click again to remove it.
  2. Create a “Favorites” view where students can see all their favorited announcements.
  3. Ensure the UI clearly indicates which announcements have already been favorited.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions