Implement a dedicated user portfolio page that displays comprehensive information about users. This page will serve as a showcase for their past projects, upvotes on projects, and a timeline of their activities and achievements.
Prerequisite: #6
Requirements
Portfolio Page Design:
- Create a new user portfolio page accessible from the user profile or dashboard.
- The page should include the following sections:
- User Information:
- Display the user's name, profile picture, bio, and contact information (if applicable).
- Past Projects:
- List all projects the user has worked on, including project titles, descriptions, and links to project pages.
- Upvotes on Projects:
- Display the projects the user has upvoted, along with the corresponding upvote counts.
- Timeline:
- Show a chronological timeline of the user's activities, including project submissions, upvotes, and other significant milestones.
Database Schema Update:
- Ensure that the necessary data is stored in the database.
- Use the
Reactions table to fetch upvotes associated with each project.
- Use the
Projects table to fetch a users projects.
Frontend Implementation:
- Design the layout and UI components for the portfolio page.
- Implement API endpoints to fetch user information, past projects, upvotes, and activity timeline data.
Acceptance Criteria
- Users can view their portfolio page with all relevant information.
- Past projects are listed with details and links.
- Upvotes on projects are displayed accurately.
- The activity timeline reflects the user's actions in chronological order.
Additional Notes
- Ensure that the portfolio page is user-friendly and goes with the overalll theme of the website.
- Consider implementing features for users to edit their profiles.
Implement a dedicated user portfolio page that displays comprehensive information about users. This page will serve as a showcase for their past projects, upvotes on projects, and a timeline of their activities and achievements.
Prerequisite: #6
Requirements
Portfolio Page Design:
Database Schema Update:
Reactionstable to fetch upvotes associated with each project.Projectstable to fetch a users projects.Frontend Implementation:
Acceptance Criteria
Additional Notes