feat: pre-calculate leaderboard ranks and update user endpoints and UI#242
Open
Yashaswini-K-P wants to merge 1 commit into
Open
feat: pre-calculate leaderboard ranks and update user endpoints and UI#242Yashaswini-K-P wants to merge 1 commit into
Yashaswini-K-P wants to merge 1 commit into
Conversation
Contributor
|
Thank you for submitting a pull request. Please ensure your changes comply with the project's contribution guidelines and that all workflow checks pass successfully. Formatting and Branching
|
Collaborator
|
Could you please check and resolve these merge conflicts? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR restructures individual user profile files to store pre-calculated leaderboard rankings (
overall,daily,weekly, andmonthly) directly within the data repository sync loop.This addresses a critical architectural constraint: because the API layer (
fetchUserInfo) is stateless and lacks a database, it cannot compute relative user standings on the fly. By pre-calculating and saving these ranks during the automated sync process, the API can now cheaply and instantaneously serve up-to-date ranks and changes directly to the profile UI from a single file fetch.Linked Issue
Fixes #195
Changes Made
leaderboardRanksmetadata block directly onto individual user JSON profiles without breaking existing history streams.fetchUserInfoin the API service to parse the new object structure and inject actual rank metrics and trend trajectories into the payload.Type of Change
Testing
Checklist
npx prettier --write .before submittingfeature/*branch, not themainbranchScreenshots / Screen Recording