GIT stars

Discover your ranking on GitHub

This project was inspired by Git Awards!
Since it apparently isn't supported anymore we thought we'd take the concept back and add our own touch to it.

This was made in couple weeks as an exercise in the context of an internship.
We'd love some feedback so don't hesitate to open an issue on the GitHub repo or send us a Tweet to tell us about your experience!

Original made by @pgrimaud and @nispeon

About Git Stars

Frequently asked questions

Who are we?

This website was created by @pgrimaud and @nispeon.

🤠 pgrimaud:

Hola! I'm Pierre, born and raised in Paris 🥖. I proposed this project to Julien for the beginning of his internship with me.
The main idea was to train him on PHP, Symfony and a very large database, but also to discover other ways of processing data, asynchronously with RabbitMQ and the Symfony Messenger component.
For me, the biggest challenge was to get a lot of data from Github, aggregate it and have good performance on our website.
Drop me a message on Twitter or feel free to open an issue on the repository. ✌️

🐱 Nispeon:

Hi, my name's Julien and I'm a student in web development in Paris.
This website was made during my internship with Pierre in the transition between my 2nd and 3rd year of college.
It was supposed to be work, but it turned out to be a really fun exercise, and it taught me a lot of PHP and coding in general.
I'm not the most skillful developer out there (yet!), but I certainly aim to get better and I'd be happy to talk about development with you, it's always a great way to learn new stuff!
Feel free to reach me on Twitter, and in the meantime, enjoy your visit on Git Stars!

How does it work?

It's really not that complicated, though it still required some real thinking.

Without going into details, we are fetching data from GitHub through their API and store it in our database.
Then whenever we find that someone has written something in the "location" input on their account, we use the Photon API to geolocate it, and from there we can create our region-based rankings.

There's over 56 million Github profiles though, how will you fetch all that?

Well fetching everything is no easy task.
To get all that info, little by little, we have automated the fetching process, and the website is always filling up!
We put a priority on active users though, as to get the most relevant accounts first.
We've also put in place a priority-queue, so that whenever anyone looks for a user on the website, it's profile is immediately added to our database.

There's a limit of 5000 calls per hour on the Github API, getting everything will take over a year won't it?

If you ask that, then you must be more acquainted with the API than we were when we started.
But no sweat! You might have noticed that you need to register on the website with your GitHub account to do certain actions on the website,
Well when you do, we get access to a token created as a link between your account and our application, and it allows us to do two things:

1 - Get access to the information about your public repositories (and only that!), so nothing anyone couldn't already get,
2 - Call the API with that token that specifically was created for our app, so no downsize for you at all!

What that means is that by registering over here, you allow us to fill our database even faster, without giving us any info or anything, so please consider registering

That's where miscellaneous questions will go

It should fill up over time, we'll add the questions asked on Twitter/Github here for everyone.
If you have any queries that aren't already answered, don't hesitate to reach us!

How can I be user of the day?

Users of the day are randomly selected among the many users on our website.
There are two conditions to be selected:

1 - Having at least 1000 stargazers, this is to avoid selecting inactive users,
2 - Having your twitter handle on your GitHub profile, we tweet our selected users everyday and @ them on Twitter so that's a requirement.

Once these two conditions are respected, you will enter the random pool from which our app draws each day.

Why is the location on my profile wrong?

The location on your profile comes from the location field on your GitHub profile.
All we do is send it to the Photon API to try and turn it into a real address.

But the API can be wrong, especially when the place entered isn't a real one.
In that case, you have several options:

1 - Fix the location on your GitHub profile directly and then refresh your account on Git Stars,
2 - Reach us on Twitter to tell us,
3 (the best one) - Fork our repository and add your GitHub location to the fixLocation function, to change it into something more recognizable (it will not change the location that appears on your profile, only the location used for the rankings).

Technologies used to build this website

We used several technologies to build this website. You can find the main ones below:

Technologies:

PHP 8 - https://www.php.net/

Symfony (& components) - https://symfony.com/

MariaDB - https://mariadb.org/

RabbitMQ - https://www.rabbitmq.com/

Redis - https://www.redis.io/

Services:

GitHub API - https://docs.github.com/en/rest

GCP Big Query dataset by GH Archive - https://www.gharchive.org/

Photon by Komoot - https://photon.komoot.io/

Server hosted by Scaleway and CDN provided by Cloudflare

Cookies & Privacy

All the data we fetch is public data made available by GitHub.
If nonetheless you wish to remove any information that might be appearing on our website, reach us on Twitter and we will take care of it

Our site only uses necessary cookies related to your session on the website,
no other cookies or tracers are in place.