Spotify Unwrapped - for devs
Showcase your contributions just like you flex your music!
Check it out at middlewarehq.com/unwrapped
Welcome to Unwrapped - by Middleware! This application is designed to provide software developers with insights into their coding activities throughout the year, much like Spotify Wrapped for developers.
- Code Contributions 🎖️: Explore a comprehensive summary of your contributions across various repositories over the past year. Discover where you stand among your peers!
- Productivity Insights ⏱️: Uncover the duration spent waiting for reviews and identify key collaborators who aided you the most with code reviews.
- Repo Highlights 🌟: Showcase standout projects you've engaged with throughout the year.
- Coding Habits 🦉: Gain insights into your coding patterns, including peak coding hours and most active days.
- Contribution Styles 🌲: Identify your contribution tendencies—whether you're actively pushing code or deeply involved in Pull Request Reviews.
- Detecting Fires Early 🚒: Proactively identify issues, request changes, and intercept bugs before they reach production.
- And Much More 🚀
- Yarn Installation:
- Open a terminal and run the following commands:
Then, add Yarn to your shell configuration file (e.g., .bashrc or `.zshrc):
curl -o- -L https://yarnpkg.com/install.sh | bash
export PATH="$HOME/.yarn/bin:$PATH"
- Open a terminal and run the following commands:
- Node.js Installation:
- Use Node Version Manager (nvm) to install Node.js version 20.00:
Rstart your terminal and install node.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
nvm install 20.10.0 nvm use 20.10.0
- Use Node Version Manager (nvm) to install Node.js version 20.00:
yarn install
- Setup a Github Oauth App: Obtain
GITHUB_ID
andGITHUB_SECRET
. - Next Auth Secret: Configure NextAuth.
- RSA Key Pair Generation: Generate
TOKEN_ENC_PUB_KEY
andTOKEN_ENC_PRI_KEY
. - Create a
.env.local
file with the following structure:NEXT_PUBLIC_APP_ENVIRONMENT="development" NEXT_PUBLIC_TEST_ENVIRONMENT="development" NEXTAUTH_URL=http://localhost:3000 GITHUB_ID=GITHUB_ID GITHUB_SECRET=GITHUB_SECRET NEXTAUTH_SECRET=NEXTAUTH_SECRET NEXT_PUBLIC_MIXPANEL=NEXT_PUBLIC_MIXPANEL TOKEN_ENC_PUB_KEY=TOKEN_ENC_PUB_KEY TOKEN_ENC_PRI_KEY=TOKEN_ENC_PRI_KEY GLOBAL_GH_PAT=GLOBAL_GH_PAT
You can append these extra keys to your env file to unlock more functioanlity offered by third party services.
-
AWS Credentials
- These are optional, if you dont have an AWS account, just remove these keys fron the env file.
- Without AWS creds, the generate cards are stored under
unwrapped-cards
directory under the project. This is generated by default, and stores the cards in nested directories of the format{ROOT}/unwrapped/unwrapped-cards/[user_login]
AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY AWS_REGION=AWS_REGION UNWRAPPED_PERSISTENCE_BUCKET_NAME=UNWRAPPED_PERSISTENCE_BUCKET_NAME
-
Mixpanel Creds can be added to track usage metrics.
NEXT_PUBLIC_MIXPANEL=NEXT_PUBLIC_MIXPANEL
-
Sentry Creds are optional for Issue Tracking.
SENTRY_AUTH_TOKEN=SENTRY_AUTH_TOKEN
This project is licensed under the MIT License - see the LICENSE.md file for details.