Skip to content

TheCarBun/GitHub-Stat-Checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

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.

Features

  • 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.
  • Language Usage (upcoming):

    • Extendable with GitHub API to display language usage stats for repositories.

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

Screenshots

Click to View Images 📷

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