A simple overview of your github activities https://gitalytics.netlify.app
I built an app called Gitalytics, which will show summarized GitHub Activities.
I got inspired from Spotify Year in Review feature and thought that developers should also see their GitHub Year in Review, a.k.a #2020Coded.
I 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
#2020Coded Page (Light theme):
#2020Coded Page (Dark theme):
As of now, Gitalytics can get and show following details of 2020 fetched from GitHub:
- Repositories
- Star count (from 1st 100 CreatedRepositoryContribution)
- Fork count (from 1st 100 CreatedRepositoryContribution)
- Commits
- Issues
- Closed Issues (from 1st 100 CreatedIssueContribution)
- Pull Requests
- Merged Pull Requests (from 1st 100 CreatedPullRequestContribution)
- Closed Pull Requests (from 1st 100 CreatedPullRequestContribution)
- Pull Request Reviews
- Comments and Reactions on Pull Request Reviews (from 1st 100 CreatedPullRequestReviewContribution)
You can export each data as PNG. And you can also share stats on twitter. I will look like below:
A sample is provided a .env.sample
file.
Variable | Description | Dev Value | Prod Value | Needed for |
---|---|---|---|---|
PAT |
GitHub Person Access Token | TOKEN |
TOKEN |
Backend |
API_URL |
GitHub GraphQL API Endpoint | https://api.github.com/graphql |
https://api.github.com/graphql |
Backend |
PORT |
Where you want to run your nestjs app | 3000 |
8080 |
Backend |
WHITELIST_URL |
Comma separated URLs to allow access to APIs | http://localhost:4200 |
FRONT_END_APP_URL |
Backend |
NODE_ENV |
Environment where app is running | development |
production |
Backend and Frontend |
BACKEND_API_URL |
URL where api is running | /api |
BACK_END_APP_URL |
Frontend |
You can create an app and get keys for twitter bot from: https://apps.twitter.com/.
git clone https://github.com/shhdharmen/gitalytics
cd gitalytics
npm i
After that, copy content from .env.sample
and create .env
with values.
Client (Frontend):
npm run config
nx serve api
API (Backend):
nx serve client
All 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:
npm run generate-codegen
- Make sure you have all your environment variables in place
- You will need to add frontend app urls separated by comma to
WHITELIST_URL
in environment variables - You will need to add backend api url in
BACKEND_API_URL
in environment variables
Thanks goes to these wonderful people (emoji key):
Dharmen Shah π π» π π¨ π π€ π π§ π π¬ |
This project follows the all-contributors specification. Contributions of any kind welcome!