{"id":24970216,"url":"https://github.com/thecarbun/github-stat-checker","last_synced_at":"2025-04-11T05:34:59.476Z","repository":{"id":274285654,"uuid":"922461058","full_name":"TheCarBun/GitHub-Stat-Checker","owner":"TheCarBun","description":"A Streamlit app to check various GitHub stats","archived":false,"fork":false,"pushed_at":"2025-03-06T18:15:35.000Z","size":111,"stargazers_count":7,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T03:34:48.326Z","etag":null,"topics":["github","github-stats","githubcontributions","githubstats","python","streamlit"],"latest_commit_sha":null,"homepage":"https://git-stats.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheCarBun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-26T09:20:03.000Z","updated_at":"2025-03-14T14:12:16.000Z","dependencies_parsed_at":"2025-02-13T10:28:06.720Z","dependency_job_id":"385bd85a-43b0-4e1c-859e-bfe2db72a5f0","html_url":"https://github.com/TheCarBun/GitHub-Stat-Checker","commit_stats":null,"previous_names":["thecarbun/github-stat-checker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCarBun%2FGitHub-Stat-Checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCarBun%2FGitHub-Stat-Checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCarBun%2FGitHub-Stat-Checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCarBun%2FGitHub-Stat-Checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheCarBun","download_url":"https://codeload.github.com/TheCarBun/GitHub-Stat-Checker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248348403,"owners_count":21088862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","github-stats","githubcontributions","githubstats","python","streamlit"],"created_at":"2025-02-03T15:56:36.267Z","updated_at":"2025-04-11T05:34:59.466Z","avatar_url":"https://github.com/TheCarBun.png","language":"Python","readme":"\n| Commits | Issues | Pull Requests | Forks \u0026 Stars |\n|---------|--------|---------------| ------------- |\n| ![GitHub commit activity](https://img.shields.io/github/commit-activity/t/TheCarBun/GitHub-Stat-Checker) | ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-raw/TheCarBun/GitHub-Stat-Checker?color=green) | ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-pr-raw/TheCarBun/GitHub-Stat-Checker?color=green)  | ![GitHub forks](https://img.shields.io/github/forks/TheCarBun/GitHub-Stat-Checker?style=for-the-badge) |\n|![GitHub last commit](https://img.shields.io/github/last-commit/TheCarBun/GitHub-Stat-Checker) | ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-closed-raw/TheCarBun/GitHub-Stat-Checker) | ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-pr-closed-raw/TheCarBun/GitHub-Stat-Checker)  | ![GitHub Repo stars](https://img.shields.io/github/stars/TheCarBun/GitHub-Stat-Checker?style=for-the-badge\u0026color=yellow) |\n\n# GitHub Stat Checker\n\nGitHub 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.\n\n**ℹ️  _Now predicts user contribution over a year using previous year's contribution data_**\n\n![image](https://github.com/user-attachments/assets/c3ed1d8b-4351-4f5c-955d-442b2f14ca54)\n\n## Features\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eUser Stats Overview\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n- **User Stats**:\n  - Total contributions across all repositories _(Now shows no. of private and public commits)_.\n  - Highest contributions in a single day _(Now shows date)_.\n  - Current streak of consecutive contribution days.\n  - Longest streak of consecutive contribution days.\n  - GitHub joining date, total no. of days on GitHub and no. of active days.\n\n- **Yearly Growth Stats**:\n  - Total contribution in previous year\n  - Rate of contribution\n  - No. of activate days\n  - Percentage of days active in the year\n  - Same for current year for comparison\n\n- **Visualizations**:\n  - **Contributions Over Time**: A line chart showing daily contributions.\n  - **Yearly Growth**: A bar chart summarizing contributions year by year.\n  - **Day-of-Week Analysis**: Contributions grouped by the day of the week.\n  - **Weekday vs. Weekend Contributions**: A bar chart comparing contributions made on weekdays versus weekends.\n  - **Programming Languages**: Pie chart and a table showing which programming languages are used and in how many repos\n\n- **Achievements**:\n  - Dynamic achievements unlocked based on contribution and streak activity, such as:\n    - **\"🔥 Streak Warrior\"**: A streak of over 30 days.\n    - **\"💪 Commit Master\"**: Total contributions exceeding 1000.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eUser Contribution Predictions\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n- **Predictions \u0026 Trends**:\n  - **Contribution Rate Growth**: Growth in contribution rate compared to last year\n  - **Predicted Contributions This Year**: Total predicted commits this year, if user continues to contribute at the same rate\n  - **Predicted Active Days This Year**: Total predicted active days this year, if user continues to contribute at the same rate\n- **Milestone Estimations**:\n  \n  Predicts for milestones `[100, 500, 1000, 2000, 5000, 10000]` contributions:\n  - Number of days required to achive commit milestones\n  - Date on which milestone will be achieved\n\u003c/details\u003e\n\n\n## Installation\n\n### Prerequisites\n\n1. Python 3.7 or higher.\n2. GitHub [personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classi) with GraphQL API access.\n3. Streamlit (`pip install streamlit`).\n\n### Setup Instructions\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/TheCarBun/GitHub-Stat-Checker.git\n   cd GitHub-Stat-Checker\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Run the app:\n\n   ```bash\n   streamlit run app.py\n   ```\n\n4. Open your browser and navigate to the URL shown in the terminal (usually `http://localhost:8501`).\n\n---\n\n## Usage\n\n1. Enter your **GitHub Username**.\n2. Provide a **GitHub Personal Access Token** (with `read:user` and `repo` scopes for GraphQL API access).\n3. View detailed stats, visualizations, and achievements based on your contribution data.\n\n### How to Generate a GitHub Personal Access Token\n\n1. Go to [GitHub Developer Settings](https://github.com/settings/tokens).\n2. Click on **Generate new token (classic)** or **Generate token** (for fine-grained).\n3. Select the following scopes:\n   - `repo`\n   - `read:user`\n4. Copy the generated token and use it in the app.\n\n## Folder Structure\n\n```\ngithub-contribution-tracker/\n├── github_stats.py         # Logic for fetching and processing GitHub contribution data.\n├── app.py                  # Streamlit app for displaying the dashboard.\n├── requirements.txt        # Python dependencies.\n└── README.md               # Project documentation.\n```\n\n---\n\n### Future Improvements\n\n- Add achievements in form of badges.\n- Include repository-specific stats (e.g., most active repositories).\n- Display contributions grouped by month.\n- Add user rankings for team or organization collaboration.\n\n## Screenshots\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eClick to View Images 📷\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n![image](https://github.com/user-attachments/assets/4691bbb4-f544-4ac4-8fda-f1734d4f80e1)\n\n![image](https://github.com/user-attachments/assets/b8c13eba-3218-4515-8e86-23d11b34310d)\n\n![image](https://github.com/user-attachments/assets/e570ccd1-7b26-4c21-9649-28f0b15234df)\n\n![image](https://github.com/user-attachments/assets/4d00a782-73ae-4051-afd9-b236831a4b24)\n\n![image](https://github.com/user-attachments/assets/c221c971-c944-4c7c-8058-2b1e3afcf9c1)\n\n\u003c/details\u003e\n\n## Contributing\n\nContributions are welcome! To contribute:\n\n1. Fork the repository.\n2. Create a feature branch: `git checkout -b feature/your-feature`.\n3. Commit changes: `git commit -m 'Add your feature'`.\n4. Push to your fork: `git push origin feature/your-feature`.\n5. Create a pull request.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgements\n\n- **[Streamlit](https://streamlit.io/)**: For building the interactive web application.\n- **[GitHub GraphQL API](https://docs.github.com/en/graphql)**: For data fetching.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecarbun%2Fgithub-stat-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecarbun%2Fgithub-stat-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecarbun%2Fgithub-stat-checker/lists"}