Skip to content

Contributor Reputation Dashboards #132

@Benjtalkshow

Description

@Benjtalkshow

Feature: User Reputation Dashboard (XP, Skills & Contributions)

Overview

To enhance user profiles and showcase contributions, we should introduce a visual reputation dashboard. This dashboard will display:

  • Contribution history (GitHub-style heatmap)
  • XP (experience points) earned
  • A radar chart representing technical skills

This feature will improve user engagement and provide a clearer representation of user activity and expertise.


Goals

  • Visualize user contributions over time
  • Display accumulated XP/reputation metrics
  • Showcase technical skill distribution
  • Enhance profile page experience

Implementation Details

1. Extend User Type

Modify: types/user.ts

  • Add new fields to the User type:
    • xp (number)
    • skills (array or mapped object with skill levels)
    • contributionHistory (date-based activity data)
  • Ensure type safety and compatibility with API responses

2. Update Profile Page

Modify: app/profile/[username]/page.tsx

  • Add a new "Reputation Dashboard" section
  • Integrate:
    • Skill radar chart
    • Contribution heatmap
    • XP display (e.g., card or summary widget)
  • Ensure layout is responsive and visually balanced

3. Create Skill Radar Chart

Create: components/profile/skill-radar-chart.tsx

  • Use Recharts to render a radar chart
  • Map user skills to chart axes
  • Ensure dynamic rendering based on user data
  • Handle empty or partial data gracefully

4. Create Contribution Heatmap

Create: components/profile/contribution-heatmap.tsx

  • Build a GitHub-style activity heatmap
  • Display contributions by date
  • Use color intensity to represent activity level
  • Ensure proper date handling and responsiveness

Files Affected

Modified

  • types/user.ts
  • app/profile/[username]/page.tsx

Created

  • components/profile/skill-radar-chart.tsx
  • components/profile/contribution-heatmap.tsx

Acceptance Criteria

  • Profile page includes a visible reputation dashboard
  • XP is displayed correctly
  • Skill radar chart renders accurately with user data
  • Contribution heatmap reflects activity history
  • UI is responsive and visually consistent
  • No regressions in existing profile functionality

Testing Notes

  • Test with users having varying levels of activity
  • Validate correct rendering of skill data
  • Ensure heatmap correctly maps dates and activity intensity
  • Check responsiveness across screen sizes

Additional Notes

  • Consider normalizing skill values (e.g., 0–100 scale) for chart consistency
  • Optimize rendering for large contribution datasets
  • Allow future extensibility for additional metrics (e.g., badges, streaks)
  • Optionally cache computed data for performance improvements

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions