8000 GitHub - Krish120003/gitfaster: Gitfaster is a minimal, blazing fast client that makes GitHub feel modern again.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on May 12, 2025. It is now read-only.
/ gitfaster Public archive

Gitfaster is a minimal, blazing fast client that makes GitHub feel modern again.

Notifications You must be signed in to change notification settings

Krish120003/gitfaster

Repository files navigation

Gitfaster Logo
Gitfaster is a minimal, blazing fast client to make GitHub feel modern again.

Demo

gitfaster-demo.mp4

Check it out live at gitfaster.dev

You can also try by replacing any github.com URL with githubf.com to switch to GithubF[aster].

Speed

This project is a submission to the Next.js Global Hackathon, for the speed category.

Gitfaster was created out of personal frustration with GitHub's slow navigation. I often browse repositories to learn or reference examples, but GitHub's Multi-Page Application makes it painfully slow to navigate quickly - even when I already know exactly which file or directory I'm looking for.

Gitfaster directly addresses this issue by prioritizing speed and responsiveness. It achieves this through two primary optimizations:

  • Efficient Caching: GitHub API responses are cached intelligently to minimize redundant requests, drastically improving load times.

  • Predictive Prefetching: When a user visits a page, we already know all the possible links they might navigate to next. In theory, we could fetch all of these pages in the background to make navigation instantaneous. However, prefetching every visible link would be resource-intensive and inefficient. To optimize performance, Gitfaster employs a "just-in-time" prefetching strategy by loading content early when the user hovers over a link. This approach ensures that the next page loads instantly upon clicking, delivering an exceptionally snappy experience without unnecessary resource consumption.

The end result is a much faster and more enjoyable experience for quickly navigating and referencing code.

Installation

  1. Clone the repository:

    git clone https://github.com/krish120003/gitfaster.git
  2. Navigate to the project directory:

    cd gitfaster
  3. Install the dependencies using pnpm:

    pnpm install
  4. Create a .env file based on the .env.example file and fill in the required environment variables:

    cp .env.example .env

    Make sure to configure the following variables:

    • AUTH_SECRET: Generate a new secret using openssl rand -base64 64.
    • GITHUB_ID: Your GitHub application client ID.
    • GITHUB_SECRET: Your GitHub application client secret.
    • DATABASE_URL: PostgreSQL database connection URL.
    • REDIS_URL: Redis connection URL.
    • GITHUB_TOKEN: GitHub Personal Access Token.
  5. Start the local database using Docker (optional):

    ./start-database.sh
  6. Push the Drizzle schema to the database:

    pnpm db:push
  7. Start the development server:

    pnpm dev

About

Gitfaster is a minimal, blazing fast client that makes GitHub feel modern again.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0