middlewarehq / unwrapped

Spotify Wrapped for developers.

Home Page:https://www.middlewarehq.com/unwrapped

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Spotify Wrapped for developers.

https://www.middlewarehq.com/unwrapped

License:MIT License


Languages

Language:TypeScript 97.4%Language:JavaScript 1.1%Language:CSS 0.9%Language:Shell 0.5%