{"id":18051937,"url":"https://github.com/shhdharmen/gitalytics","last_synced_at":"2026-04-28T08:02:59.986Z","repository":{"id":55412772,"uuid":"322043998","full_name":"shhdharmen/gitalytics","owner":"shhdharmen","description":"🐙 🐱 📊 Gitalytics - A simple overview of your Github activities","archived":false,"fork":false,"pushed_at":"2021-12-16T09:53:25.000Z","size":2993,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T07:14:20.052Z","etag":null,"topics":["analytics","github"],"latest_commit_sha":null,"homepage":"https://gitalytics.shhdharmen.me/","language":"TypeScript","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/shhdharmen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-16T16:45:22.000Z","updated_at":"2024-10-07T04:13:43.000Z","dependencies_parsed_at":"2022-08-14T23:50:25.142Z","dependency_job_id":null,"html_url":"https://github.com/shhdharmen/gitalytics","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shhdharmen/gitalytics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shhdharmen%2Fgitalytics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shhdharmen%2Fgitalytics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shhdharmen%2Fgitalytics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shhdharmen%2Fgitalytics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shhdharmen","download_url":"https://codeload.github.com/shhdharmen/gitalytics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shhdharmen%2Fgitalytics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32371673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["analytics","github"],"created_at":"2024-10-30T22:57:50.269Z","updated_at":"2026-04-28T08:02:59.963Z","avatar_url":"https://github.com/shhdharmen.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gitalytics \u003c!-- omit in toc --\u003e\n\n\u003e A simple overview of your github activities \u003chttps://gitalytics.netlify.app\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./apps/client/src/static/gitalytics_banner.png\" alt=\"Gitalytics\"\u003e\n\u003c/p\u003e\n\n---\n\n## Table of Contents \u003c!-- omit in toc --\u003e\n\n- [About](#about)\n  - [What is this?](#what-is-this)\n  - [How I built it](#how-i-built-it)\n  - [How does it look?](#how-does-it-look)\n  - [What does it show?](#what-does-it-show)\n  - [Export](#export)\n- [Development](#development)\n  - [Environment Variables](#environment-variables)\n  - [Local Setup](#local-setup)\n    - [Running the projects](#running-the-projects)\n    - [GraphQL](#graphql)\n- [Instructions to Deploy](#instructions-to-deploy)\n  - [Important Notes on Deployment](#important-notes-on-deployment)\n- [Contributors ✨](#contributors-)\n\n## About\n\n### What is this?\n\nI built an app called Gitalytics, which will show summarized GitHub Activities.\n\nI got inspired from Spotify Year in Review feature and thought that developers should also see their GitHub Year in Review, a.k.a [#2020Coded](https://twitter.com/search?q=%232020Coded\u0026src=typed_query).\n\n### How I built it\n\nI have created an NX workspace using angular-nest preset. For more on code visit my article on dev.to: [Basic Structure Done with Nx and Deployed on DigitalOcean App Platform](https://dev.to/shhdharmen/gitalytics-basic-structure-done-with-nx-and-deployed-on-digitalocean-app-platform-5a6p)\n\n### How does it look?\n\n#2020Coded Page (Light theme):\n\n![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/w46befvvj5g7g45k4le7.png)\n\n#2020Coded Page (Dark theme):\n\n![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/grddfckl70f1lnw08l55.png)\n\n### What does it show?\n\nAs of now, Gitalytics can get and show following details of 2020 fetched from GitHub:\n\n1. Repositories\n2. Star count (from 1st 100 [CreatedRepositoryContribution](https://docs.github.com/en/free-pro-team@latest/graphql/reference/objects#createdrepositorycontribution))\n3. Fork count (from 1st 100 [CreatedRepositoryContribution](https://docs.github.com/en/free-pro-team@latest/graphql/reference/objects#createdrepositorycontribution))\n4. Commits\n5. Issues\n6. Closed Issues (from 1st 100 [CreatedIssueContribution](https://docs.github.com/en/free-pro-team@latest/graphql/reference/objects#createdissuecontribution))\n7. Pull Requests\n8. Merged Pull Requests (from 1st 100 [CreatedPullRequestContribution](https://docs.github.com/en/free-pro-team@latest/graphql/reference/objects#createdpullrequestcontribution))\n9. Closed Pull Requests (from 1st 100 [CreatedPullRequestContribution](https://docs.github.com/en/free-pro-team@latest/graphql/reference/objects#createdpullrequestcontribution))\n10. Pull Request Reviews\n11. Comments and Reactions on Pull Request Reviews (from 1st 100 [CreatedPullRequestReviewContribution](https://docs.github.com/en/free-pro-team@latest/graphql/reference/objects#createdpullrequestreviewcontribution))\n\n### Export\n\nYou can export each data as PNG. And you can also share stats on twitter. I will look like below:\n\n![twitter](./twitter_sample.png)\n\n---\n\n## Development\n\n### Environment Variables\n\nA sample is provided a `.env.sample` file.\n\n| Variable          | Description                                  | Dev Value                        | Prod Value                       | Needed for           |\n| ----------------- | -------------------------------------------- | -------------------------------- | -------------------------------- | -------------------- |\n| `PAT`             | GitHub Person Access Token                   | `TOKEN`                          | `TOKEN`                          | Backend              |\n| `API_URL`         | GitHub GraphQL API Endpoint                  | `https://api.github.com/graphql` | `https://api.github.com/graphql` | Backend              |\n| `PORT`            | Where you want to run your nestjs app        | `3000`                           | `8080`                           | Backend              |\n| `WHITELIST_URL`   | Comma separated URLs to allow access to APIs | `http://localhost:4200`          | `FRONT_END_APP_URL`              | Backend              |\n| `NODE_ENV`        | Environment where app is running             | `development`                    | `production`                     | Backend and Frontend |\n| `BACKEND_API_URL` | URL where api is running                     | `/api`                           | `BACK_END_APP_URL`               | Frontend             |\n\nYou can create an app and get keys for twitter bot from: \u003chttps://apps.twitter.com/\u003e.\n\n### Local Setup\n\n```bash\ngit clone https://github.com/shhdharmen/gitalytics\ncd gitalytics\nnpm i\n```\n\nAfter that, copy content from `.env.sample` and create `.env` with values.\n\n#### Running the projects\n\n**Client (Frontend)**:\n\n```bash\nnpm run config\nnx serve api\n```\n\n**API (Backend)**:\n\n```bash\nnx serve client\n```\n\n#### GraphQL\n\nAll the GraphQL related stuff is maintained at: `apps/client/src/.graphql`. You can generate related angular service and typescript file using below command, thanks to [GraphQL Code Generator](https://graphql-code-generator.com/):\n\n```bash\nnpm run generate-codegen\n```\n\n## Instructions to Deploy\n\n### Important Notes on Deployment\n\n- Make sure you have all your environment variables in place\n- You will need to add frontend app urls separated by comma to `WHITELIST_URL` in environment variables\n- You will need to add backend api url in `BACKEND_API_URL` in environment variables\n\n---\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/shhdharmen\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/6831283?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDharmen Shah\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#blog-shhdharmen\" title=\"Blogposts\"\u003e📝\u003c/a\u003e \u003ca href=\"https://github.com/shhdharmen/gitalytics/commits?author=shhdharmen\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#content-shhdharmen\" title=\"Content\"\u003e🖋\u003c/a\u003e \u003ca href=\"#design-shhdharmen\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"https://github.com/shhdharmen/gitalytics/commits?author=shhdharmen\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#ideas-shhdharmen\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-shhdharmen\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-shhdharmen\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#projectManagement-shhdharmen\" title=\"Project Management\"\u003e📆\u003c/a\u003e \u003ca href=\"#research-shhdharmen\" title=\"Research\"\u003e🔬\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshhdharmen%2Fgitalytics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshhdharmen%2Fgitalytics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshhdharmen%2Fgitalytics/lists"}