Just wanted to discuss this (Platform where can users can get realtime updates on their PRs and points) #917
-
So i found out that from the very first day i am curious to know my score everyday but i can't check it anytime so i need to wait for specific time right like it updates only 2 times a day so i tried to do a very short research on this that if we can do something that we have the username of a person (github) we can use that to access the PRs of that person so i found we can use the github api for that and then i tried if we can filter out the PRs based on the labels on that PRs and then we can traverse through those filtered PRs and get the level label and calculate the score based on the level means 1 - 10 points, 2 - 25 points and 3 - 45 points and so we can do that and add up those and provide the final score of that person in real time. That research i did so i wanted to tell you this also one major issue with this is github api has rate limits but if we are using personal access token then it is 5000 req per hour but still it might not be enough for 30000 people if accessing at same time but github provides 60 req per hour on single IP address so if we provide a platform where users can enter the username then they have unique IPs so it might not overload the server also i think. So i wanted to discuss on this your team might have already tried this out or thought about this but i just wanted to know if it can be possible or helpful for the team also i have done the same thing but differenly i have done scraping technique means i scape the data from all my PRs i don't have PRs on other repos so a + point for me so i traverse all my PRs which are merged and scrape the level and then integer part from it and then calculate my score in real time so it is helpful for me but it might not be optimal for all users and not all users can do it and it can be done on personal systems only so not optimal for all. So @sanjay-kv @AKSHITHA-CHILUKA @MastanSayyad Wanted to know your thoughts on this, if it could help you out or in some way. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Thank you for sharing your research and ideas! We really appreciate your initiative in trying to improve the real-time score tracking for contributors. However, under our privacy policy, we cannot use users' IP addresses, and as you rightly mentioned, GitHub’s API rate limits make it difficult to implement this method at a large scale. Our team is already familiar with this approach and has tried using both the GitHub API and GraphQL. Unfortunately, for such a large user base, it's not feasible to follow this method efficiently. Additionally, scraping data for 30,000 contributors isn't practical either. Currently, the leaderboard updates twice a day, and each update takes about 30 minutes to process all repositories and PRs. We are already using GraphQL for the leaderboard updates, previously, we were using the GitHub API. That said, we are actively working on ways to improve the system and are exploring possibilities to make the contributor leaderboard update in real-time, similar to how the Campus Ambassador leaderboard works. but as the program is ongoing we don't want to hinder the process so we have planned for this in our upcoming programs It's great to see contributors thinking outside the box thanks again for your suggestions and for thinking proactively! |
Beta Was this translation helpful? Give feedback.
Hi @tarunkumar2005
Thank you for sharing your research and ideas! We really appreciate your initiative in trying to improve the real-time score tracking for contributors.
However, under our privacy policy, we cannot use users' IP addresses, and as you rightly mentioned, GitHub’s API rate limits make it difficult to implement this method at a large scale. Our team is already familiar with this approach and has tried using both the GitHub API and GraphQL. Unfortunately, for such a large user base, it's not feasible to follow this method efficiently.
Additionally, scraping data for 30,000 contributors isn't practical either. Currently, the leaderboard updates twice a day, and each update tak…