Skip to content

TheCarBun/GitHub-Stat-Checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

69 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Commits Issues Pull Requests Forks & Stars
GitHub commit activity GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub forks
GitHub last commit GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub Repo stars

GitHub Stat Checker

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

image

Features

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.
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

Installation

Prerequisites

  1. Python 3.7 or higher.
  2. GitHub personal access token with GraphQL API access.
  3. Streamlit (pip install streamlit).

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/TheCarBun/GitHub-Stat-Checker.git
    cd GitHub-Stat-Checker
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the app:

    streamlit run app.py
  4. Open your browser and navigate to the URL shown in the terminal (usually http://localhost:8501).


Usage

  1. Enter your GitHub Username.
  2. Provide a GitHub Personal Access Token (with read:user and repo scopes for GraphQL API access).
  3. View detailed stats, visualizations, and achievements based on your contribution data.

How to Generate a GitHub Personal Access Token

  1. Go to GitHub Developer Settings.
  2. Click on Generate new token (classic) or Generate token (for fine-grained).
  3. Select the following scopes:
    • repo
    • read:user
  4. Copy the generated token and use it in the app.

Folder Structure

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.

Future Improvements

  • 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.

Screenshots

Click to View Images πŸ“·

image

image

image

image

image

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature.
  3. Commit changes: git commit -m 'Add your feature'.
  4. Push to your fork: git push origin feature/your-feature.
  5. Create a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgements