Daily Stars Explorer
About this project
Table of Contents
Introduction
Do you ever wonder about the complete history of stars for GitHub repositories? GitHub's REST APIs come with certain limitations, allowing you to retrieve only up to 40,000 stars per repository. For those tracking a repository with more stars, this limitation can be quite frustrating.
Don't be blinded by stars! While they show popularity, they don't guarantee quality.
Underdog libraries with amazing potential often have low counts.
Remember, even high-starred repos can fizzle out - stars can decline, too!
In my quest for code, I've found hidden gems with few stars that were perfect, while some popular choices were bloated or on the way down.
A growing or stable star count, rather than just a total high number, suggests sustainable interest and community engagement.
In Factors contributing to daily stars I explain what are the reasons why some repos can get high number of stars.
Hosted version
There's a version hosted that is using my PAT.
A new project was created to make this more mobile friendly and can be found here.
Run locally or self-host using Docker image
If you want to run locally or self-host you can use the docker image available in ghcr
.
Requirements:
- Docker
- GitHub account to generate a Personal Access Token (PAT) to call GH APIs
- A
.env
file and you can refer to .env.example.
Only PAT
is required, the others are needed if you want to visualise the feeds from different providers.
PAT
can be generated with no access to any of your repos, is just needed to call GraphQL APIs on public reposistories.
docker run --rm --name daily-stars-explorer --env-file .env -p 8080:8080 ghcr.io/emanuelef/daily-stars-explorer:latest
Then access the UI at localhost:8080
.
Note: If you've previously run the application and encounter errors accessing the /assets
path, hard refresh your browser to ensure the latest version of the UI is loaded. This can usually be done by pressing Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (macOS).
Run locally
Backend in Go
# Make sure you have Go installed
cp .env.example .env # Create your environment file
go run main.go
An .env
file is needed as described in the previous section.
The backend runs on port 8080.
Frontend Web
cd website
npm install
npm start
Demo
Single repo
Technologies & License
Quick Deploy
Deploy this project to cloud platforms with one click