Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seasonal Leaderboard #27

Open
20 tasks
TheMorpheus407 opened this issue Oct 4, 2023 · 2 comments · May be fixed by Bootstrap-Academy/frontend#298 or Bootstrap-Academy/challenges-ms#287
Open
20 tasks

Seasonal Leaderboard #27

TheMorpheus407 opened this issue Oct 4, 2023 · 2 comments · May be fixed by Bootstrap-Academy/frontend#298 or Bootstrap-Academy/challenges-ms#287
Assignees
Labels

Comments

@TheMorpheus407
Copy link
Contributor

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.
@github-project-automation github-project-automation bot moved this to Triage/Draft in Tickets Oct 4, 2023
@TheMorpheus407 TheMorpheus407 moved this from Triage/Draft to Todo in Tickets Oct 6, 2023
@TheMorpheus407
Copy link
Contributor Author

Short notice for this issue: You can heavily reuse the existing leaderboards for this, no need to reimplement much of it. Just to make it more fair for people who are not here since 2018 :D

@CK-IT-Solutions
Copy link

I would like to solve this as part of the hackathon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Todo
2 participants