Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

middlewarehq/unwrapped

Repository files navigation

Unwrapped Logo

Spotify Unwrapped - for devs
Showcase your contributions just like you flex your music!
Check it out at middlewarehq.com/unwrapped

Unwrapped - by Middleware

Stargazers Forks Contributors Issues License

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.


🚀 Features 🚀

  • 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 🚀

🧑‍💻 Project Setup 🧑‍💻

Environment Setup

  • Yarn Installation:
    • Open a terminal and run the following commands:
      curl -o- -L https://yarnpkg.com/install.sh | bash
      
      Then, add Yarn to your shell configuration file (e.g., .bashrc or `.zshrc):
      export PATH="$HOME/.yarn/bin:$PATH"
      
  • Node.js Installation:
    • Use Node Version Manager (nvm) to install Node.js version 20.00:
       curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
      
      Rstart your terminal and install node.
      nvm install 20.10.0
      nvm use 20.10.0
      

CodeBase Setup

  1. Fork and Clone the Repository.
  2. Inside the project repository /unwrapped, install dependencies:
yarn install

Configuration Setup

  1. Setup a Github Oauth App: Obtain GITHUB_ID and GITHUB_SECRET.
  2. Next Auth Secret: Configure NextAuth.
  3. RSA Key Pair Generation: Generate TOKEN_ENC_PUB_KEY and TOKEN_ENC_PRI_KEY.
  4. 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

Optional Keys and Behaviors

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
    

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Contributors 7

Morty Proxy This is a proxified and sanitized view of the page, visit original site.