-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Labels
Contributors neededenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
Description
This feature introduces a new public-facing page where all users can view the list of current student representatives holding Positions of Responsibility (PORs). The page will be structured to clearly display who holds which position within each club, council, and committee. This will improve transparency and make it easy for students to identify and contact the current office-bearers.
Key Features
- Group by Organization: The primary view should not be a flat list. Instead, it should group all position holders by their
OrganizationalUnit(e.g., a card for "Coding Club" listing all its members, a card for "Cultural Council", etc.). - Hierarchical View (Optional but Recommended): To improve navigation, the page could display top-level
Councilsfirst, with theClubsandCommitteesthat fall under them nested accordingly. - POR Holder Card: Each person listed should have a "card" displaying key information:
- Profile Picture (
user.personal_info.profilePic) - Full Name (
user.personal_info.name) - Position Title (
position.title)
- Profile Picture (
- Search and Filter: The page must include a search bar to allow users to quickly find a specific student or organization.
Acceptance Criteria (Task Checklist)
Backend
- Create the
GET /api/por/currentendpoint. - Implement the query to fetch all active
PositionHolders. - Use nested Mongoose
populateto fetch related user, position, and unit details. - Structure the API response by grouping holders by their organizational unit.
Frontend
- Create the new page to display the tenure information.
- Fetch and display the data in a grouped-by-organization format.
- Implement the individual card UI for each position holder.
- Add a functional search/filter bar.
Metadata
Metadata
Assignees
Labels
Contributors neededenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed