{"id":23410405,"url":"https://github.com/jagoda11/github-insights-dashboard","last_synced_at":"2026-04-06T09:32:41.452Z","repository":{"id":269217844,"uuid":"906739152","full_name":"Jagoda11/github-insights-dashboard","owner":"Jagoda11","description":"🚀 A GitHub Insights Dashboard that visualizes user activity, including 📊 commit frequency, 🖥️ programming languages used, and 📝 commit details. Built with ⚛️ React, 🟦 TypeScript, and 📈 Chart.js for a robust and user-friendly experience.","archived":false,"fork":false,"pushed_at":"2025-04-01T22:58:43.000Z","size":1466,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T16:59:22.483Z","etag":null,"topics":["babel","cicd","eslint","formating","frontend","gh-pages","github-actions","github-api","github-authentication","husky","jest","quickstart","react","tailwindcss","test","ts-morph","typescript"],"latest_commit_sha":null,"homepage":"https://jagoda11.github.io/github-insights-dashboard/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jagoda11.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"Jagoda11"}},"created_at":"2024-12-21T19:00:11.000Z","updated_at":"2025-04-01T22:58:46.000Z","dependencies_parsed_at":"2024-12-21T21:19:43.415Z","dependency_job_id":"0dbae734-24a1-4748-b415-cb785089ae24","html_url":"https://github.com/Jagoda11/github-insights-dashboard","commit_stats":null,"previous_names":["jagoda11/github-insights-dashboard"],"tags_count":0,"template":false,"template_full_name":"Jagoda11/react-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jagoda11%2Fgithub-insights-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jagoda11%2Fgithub-insights-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jagoda11%2Fgithub-insights-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jagoda11%2Fgithub-insights-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jagoda11","download_url":"https://codeload.github.com/Jagoda11/github-insights-dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247969827,"owners_count":21026020,"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":["babel","cicd","eslint","formating","frontend","gh-pages","github-actions","github-api","github-authentication","husky","jest","quickstart","react","tailwindcss","test","ts-morph","typescript"],"created_at":"2024-12-22T17:22:46.293Z","updated_at":"2025-12-30T20:22:33.157Z","avatar_url":"https://github.com/Jagoda11.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Jagoda11"],"categories":[],"sub_categories":[],"readme":"# 🚀 GitHub Insights Dashboard\n\n[![Deploy to GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-View%20Live-brightgreen)](https://jagoda11.github.io/github-insights-dashboard/)\n![License: MIT](https://img.shields.io/badge/license-MIT-pink)\n![Open Issues](https://img.shields.io/github/issues/Jagoda11/github-insights-dashboard?style=flat-square\u0026color=orange)\n![Last Commit](https://img.shields.io/github/last-commit/Jagoda11/github-insights-dashboard/main?style=flat-square\u0026color=yellow)\n![Build Status](https://github.com/Jagoda11/github-insights-dashboard/actions/workflows/🚀ci.yml/badge.svg?branch=main)\n![React](https://img.shields.io/github/package-json/dependency-version/Jagoda11/github-insights-dashboard/react?label=React)\n![TypeScript](https://img.shields.io/github/package-json/dependency-version/Jagoda11/github-insights-dashboard/dev/typescript?label=TypeScript)\n![Build Status](https://github.com/Jagoda11/github-insights-dashboard/actions/workflows/⬆️npm-upgrade.yml/badge.svg?branch=main)\n\n## 📝 Summary\n\nAn interactive dashboard to visualize GitHub user activity, including commits, programming languages, and repository statistics.\n\n- React ⚛️: For building user interfaces.\n- Babel 🐵: Transpiling JavaScript.\n- TypeScript 🔵: Type-safe coding.\n- ESLint 🛠️: Linting and code quality.\n- Prettier 🖋️: Code formatting.\n- Jest 🃏: Testing framework.\n- Husky 🐶: Git hooks for automation.\n- GitHub Actions 🐢🐢: For CI/CD infrastructure.\n- GitHub Pages 🐌: For easy and **free** deployment.\n\n## Deployment\n\nThe web application is deployed on GitHub Pages and can be accessed at the following URL:\n\n👉 [GitHub Insights Dashboard](https://jagoda11.github.io/github-insights-dashboard/)\n\nGitHub Pages offers a **free** way to deploy static applications. Integration with GitHub allows for automatic updates with every push, making it a convenient option for hosting static sites. For more information, visit the [GitHub Pages documentation](https://docs.github.com/en/pages).\n\n## Authentication with GitHub Personal Access Token (PAT)\n\nThis application requires authentication using a GitHub Personal Access Token (PAT).\nFor more details on how to set this up, check out this [article](https://medium.com/code-like-a-girl/the-quickest-way-to-authenticate-github-api-without-a-backend-4b230e85b652/).\n\n## Features\n\n### 1. **Dashboard Overview**\n\nProvides an intuitive interface for navigating between charts and lists, giving users a comprehensive view of their GitHub data.\n\n![Dashboard Screenshot](./assets/dashboard.png)\n\n### 2. **Commit Frequency**\n\nDisplays a bar chart visualizing commits by month to help users analyze contribution trends.\n\n![Commit Frequency Chart](./assets/commit-chart.png)\n\n### 3. **Commit List**\n\nLists all commits with details such as the author, message, and commit date, allowing users to filter and view specific activity.\n\n![Commit List Screenshot](./assets/commit-list.png)\n\n### 4. **Programming Languages**\n\nShows a pie chart of the programming languages used across repositories, highlighting your most frequently used languages.\n\n![Programming Languages Chart](./assets/language-chart.png)\n\n## 🚀 Initial Setup\n\nTo get started, clone the repository and install dependencies:\n\n```bash\ngit clone https://github.com/Jagoda11/github-insights-dashboard.git\ncd github-insights-dashboard\nnpm install --legacy-peer-deps\n```\n\nStart the development server:\n\n```bash\n   npm start\n```\n\nYour browser should navigate to:\n\n```bash\n   http://localhost:3002/github-insights-dashboard\n```\n\n## ⚠️ Note on Commits\n\nIf you're having trouble making a commit, it might be due to the `precommit` hook, which runs the `lint` and `test` scripts before each commit. If these scripts find any errors, the commit will be blocked. Check the output for any lint or test errors and fix them before trying to commit again.\n\n## 📜 Scripts\n\nTo run these scripts, use `npm run \u003cscript-name\u003e`:\n\n- `start`: 🚀 Builds the TypeScript code and starts the application.\n- `build`: 🔨 Compiles the TypeScript code using the TypeScript compiler (`tsc`).\n- `test`: 🧪 Runs tests using Jest and generates a coverage report.\n- `format`: 🖋️ Formats the code using Prettier.\n- `lint`: 🧹 Lints all JavaScript and TypeScript files in the project using ESLint.\n- `precommit`: 🔒 Runs the `lint` and `test` scripts before each commit to ensure code quality. This is managed by Husky 🐶.\n- `pretest`: 🔍 Lints the code before running tests.\n- `watch`: 👀 Runs tests in watch mode using Jest.\n- `debug`: 🐞 Starts the application in debug mode using `nodemon`.\n- `clean`: 🧽 Removes the `node_modules` directory and `package-lock.json` file.\n- `prepare`: 🐾 Sets up Husky for managing git hooks.\n\n## 🤖 GitHub Actions Workflows\n\nThis repo includes several GitHub Actions workflows that automate various tasks:\n\n- `ci.yml`: Runs your project's continuous integration (CI) tasks.\n- `close-merged-pull-requests.yml`: Automatically closes pull requests that have been merged.\n- `close-stale-issues-and-prs.yml`: Closes stale issues and pull requests.\n- `label-new-pull-requests.yml`: Automatically adds labels to new pull requests.\n- `npm-upgrade.yml`: checks for new versions of the dependencies and updates package.json and package-lock.json\n\nThese workflows use the `secrets.GITHUB_TOKEN` secret, which GitHub automatically creates for every repository. You can create a personal access token and add it as a secret in your repository. For more information, see [Creating and storing encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets).\n\n## 🌐 GitHub Codespaces Support\n\nThis project includes a `.devcontainer.json` file, which allows you to work on this project in a Docker container using [GitHub Codespaces](https://github.com/features/codespaces). This helps to maintain a consistent development environment, making it easier for you to collaborate with others without having to worry about individual setups.\n\nGitHub Codespaces configures your development environment based on your project's needs using this file. When you create a new codespace for this project, the Codespaces environment is automatically configured as per the settings defined in `.devcontainer.json`.\n\nTo use GitHub Codespaces:\n\n1. Navigate to the main page of the repository.\n2. Click the Code button and then click \"Open with Codespaces\".\n3. Click \"+ New codespace\".\n\nYour development environment is now set up and running in a Docker container in the cloud. All commands you run in the Codespaces terminal will be executed inside the container. Any changes you make to the project will be reflected in the container and vice versa.\n\n## 🤝 Contributing\n\nContributions are welcome! Please read the [Contributing Guide](CONTRIBUTING.md).\nFor details on our code of conduct and the process for submitting pull requests.\n\n## 📜 Code of Conduct\n\nPlease read our [Code of Conduct](CODE_OF_CONDUCT.md) to keep our community approachable and respectful.\n\n## 📝 License\n\nThis project is licensed under the terms of the Proprietary License Agreement. For more details, see the [LICENSE](LICENSE.md) file.\n\n## Use of GitHub Logo\n\nThe GitHub logo is used for authentication purposes in compliance with [GitHub’s branding guidelines](https://github.com/logos).\n\n© 2024 Jagoda11\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjagoda11%2Fgithub-insights-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjagoda11%2Fgithub-insights-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjagoda11%2Fgithub-insights-dashboard/lists"}