Commits | Issues | Pull Requests | Forks & Stars |
---|---|---|---|
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.
βΉοΈ Now predicts user contribution over a year using previous year's contribution data
User Stats Overview
-
User Stats:
- Total contributions across all repositories (Now shows no. of private and public commits).
- Highest contributions in a single day (Now shows date).
- Current streak of consecutive contribution days.
- Longest streak of consecutive contribution days.
- GitHub joining date, total no. of days on GitHub and no. of active days.
-
Yearly Growth Stats:
- Total contribution in previous year
- Rate of contribution
- No. of activate days
- Percentage of days active in the year
- Same for current year for comparison
-
Visualizations:
- Contributions Over Time: A line chart showing daily contributions.
- Yearly Growth: A bar chart summarizing contributions year by 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.
- Programming Languages: Pie chart and a table showing which programming languages are used and in how many repos
-
Achievements:
- Dynamic achievements unlocked based on contribution and streak activity, such as:
- "π₯ Streak Warrior": A streak of over 30 days.
- "πͺ Commit Master": Total contributions exceeding 1000.
- Dynamic achievements unlocked based on contribution and streak activity, such as:
User Contribution Predictions
-
Predictions & Trends:
- Contribution Rate Growth: Growth in contribution rate compared to last year
- Predicted Contributions This Year: Total predicted commits this year, if user continues to contribute at the same rate
- Predicted Active Days This Year: Total predicted active days this year, if user continues to contribute at the same rate
-
Milestone Estimations:
Predicts for milestones
[100, 500, 1000, 2000, 5000, 10000]
contributions:- Number of days required to achive commit milestones
- Date on which milestone will be achieved
- 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 achievements in form of badges.
- Include repository-specific stats (e.g., most active repositories).
- Display contributions grouped by month.
- Add user rankings for team or organization collaboration.
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.