Skip to content

saksham-kumar1621/universal-git-pusher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Universal GitHub Pusher

Push any project to GitHub in seconds β€” with a beautiful web GUI. No terminal needed.

A locally-hosted web application that makes pushing code to GitHub as easy as drag & drop. Built with Node.js, Express, and a stunning glassmorphism dark-theme UI.

GitHub Push Tool Node.js Express License: MIT


🎯 What is this?

Universal GitHub Pusher is a developer tool that replaces the hassle of git init, git add, git commit, and git push with a one-click web interface. Perfect for:

  • πŸ†• Beginners who aren't comfortable with the terminal
  • ⚑ Developers who want to quickly push new projects to GitHub
  • πŸ“¦ Anyone who has a project folder and wants it on GitHub β€” fast

✨ Features

Feature Description
🎨 Beautiful UI Premium dark glassmorphism design with animated particle backgrounds
πŸ“‚ Drag & Drop Drag a project folder from File Explorer directly into the app
πŸ” Smart Detection Auto-detects project type β€” Node.js, Python, Java, Go, Rust, C#, Flutter, and more
πŸ“ Gitignore Templates 10+ pre-built .gitignore templates, auto-selected for your project
πŸ§™ Step-by-Step Wizard Guided 5-step flow: Select β†’ Configure β†’ Gitignore β†’ Commit β†’ Push
πŸ”„ Existing Repos Push to existing GitHub repos or create new ones β€” handles both
πŸ“‹ Push History Track your recent pushes with timestamps
πŸ” Secure Your GitHub token stays local β€” never sent anywhere except GitHub's API
πŸ–₯️ Works Everywhere Runs on Windows, macOS, and Linux

πŸ–ΌοΈ Screenshots

The app features a premium dark theme with glassmorphism effects, animated particles, and a step-by-step push wizard.

πŸš€ Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/saksham-kumar1621/universal-git-pusher.git
cd universal-git-pusher

# Install dependencies
npm install

# Start the server
npm run dev

Open your browser at http://localhost:3000 and paste your GitHub token to get started!

Creating a GitHub Token

  1. Go to GitHub β†’ Settings β†’ Tokens β†’ New (Classic)
  2. Check scopes: repo and read:user
  3. Click Generate token β†’ Copy it
  4. Paste it into the app's connect screen

πŸ§™ How It Works

1️⃣  Select Folder    β†’  Browse or drag & drop any project folder
2️⃣  Configure Repo   β†’  Set name, description, public/private
3️⃣  Gitignore         β†’  Pick a template (auto-detected for you)
4️⃣  Commit            β†’  Write a commit message, choose branch
5️⃣  Push!             β†’  Watch it go live on GitHub πŸŽ‰

πŸ“ Project Structure

universal-git-pusher/
β”œβ”€β”€ server/
β”‚   β”œβ”€β”€ index.js                  # Express server entry point
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ auth.js               # GitHub authentication routes
β”‚   β”‚   β”œβ”€β”€ git.js                # Git operations (init, add, commit, push)
β”‚   β”‚   β”œβ”€β”€ github.js             # GitHub API (create repo, check name)
β”‚   β”‚   └── filesystem.js         # File browsing & folder scanning
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ gitService.js         # simple-git wrapper with token auth
β”‚   β”‚   β”œβ”€β”€ githubService.js      # Octokit wrapper for GitHub API
β”‚   β”‚   └── fileService.js        # File system operations
β”‚   └── utils/
β”‚       β”œβ”€β”€ gitignoreTemplates.js  # 10+ .gitignore templates
β”‚       └── detectProject.js       # Auto-detect project type
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ index.html                 # Single-page app shell
β”‚   β”œβ”€β”€ css/style.css              # Glassmorphism dark theme (1400+ lines)
β”‚   └── js/
β”‚       β”œβ”€β”€ app.js                 # Main controller + particle animation
β”‚       β”œβ”€β”€ api.js                 # HTTP API client
β”‚       └── components/
β”‚           β”œβ”€β”€ auth.js            # GitHub PAT authentication
β”‚           β”œβ”€β”€ dashboard.js       # Profile card + push history
β”‚           β”œβ”€β”€ wizard.js          # 5-step push wizard + drag & drop
β”‚           └── toast.js           # Toast notifications
β”œβ”€β”€ .env.example                   # Environment variable template
β”œβ”€β”€ .gitignore
β”œβ”€β”€ package.json
└── README.md

πŸ› οΈ Tech Stack

Layer Technology Purpose
Server Express.js HTTP API server
Git simple-git Git CLI wrapper
GitHub API Octokit Repository management
Frontend Vanilla JS No build step, fast loading
Styling Vanilla CSS Glassmorphism + animations

🀝 Contributing

Contributions are welcome! Feel free to:

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

MIT License β€” use it however you like!


Made with ❀️ by One Saksham

About

πŸš€ Push any project folder to GitHub with a beautiful dark-themed web GUI. Drag & drop, auto-detect project type, .gitignore templates, and one-click push. No terminal needed!

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors