Skip to content

Commit 103f4ae

Browse files
v1.1.0
1 parent 5c61c5c commit 103f4ae

3 files changed

Lines changed: 295 additions & 32 deletions

File tree

README.md

Lines changed: 227 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,227 @@
1-
# github-contributions
1+
# 🎯 GitHub Contributions Tracker
2+
3+
<div align="center">
4+
5+
![GitHub Contributions](https://img.shields.io/badge/GitHub-Contributions-green?style=for-the-badge&logo=github)
6+
![Electron](https://img.shields.io/badge/Electron-33.0.0-blue?style=for-the-badge&logo=electron)
7+
![License](https://img.shields.io/badge/License-ISC-purple?style=for-the-badge)
8+
![Platform](https://img.shields.io/badge/Platform-Linux-orange?style=for-the-badge)
9+
10+
*A minimal, beautiful desktop app to track your GitHub contributions in real-time*
11+
12+
[![Download](https://img.shields.io/badge/Download-Now-brightgreen?style=for-the-badge)](https://github.com/mohammad-hassani/github-contributions/releases)
13+
14+
</div>
15+
16+
## ✨ Features
17+
18+
- 🎨 **Beautiful Visual Display** - GitHub-style contribution graph right on your desktop
19+
- 🌙 **Dark/Light Themes** - Switch between themes to match your preference
20+
- 🔧 **Minimal Configuration** - Just add your GitHub username and token
21+
- 📱 **Always Accessible** - System tray integration for quick access
22+
- 🖱️ **Draggable Window** - Position it anywhere on your screen
23+
- 💾 **Persistent Settings** - Your preferences are saved automatically
24+
- 🌐 **Offline Detection** - Smart handling of online/offline states
25+
- 🔄 **Real-time Updates** - Fetches the latest contribution data
26+
27+
## 🚀 Quick Start
28+
29+
### Installation
30+
31+
#### Download Pre-built Binaries
32+
33+
1. Go to the [Releases](https://github.com/mohammad-hassani/github-contributions/releases) page
34+
2. Download the appropriate version for your system:
35+
- **Linux**: `.deb` or `.AppImage`
36+
37+
#### Build from Source
38+
39+
```bash
40+
# Clone the repository
41+
git clone https://github.com/mohammad-hassani/github-contributions.git
42+
cd github-contributions
43+
44+
# Install dependencies
45+
npm install
46+
47+
# Run the application
48+
npm start
49+
```
50+
51+
### Initial Setup
52+
53+
1. **Right-click** on the app window and select **"Settings"**
54+
2. Enter your **GitHub username**
55+
3. Create a **GitHub Personal Access Token**:
56+
- Go to [GitHub Settings > Developer settings > Personal access tokens](https://github.com/settings/tokens)
57+
- Click "Generate new token (classic)"
58+
- No scopes needed - just create a simple token
59+
- Copy and paste the token into the app
60+
4. Choose your preferred **theme** (Light/Dark)
61+
5. Click **Save**
62+
63+
## 📸 Screenshots
64+
65+
<div align="center">
66+
<img src="https://github.com/mohammad-hassani/github-contributions/raw/main/icon.png" alt="App Icon" width="120">
67+
</div>
68+
69+
*The app displays your contribution graph in a compact, draggable window that stays on top of other applications.*
70+
71+
## 🎮 Usage
72+
73+
### Basic Controls
74+
75+
- **Right-click** anywhere on the app to open the context menu
76+
- **Left-click and drag** to move the window around
77+
- **System tray icon** - Click to show/hide the app
78+
- **Settings panel** - Configure username, token, and theme
79+
80+
### Context Menu Options
81+
82+
- **Open** - Show and focus the app window
83+
- **Settings** - Open the configuration panel
84+
- **Close** - Exit the application
85+
86+
## 🛠️ Development
87+
88+
### Prerequisites
89+
90+
- Node.js (v16 or higher)
91+
- npm or yarn
92+
93+
### Setup
94+
95+
```bash
96+
# Clone the repository
97+
git clone https://github.com/mohammad-hassani/github-contributions.git
98+
cd github-contributions
99+
100+
# Install dependencies
101+
npm install
102+
103+
# Run in development mode
104+
npm start
105+
```
106+
107+
### Building for Distribution
108+
109+
```bash
110+
# Build for Linux
111+
npm run build
112+
113+
# Build specific formats
114+
npm run build:deb # Linux .deb package
115+
npm run build:appimage # Linux .AppImage
116+
npm run release # Build and publish to GitHub
117+
```
118+
119+
### Project Structure
120+
121+
```
122+
github-contributions/
123+
├── main.js # Electron main process
124+
├── renderer.js # Frontend logic and API calls
125+
├── index.html # UI structure and styling
126+
├── icon.png # Application icon
127+
├── package.json # Dependencies and build config
128+
└── README.md # This file
129+
```
130+
131+
## 🔧 Configuration
132+
133+
### GitHub Token Setup
134+
135+
The app requires a GitHub Personal Access Token for API access:
136+
137+
1. Visit [GitHub Settings > Tokens](https://github.com/settings/tokens)
138+
2. Click "Generate new token (classic)"
139+
3. Give it a descriptive name (e.g., "Contributions Tracker")
140+
4. **No scopes required** - the app only needs public access
141+
5. Click "Generate token"
142+
6. Copy the token and paste it in the app settings
143+
144+
### Settings Storage
145+
146+
- Settings are stored locally using `localStorage`
147+
- Window position and size are automatically saved
148+
- All data remains on your local machine
149+
150+
## 🐛 Troubleshooting
151+
152+
### Common Issues
153+
154+
**Q: App shows "No contribution data found"**
155+
- Verify your GitHub username is correct
156+
- Ensure your token is valid and not expired
157+
- Check your internet connection
158+
159+
**Q: App window disappears**
160+
- Check the system tray for the app icon
161+
- Right-click the tray icon and select "Open"
162+
163+
**Q: Token authentication fails**
164+
- Generate a new token from GitHub settings
165+
- Ensure no extra spaces when pasting the token
166+
- Verify the token hasn't expired
167+
168+
**Q: App won't start**
169+
- Try running with `--no-sandbox` flag: `electron . --no-sandbox`
170+
- Ensure you have proper display server permissions (Linux)
171+
- Check that Node.js and Electron dependencies are properly installed
172+
173+
### Debug Mode
174+
175+
To enable debug logging:
176+
1. Open developer tools with `F12` (if enabled)
177+
2. Check the browser console for API responses and errors
178+
179+
## 🤝 Contributing
180+
181+
Contributions are welcome! Please feel free to submit a Pull Request.
182+
183+
### Development Workflow
184+
185+
1. Fork the repository
186+
2. Create a feature branch: `git checkout -b feature-name`
187+
3. Make your changes and test thoroughly
188+
4. Commit your changes: `git commit -m 'Add some feature'`
189+
5. Push to the branch: `git push origin feature-name`
190+
6. Open a Pull Request
191+
192+
### Areas for Improvement
193+
194+
- [ ] Add contribution streak counter
195+
- [ ] Support for multiple GitHub accounts
196+
- [ ] Customizable color themes
197+
- [ ] Export contribution data
198+
- [ ] Notification for new contributions
199+
- [ ] Integration with GitHub Actions
200+
201+
## 📄 License
202+
203+
This project is licensed under the ISC License - see the [LICENSE](LICENSE) file for details.
204+
205+
## 🙏 Acknowledgments
206+
207+
- [Electron](https://electronjs.org/) - Cross-platform desktop app framework
208+
- [GitHub GraphQL API](https://docs.github.com/en/graphql) - For fetching contribution data
209+
- The open-source community for inspiration and tools
210+
211+
## 📞 Support
212+
213+
If you encounter any issues or have suggestions:
214+
215+
- 🐛 [Report a bug](https://github.com/mohammad-hassani/github-contributions/issues)
216+
- 💡 [Request a feature](https://github.com/mohammad-hassani/github-contributions/issues/new?template=feature_request.md)
217+
- 📧 Email: hasani9821.mh@gmail.com
218+
219+
---
220+
221+
<div align="center">
222+
223+
**Made with ❤️ by [Mohammad Hassani](https://github.com/mohammad-hassani)**
224+
225+
[⭐ Star this repo](https://github.com/mohammad-hassani/github-contributions) if it helped you track your GitHub journey!
226+
227+
</div>

package-lock.json

Lines changed: 27 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)