https://github.com/jckli/gitcloser
🔎 Find how close you are to another GitHub user in less than 20 seconds
https://github.com/jckli/gitcloser
fiber git github go nextjs users
Last synced: about 2 months ago
JSON representation
🔎 Find how close you are to another GitHub user in less than 20 seconds
- Host: GitHub
- URL: https://github.com/jckli/gitcloser
- Owner: jckli
- License: gpl-3.0
- Created: 2023-07-21T11:01:24.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-24T21:56:10.000Z (over 1 year ago)
- Last Synced: 2024-07-25T00:20:50.215Z (over 1 year ago)
- Topics: fiber, git, github, go, nextjs, users
- Language: TypeScript
- Homepage: https://gitcloser.hayasaka.moe
- Size: 159 KB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

_**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](https://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](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:
```bash
GITHUB_TOKEN=YOUR_GITHUB_API_KEY
PORT=3001
```
4. Run the backend server with `go run main.go` in the `/backend` directory
5. Install the frontend dependencies with `npm install` in the `/frontend` directory
6. Run the frontend server with `npm run start` in the `/frontend` directory
7. You can find GitCloser at `http://localhost:3000` in your browser