GitHub Contribution Tracker is a Streamlit web application that visualizes GitHub user contributions with insightful metrics, charts, and achievements. This app uses the GitHub GraphQL API to fetch and display data about a user's contribution history, enabling users to track and analyze their growth.
-
Summary Stats:
- Total contributions across all repositories.
- Highest contributions in a single day.
- Current streak of consecutive contribution days.
- Longest streak of consecutive contribution days.
-
Visualizations:
- Contributions Over Time: A line chart showing daily contributions.
- Yearly Growth: A bar chart summarizing contributions year by year.
- Weekly Contribution Heatmap: An interactive table visualizing contributions by the day of the week and week of the year.
- Day-of-Week Analysis: Contributions grouped by the day of the week.
- Weekday vs. Weekend Contributions: A bar chart comparing contributions made on weekdays versus weekends.
-
Custom Metrics:
- Most productive day: Displays the date with the highest contributions.
- Contribution streaks: Real-time updates of current and longest streaks.
-
Achievements:
- Dynamic achievements unlocked based on contribution activity, such as:
- "🔥 Streak Warrior": A streak of over 30 days.
- "💪 Commit Master": Total contributions exceeding 1000.
- Dynamic achievements unlocked based on contribution activity, such as:
-
Language Usage (upcoming):
- Extendable with GitHub API to display language usage stats for repositories.
- Python 3.7 or higher.
- GitHub personal access token with GraphQL API access.
- Streamlit (
pip install streamlit
).
-
Clone the repository:
git clone https://github.com/TheCarBun/GitHub-Stat-Checker.git cd GitHub-Stat-Checker
-
Install dependencies:
pip install -r requirements.txt
-
Run the app:
streamlit run app.py
-
Open your browser and navigate to the URL shown in the terminal (usually
http://localhost:8501
).
- Enter your GitHub Username.
- Provide a GitHub Personal Access Token (with
read:user
andrepo
scopes for GraphQL API access). - View detailed stats, visualizations, and achievements based on your contribution data.
- Go to GitHub Developer Settings.
- Click on Generate new token (classic) or Generate token (for fine-grained).
- Select the following scopes:
repo
read:user
- Copy the generated token and use it in the app.
github-contribution-tracker/
├── github_stats.py # Logic for fetching and processing GitHub contribution data.
├── app.py # Streamlit app for displaying the dashboard.
├── requirements.txt # Python dependencies.
└── README.md # Project documentation.
- Add more dynamic achievements.
- Include repository-specific stats (e.g., most active repositories).
- Display contributions grouped by month.
- Add user rankings for team or organization collaboration.
- Add language usage data.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature
. - Commit changes:
git commit -m 'Add your feature'
. - Push to your fork:
git push origin feature/your-feature
. - Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Streamlit: For building the interactive web application.
- GitHub GraphQL API: For data fetching.