Skip to content

πŸ”Ž Find how close you are to another GitHub user in less than 20 seconds

License

Notifications You must be signed in to change notification settings

jckli/gitcloser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitCloser Logo

Git as in the version control system "Git" & Closer as in "how close one is"

πŸ”Ž Find how close you are to another GitHub user in less than 20 seconds

GitCloser Bi-directional BFS algorithm is located at /backend/algorithm

GitCloser is a web application that makes it super easy to find out how close you are to another GitHub user. It utilizes a Bidirectional Breadth First Search (BFS) algorithm to find the (mostly shortest) path between two users on GitHub. Implemented in Go with go routines for concurrency, the algorithm takes around 20 seconds or less for most users on GitHub.

You can try it out at gitcloser.hayasaka.moe without deploying anything youself - just type in two GitHub usernames and click "Find Path"! If you want to self host it though, it'll take a bit of configuration.

Self-hosting

Prerequisites

  • Go 1.22
  • Node.js 22.3.0
  • GitHub account

Steps

  1. Clone the repository
  2. Create a GitHub OAuth App at https://github.com/settings/tokens?type=beta. You can just generate one with no scopes or permissions. Copy the API key.
  3. Create a .env file in the /backend directory with the following content:
GITHUB_TOKEN=YOUR_GITHUB_API_KEY
PORT=3001
  1. Run the backend server with go run main.go in the /backend directory
  2. Install the frontend dependencies with npm install in the /frontend directory
  3. Run the frontend server with npm run start in the /frontend directory
  4. You can find GitCloser at http://localhost:3000 in your browser

About

πŸ”Ž Find how close you are to another GitHub user in less than 20 seconds

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages