Skip to content

Coding-Meet/Git-Backup-Hub

Repository files navigation

🧩 Git Backup Hub

Git Backup Hub

Click the image above to watch a demo of the Git Backup Hub App on YouTube.

Git Backup Hub is a cross-platform desktop application built with Kotlin Multiplatform and Compose for Desktop, designed to help developers easily back up their GitHub repositories — both public and private — with progress tracking and elegant UI.


🚀 Features

  • Fetch Repositories — Retrieve all repositories (public & private) for any GitHub user.
  • Private Repositories — Use a Personal Access Token (PAT) to fetch and clone private repos.
  • Selective Backup — Select one or multiple repositories to back up.
  • Destination Path — Choose any local folder as your backup destination.
  • Progress Tracking — Real-time progress with percentage, ETA, and logs.
  • Search & Filter — Quickly find repositories by name or type.
  • Cancel Download — Stop an active download at any time.
  • Modern UI — Clean Material 3 design inspired by GitHub’s dark and light themes.

🧠 How to Use

  1. Enter your GitHub username.
  2. (Optional) Toggle “Use Access Token” and provide your Personal Access Token to access private repositories.
  3. Click Fetch to load all repositories.
  4. Select repositories manually or use “Select All”.
  5. Click Browse to choose a local backup folder.
  6. Click Download Repositories to start the backup process.
  7. Track progress, cancel downloads, or monitor logs in real-time.

🔑 How to Generate a Personal Access Token

  1. Go to GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens.
  2. Or use the direct link:
    https://github.com/settings/personal-access-tokens
  3. Click Generate new token.
  4. Select all scopes (or at least repo and read:user).
  5. Copy the token and paste it into Git Backup Hub when prompted.

Generate Token Screenshot


🧰 Tech Stack

Layer Technology
UI Compose for Desktop (Material 3)
API Client Ktor
Dependency Injection Koin
Serialization kotlinx.serialization
Git Operations ProcessBuilder (git clone)
Logging kermit
Platform Kotlin Multiplatform (JVM / Desktop)

🖥️ How to Run Git Backup Hub

After downloading the latest release from the Releases page, follow the steps based on your operating system.

Windows

  1. Download the .msi installer from the Assets section.
  2. Double-click the file and follow the setup instructions.
  3. Once installed, you can launch Git Backup Hub from the Start menu.

macOS

  1. Download the .dmg file from the Assets section.
  2. Double-click it to open, then drag Git Backup Hub to the Applications folder.
  3. The first time you open the app, macOS might show a warning:

“Git Backup Hub can’t be opened because it is from an unidentified developer.”

To fix this:

  1. Open System Settings → Privacy & Security
  2. Scroll down to Security
  3. Click Allow Anyway next to “Git Backup Hub”
  4. Reopen the app — it will launch successfully.

macOS sometimes blocks unsigned apps for security reasons. Once allowed from Privacy & Security, the app will work normally.

Linux (Ubuntu/Debian)

  1. Download the .deb package from the Assets section.
  2. Open a terminal in the download directory and run:
    sudo dpkg -i git-backup-hub_1.0.0-1_amd64.deb
  3. After installation, you can launch the app from your system menu or by running:
    git-backup-hub

Run from Source (Development Mode)

If you want to build and run the app from source:

macOS/Linux

./gradlew :composeApp:run

Windows

.\gradlew.bat :composeApp:run

🎯 Next Goals

Here’s what’s coming next for Git Backup Hub 👇

  • 🗂️ Backup History Panel — View previous backups with timestamps and file sizes.
  • 🔔 Desktop Notifications — Get notified when a backup finishes or encounters an error.
  • 🕒 Scheduled Backups — Automatically schedule daily or weekly backups.

Contributing 🤝

Contributions, issues, and feature suggestions are always welcome! 🙌 If you have ideas to make Git Backup Hub better, feel free to open a pull request or start a discussion.


Screenshots

Dark Theme

Dark Theme Screenshot Dark Theme Screenshot Dark Theme Screenshot

Light Theme

Light Theme Screenshot Light Theme Screenshot Light Theme Screenshot

❤ Show your support

Give a ⭐️ if this project helped you!

Buy Me A Coffee

Your generosity is greatly appreciated! Thank you for supporting this project.

Connect with me

Author

Meet

💬 “Secure and sync all your Git repositories — effortlessly.”