About RepositoryStats
RepositoryStats attempts to index all popular Github repositories to find trends and allow users to browse/compare historical repository data.
Indexing Criteria
To keep within the limits of the Github GraphQL API we need to be a little selective on which repositories to index. At the moment there are only two criteria a repository needs to fulfil to be indexed by RepositoryStats:
- It must have had at least one push since January 2022
- It must have a specific number of stars depending on when the repository was created, currently: >= 2023 (25 stars), 2022 (30 stars), 2021 (35 stars), 2020 (40 stars), 2019 (45 stars) and <= 2018 (50 stars).
Once a repository is indexed, even if we update the criteria the repository will remain in the index.
Credits
We used multiple open source projects to assist in the making of RepositoryStats.
The backend is written in ASP.NET WebAPI
The GraphQL-Client .NET library is used to interact with the Github GraphQL API
The responses from the Github API are cached in a PostgreSQL database using the npgsql library. When there's large quantities of data changing we utilise the EFCore.BulkExtensions library to speed up insertions
All the charts use the ApexCharts javascript library and throughout the site we use icons from the FontAwesome and DevIcon icon packs
Other snippets / images used:
- Loader: Derek Morash (CodePen)
- Theme toggle: RefractedColor (CodePen)
- Inactive Repository Icon: OpenClipart