Skip to content

Add "BALANCED" Gamification Badge to User Profile #336

Description

@jagdish-15

We are expanding the gamification system on user profiles! We need to implement a new "BALANCED" badge that unlocks dynamically based on a user's progress.

Badge Name: [BALANCED]

Unlock Condition: The user has solved at least 5 Easy, Medium, and Hard problems, and the difference between the highest and lowest solved counts is no more than 5% of the highest solved count.

Implementation Steps

This is a purely frontend feature. All logic belongs in frontend/js/user/badges.js and CSS styling in frontend/user.html.

  1. Add the badge object to the ALL_BADGES array.
  2. Write the evaluation logic inside the loadBadges() function to check the user's history data. If the condition is met, add the ID to the earnedSet.
  3. Add a visually distinct CSS class (e.g. teal/cyan gradient theme) for the badge in frontend/user.html.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions