Skip to content

Seasonal Leaderboard #27

@TheMorpheus407

Description

@TheMorpheus407

Bootstrap Academy username

Morpheus

Description

Feature: Seasonal Leaderboard

Objective:

Introduce a dynamic seasonal leaderboard system that tracks and showcases user XP over 3-month intervals, incentivizing top performers with badges and MorphCoin.

Functional Requirements:

  • Seasonal Duration Configuration:

    • Set each season to persist for 3 months.
    • Implement an automated system to reset the leaderboard at the season's culmination and initiate a new season.
  • Leaderboard Display Enhancements:

    • Adapt the existing leaderboard display to include a season toggle:
      • Integrate a switch or button allowing users to transition between "Seasonal" and "All-time" views.
      • Ensure that the default view is "Seasonal".
      • Clearly label and display the leaderboard's type (Seasonal or All-time) to prevent user confusion.
  • Leaderboard Layout Adjustments:

    • Retain the existing table format but ensure the following columns are prominently displayed:
      • Rank
      • User Name
      • XP Earned in the season (or overall for the all-time view)
    • Facilitate users to toggle not just between the overall leaderboards but also the individual skill leaderboards within both "Seasonal" and "All-time" views.
  • Leaderboard Update Mechanism:

    • Utilize the existing XP earning mechanisms and ensure the leaderboard reflects real-time XP updates.
  • Season Transition Logic:

    • Design an end-of-season protocol where:
      • The leaderboard undergoes a reset.
      • First-place finishers on each leaderboard (encompassing overall and individual skills) receive a distinct badge.
      • MorphCoin is distributed as rewards:
        • 1st Place: 200 MorphCoin (configurable)
        • 2nd Place: 100 MorphCoin (configurable)
        • 3rd Place: 50 MorphCoin (configurable)
  • User Profile Integration:

    • Ensure that user names on the leaderboard link to their respective profiles, where viewers can explore their achievements, badges, and XP specifics. Only allow that if the user setup their public profile.

Acceptance Criteria:

  • Users should be able to seamlessly switch between the "Seasonal" and "All-time" leaderboards.

  • The leaderboard should consistently update in real-time, capturing the latest XP gains.

  • At the conclusion of every season, theleaderboard should reset, and top performers must be rewarded according to the specified criteria.

  • Each user's name on the leaderboard should serve as an interactive link, redirecting viewers to their individual profiles where comprehensive achievements, badges, and XP details are displayed.

  • The seasonal leaderboard, by default, should showcase XP earned during the current season, while the all-time leaderboard should reflect the total XP accumulated over time.

  • Users securing the top three positions on the overall seasonal leaderboard should receive their respective MorphCoin rewards automatically.

  • Users ranked first in both the overall and individual skill leaderboards should be awarded the designated badge for their achievement.

Dependencies:

  • Depends on: Existing leaderboard microservice for layout and display.
  • Depends on: Existing XP earning microservices to fetch real-time XP updates.

Notes:

  • The existing leaderboard infrastructure and XP earning mechanisms will be leveraged. The primary enhancement is the introduction of the seasonal component and the accompanying rewards system.
  • Given the real-time nature of XP updates and leaderboard refreshes, ensuring system performance and responsiveness is paramount.
  • As the feature involves MorphCoin rewards, ensure robust testing to prevent potential exploits or inaccuracies in coin distribution.

Metadata

Metadata

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions