Skip to content

Build pages for showcasing prolific contributions #6

Description

@raisedadead

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.

Activity

  1. converted this from a draft issue on Feb 27, 2024
  2. naomi-lgbt commented on Feb 27, 2024

    @naomi-lgbt
    Member

    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.

  3. SaintPeter commented on Feb 27, 2024

    @SaintPeter
    Member

    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".

  4. naomi-lgbt commented on Feb 27, 2024

    @naomi-lgbt
    Member

    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.

  5. naomi-lgbt commented on Feb 27, 2024

    @naomi-lgbt
    Member

    AH! That API never even got finished. I was porting over:

    https://github.com/freeCodeCamp/scripts/tree/main/contributors/src/modules

  6. tarikrital commented on Apr 20, 2024

    @tarikrital
    Contributor

    Did you come to some inspirations of excellent UX design regarding these pages?

  7. raisedadead commented on Apr 23, 2024

    @raisedadead
    MemberAuthor

    Not yet, but we will keep you posted. Thanks.

  8. SankarGaneshb commented on Jan 19, 2026

    @SankarGaneshb

    @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.

  9. SaintPeter commented on Jan 19, 2026

    @SaintPeter
    Member

    @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.

  10. SankarGaneshb commented on Jan 24, 2026

    @SankarGaneshb

    @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.

  11. SaintPeter commented on Jan 25, 2026

    @SaintPeter
    Member

    @SankarGaneshb Please don't do this:

    Image

    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?

  12. SankarGaneshb commented on Jan 30, 2026

    @SankarGaneshb

    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.

  13. 1985312383 commented on Feb 11, 2026

    @1985312383

    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 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions