All about the Challenge Tracker
Welcome to the about page of the Challenge Tracker! This page is about the tech behind the tracker.
So, how does the Challenge Tracker handle stuff?
When a profile is looked up, the data will be directly pulled from the League of Legends API. This ensures, that the data is always up to date but can also lead to problems, if the League of Legends API has an outage. Looked up data will be stored for 15 minutes, before it will be pulled from the API again.
If the looked up profile is new, the players challenges will be directly into a database, otherwise only modified challenges will be updated.
We may not store challenge data for an inactive profile.
Leaderboards are usually generated every hour or two. For this, we compare our data with the leaderboard data from Riot Games and update a profile, if the data has changed. Unfortunaly, some challenges don't support leaderboards, so the leaderboards are completely generated on our end.
As we don't know how to get challenge data for non-supported leaderboards, we have to update every player in our database to generate a leaderboard effectively. Rotating through all 4 million summoners in our database can take 30-40 hours, so non-supported leaderboards are lacking a little bit behind. However, verifying a profile or lookup a profile does help to overcome this problem.
When leaderboards are generated, they are generated per region and then merged into a single leaderboard file which is eventually sent to the frontend
The website is currently written in ReactJS and the backend is mostly written in NodeJS, Python and PHP. As ReactJS does not support server side rendering, the next approach is to rewrite the frontend in NextJS. You can check out the source code for the frontend on Github (DarkIntaqt/challenges).
Make LoL Challenges easily understandable and accessible from everywhere.
First, this project is old. The first version was created just after challenges hit the PBE. That was around November 2021, 6 months before the initial challenge release. Unfortunately, neither the first version of the source code nor screenshots exist of the oldest version. The first version of this site was published exactly 5 days after the Challenge release. Even though it wasn't publicly shared, there were some people using the site already.
The very first version was coded in PHP. PHP was slow and not very reactive (haha), that's why the project was re-written in ReactJS. Leaderboards were added shortly after that.
Whether helping with the source code, translating the site or just giving feedback. Without contributors, this project probably wouldn't have gotten anywhere near this far:
Thanks a lot to BlossomiShymae for migrating huge parts of the old page into nextJS. But not just migrating but also refactoring, documentating and helping with the new nextJS page. BlossomiShymae's GitHub
Thanks a lot for your feedback, the image analyzation and optimization! Additionally, thanks a lot for the Spanish translation.
Thanks a lot for finding several severe bugs, the and the great and creative feedback. Most of the feedback has made it 1:1 into the site.
How can I navigate the leaderboard page
You can apply a ton of filters. Shift+Leftclick will allow you to select serveral regions at once, Rightclick will select every region except the clicked.
What are all these filter options on a profile page?
Well there are a lot of options, but I will explain a few in detail which are not well described on the site.
By switching between these two buttons you can change the display options for the challenges. A list and a compact mode is available.
Set thresholds to master
By setting the thresholds to master you can easily check how many points you need until you 'maxes' a challenge.
Only show challenges which (still) gives points
Thiis filter options removes all challenges where you can't gain any new points from.
My challenges are not updating
That's bad. Usually, challenges update around every 15 minutes, leaderboards around every 30 minutes (maybe longer due to caching). If your challenges don't update at all, you may contact me on twitter: @darkintaqt.
The leaderboard positions are wrong
That is our fault. Our leaderboard positions, escpecially the top leaderboards positions are more up to date than the Riot ones. We will keep it that way to serve more accurate leaderboards, sorry about your rankings.
My challenge doesn't update even though I'm over the threshold
You will most likely be promoted in the next 24 hours as the Master+ leaderboards do not update immediately.
I don't want to appear here.
That's sad but ok, so just send me a direct message on twitter: @darkintaqt, and I'll try to remove you within the next 1-2 days. However, this will not prevent you from being lookup up by users who know your name and your username could be displayed longer (1-4 weeks) in search engines. This will also not remove your scores from the leaderboards, only your name and profileIcon. This is because the leaderboards must not be falsified.
What about my privacy and the data you collect about me?
What are these blue checkmarks
These blue checkmarks are used to show when a user is verified. Verified users have connected their account with their Riot Games Account. Verified users can see their challenge progress per game and much more. If you don't want to be verified, consider writing an email to the email address in the Imprint.
What about the U.GG logo on a users profile page?
This website is allowd to use the U.GG logo, but is not affiliated with U.GG.