Skip to content

mohammad-hassani/github-contributions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ GitHub Contributions Tracker

GitHub Contributions Electron License Platform

A minimal, beautiful desktop app to track your GitHub contributions in real-time

Download

โœจ Features

  • ๐ŸŽจ Beautiful Visual Display - GitHub-style contribution graph right on your desktop
  • ๐ŸŒ™ Dark/Light Themes - Switch between themes to match your preference
  • ๐Ÿ”ง Minimal Configuration - Just add your GitHub username and token
  • ๐Ÿ“ฑ Always Accessible - System tray integration for quick access
  • ๐Ÿ–ฑ๏ธ Draggable Window - Position it anywhere on your screen
  • ๐Ÿ’พ Persistent Settings - Your preferences are saved automatically
  • ๐ŸŒ Offline Detection - Smart handling of online/offline states
  • ๐Ÿ”„ Real-time Updates - Fetches the latest contribution data

๐Ÿš€ Quick Start

Installation

Download Pre-built Binaries

  1. Go to the Releases page
  2. Download the appropriate version for your system:
    • Linux: .deb or .AppImage

Build from Source

# Clone the repository
git clone https://github.com/mohammad-hassani/github-contributions.git
cd github-contributions

# Install dependencies
npm install

# Run the application
npm start

Initial Setup

  1. Right-click on the app window and select "Settings"
  2. Enter your GitHub username
  3. Create a GitHub Personal Access Token:
  4. Choose your preferred theme (Light/Dark)
  5. Click Save

๐Ÿ“ธ Screenshots

App Icon

The app displays your contribution graph in a compact, draggable window.

๐ŸŽฎ Usage

Basic Controls

  • Right-click anywhere on the app to open the context menu
  • Left-click and drag to move the window around
  • System tray icon - Click to show/hide the app
  • Settings panel - Configure username, token, and theme

Context Menu Options

  • Open - Show and focus the app window
  • Settings - Open the configuration panel
  • Close - Exit the application

๐Ÿ› ๏ธ Development

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Setup

# Clone the repository
git clone https://github.com/mohammad-hassani/github-contributions.git
cd github-contributions

# Install dependencies
npm install

# Run in development mode
npm start

Building for Distribution

# Build for Linux
npm run build

# Build specific formats
npm run build:deb        # Linux .deb package
npm run build:appimage   # Linux .AppImage
npm run release          # Build and publish to GitHub

Project Structure

github-contributions/
โ”œโ”€โ”€ main.js              # Electron main process
โ”œโ”€โ”€ renderer.js          # Frontend logic and API calls
โ”œโ”€โ”€ index.html           # UI structure and styling
โ”œโ”€โ”€ icon.png             # Application icon
โ”œโ”€โ”€ package.json         # Dependencies and build config
โ””โ”€โ”€ README.md           # This file

๐Ÿ”ง Configuration

GitHub Token Setup

The app requires a GitHub Personal Access Token for API access:

  1. Visit GitHub Settings > Tokens
  2. Click "Generate new token (classic)"
  3. Give it a descriptive name (e.g., "Contributions Tracker")
  4. No scopes required - the app only needs public access
  5. Click "Generate token"
  6. Copy the token and paste it in the app settings

Settings Storage

  • Settings are stored locally using localStorage
  • Window position and size are automatically saved
  • All data remains on your local machine

๐Ÿ› Troubleshooting

Common Issues

Q: App shows "No contribution data found"

  • Verify your GitHub username is correct
  • Ensure your token is valid and not expired
  • Check your internet connection

Q: App window disappears

  • Check the system tray for the app icon
  • Right-click the tray icon and select "Open"

Q: Token authentication fails

  • Generate a new token from GitHub settings
  • Ensure no extra spaces when pasting the token
  • Verify the token hasn't expired

Q: App won't start

  • Try running with --no-sandbox flag: electron . --no-sandbox
  • Ensure you have proper display server permissions (Linux)
  • Check that Node.js and Electron dependencies are properly installed

Debug Mode

To enable debug logging:

  1. Open developer tools with F12 (if enabled)
  2. Check the browser console for API responses and errors

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes and test thoroughly
  4. Commit your changes: git commit -m 'Add some feature'
  5. Push to the branch: git push origin feature-name
  6. Open a Pull Request

Areas for Improvement

  • Add contribution streak counter
  • Support for multiple GitHub accounts
  • Customizable color themes
  • Export contribution data
  • Notification for new contributions
  • Integration with GitHub Actions

๐Ÿ“„ License

This project is licensed under the ISC License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Electron - Cross-platform desktop app framework
  • GitHub GraphQL API - For fetching contribution data
  • The open-source community for inspiration and tools

๐Ÿ“ž Support

If you encounter any issues or have suggestions:


Made with โค๏ธ by Mohammad Hassani

โญ Star this repo if it helped you track your GitHub journey!

About

A minimal, beautiful desktop app to track your GitHub contributions in real-time

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published