You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Build pages for showcasing prolific contributions #6
We want to be able to pull contributions from all of our community, including the forums, discord, Crowdin, publications and GitHub.
We would then like to compile these stats and award badges to the contributors. Additionally we would like to let them show off those badges on their freeCodeCamp profile.
Mainly the idea is compile the contribution journey of a contributor which is a bit fragmented across platforms right now. It would be awesome to showcase this collectively.
We should list all the platforms that we think we can track and then evaluate what metrics we might want to display from each. On a per-platform basis we'll need to evaluate the API that can be used to collect those metrics. It sounds like @naomi-lgbt may have already started some of that.
We'll also want to consider how to link monitored contributors across each platform. IE: rexschrader on YouTube = saintpeter on GitHub = saintpeter74 on Reddit or whatever.
We could potentially create an interface for them to "claim" their accounts in some way, via Oauth on the various platforms? I don't think we necessarily want to be in the business of trying to link everyone together, but we can allow them to build their own profile. Maybe even add a Bio?
I don't want to go too overboard, but I like the idea that someone can say "I started by writing X articles (link to all articles), then did Y YouTube, then I contributed to the main Repo".
Yeah, my approach was going to be an account on the dashboard (with our own independent auth), then OAuth options to link each platform account in the user settings.
@raisedadead or @naomi-lgbt I created a skeleton for these prolific contributions of users over here https://github.com/SankarGaneshb/Virtuoso. Can you review and let me know, based on that, I can create a Pull request and do as per the requirements further. Awaiting your feedback on this. @SaintPeter have a look will it address your suggestion. Thanks.
@SankarGaneshb I took a look through your code. This looks like a reasonable start. I like how you have the aggregators broken out and modular. I imagine that we'd need to consider API key management and setup. I see that you just have placeholders for some of the integrations.
The getLinkedAccounts would need to identify which users had configured their connections and get a list of the specific areas which were configured. I'm not sure if this would be held in the main FCC database, with FCC users, or if there is a separate database which holds contributors.
We'd also need management tools - list of users and their linked accounts. Also, what happens when someone is no longer contributing? We need reporting to see when they have been inactive for a certain amount of time so we can no longer poll their contributions.
Regardless, this looks like a solid framework to build on.
I was planning to use the commit history to review the changes you had made, so I didn't have to explore the whole codebase again. Just, in general, you shouldn't be removing your Git history. The idea that it needs to be "clean" is wrongheaded. If anything, having a clear development history is better for you, since it shows that you did the work.
Can you please describe what changes you made? I'm not sure that it really matters, since there will need to be fundamental changes needed to use this in our codebase. If other folks want to chime in if this is the general framework to use, maybe we can get a basis for next steps?
I am extremely sorry about what happened. I was forced to make these mistakes because it was not allowing me to remove the unwanted files, and I was facing several issues, so I did a rebase. As you suggested, I created an admin page with a list of users and their active/inactive status along with that. Is there any framework that needs to be followed? Please let me know if I can incorporate those into my code base. Thanks.
Displaying the overall development trends of community projects
Recently, we are planning to introduce more community-specific features, such as:
Badge system visualization
Points / virtual currency (e.g., internal tokens like “Whale Coins”) calculation and display
Extended support for internal incentive mechanisms
As these new features will gradually become more tightly coupled with our own community characteristics, we are considering whether to separate community-specific parameters from the core logic during the upgrade process, and introduce internationalization and configurability to make the project adaptable to different GitHub organizations.
Before proceeding with structural refactoring, we would like to ask:
If a generalized version were available, would you be interested in trying it or potentially collaborating?
If there are currently no such plans, we completely understand.
We simply hope to understand potential demand before making architectural decisions regarding generalization.
Activity
naomi-lgbt commentedon Feb 27, 2024
A contributor "leaderboard" has been something I've spiked on a couple of times, but often gets tabled for more urgent work.
My latest iteration is in this repo. The API code specifically might be helpful.
SaintPeter commentedon Feb 27, 2024
We should list all the platforms that we think we can track and then evaluate what metrics we might want to display from each. On a per-platform basis we'll need to evaluate the API that can be used to collect those metrics. It sounds like @naomi-lgbt may have already started some of that.
We'll also want to consider how to link monitored contributors across each platform. IE: rexschrader on YouTube = saintpeter on GitHub = saintpeter74 on Reddit or whatever.
We could potentially create an interface for them to "claim" their accounts in some way, via Oauth on the various platforms? I don't think we necessarily want to be in the business of trying to link everyone together, but we can allow them to build their own profile. Maybe even add a Bio?
I don't want to go too overboard, but I like the idea that someone can say "I started by writing X articles (link to all articles), then did Y YouTube, then I contributed to the main Repo".
naomi-lgbt commentedon Feb 27, 2024
Yeah, my approach was going to be an account on the dashboard (with our own independent auth), then OAuth options to link each platform account in the user settings.
naomi-lgbt commentedon Feb 27, 2024
AH! That API never even got finished. I was porting over:
https://github.com/freeCodeCamp/scripts/tree/main/contributors/src/modules
tarikrital commentedon Apr 20, 2024
Did you come to some inspirations of excellent UX design regarding these pages?
raisedadead commentedon Apr 23, 2024
Not yet, but we will keep you posted. Thanks.
SankarGaneshb commentedon Jan 19, 2026
@raisedadead or @naomi-lgbt I created a skeleton for these prolific contributions of users over here https://github.com/SankarGaneshb/Virtuoso. Can you review and let me know, based on that, I can create a Pull request and do as per the requirements further. Awaiting your feedback on this. @SaintPeter have a look will it address your suggestion. Thanks.
SaintPeter commentedon Jan 19, 2026
@SankarGaneshb I took a look through your code. This looks like a reasonable start. I like how you have the aggregators broken out and modular. I imagine that we'd need to consider API key management and setup. I see that you just have placeholders for some of the integrations.
The
getLinkedAccountswould need to identify which users had configured their connections and get a list of the specific areas which were configured. I'm not sure if this would be held in the main FCC database, with FCC users, or if there is a separate database which holds contributors.We'd also need management tools - list of users and their linked accounts. Also, what happens when someone is no longer contributing? We need reporting to see when they have been inactive for a certain amount of time so we can no longer poll their contributions.
Regardless, this looks like a solid framework to build on.
SankarGaneshb commentedon Jan 24, 2026
@SaintPeter thanks for your feedback. I adjusted as per your suggestions, you can review it over here https://github.com/SankarGaneshb/Virtuoso.
@raisedadead or @naomi-lgbt did you get chance to review, what's your thoughts on this idea. Thanks in advance.
SaintPeter commentedon Jan 25, 2026
@SankarGaneshb Please don't do this:
I was planning to use the commit history to review the changes you had made, so I didn't have to explore the whole codebase again. Just, in general, you shouldn't be removing your Git history. The idea that it needs to be "clean" is wrongheaded. If anything, having a clear development history is better for you, since it shows that you did the work.
Can you please describe what changes you made? I'm not sure that it really matters, since there will need to be fundamental changes needed to use this in our codebase. If other folks want to chime in if this is the general framework to use, maybe we can get a basis for next steps?
SankarGaneshb commentedon Jan 30, 2026
I am extremely sorry about what happened. I was forced to make these mistakes because it was not allowing me to remove the unwanted files, and I was facing several issues, so I did a rebase. As you suggested, I created an admin page with a list of users and their active/inactive status along with that. Is there any framework that needs to be followed? Please let me know if I can incorporate those into my code base. Thanks.
1985312383 commentedon Feb 11, 2026
Hi everyone,
Our community currently maintains a member contribution visualization project:
https://github.com/datawhalechina/members-visualization
The project is mainly used for:
Visualizing organization members’ contributions (PRs / Issues / Commits, etc.)
Displaying the overall development trends of community projects
Recently, we are planning to introduce more community-specific features, such as:
Badge system visualization
Points / virtual currency (e.g., internal tokens like “Whale Coins”) calculation and display
Extended support for internal incentive mechanisms
As these new features will gradually become more tightly coupled with our own community characteristics, we are considering whether to separate community-specific parameters from the core logic during the upgrade process, and introduce internationalization and configurability to make the project adaptable to different GitHub organizations.
Before proceeding with structural refactoring, we would like to ask:
If there are currently no such plans, we completely understand.
We simply hope to understand potential demand before making architectural decisions regarding generalization.