mood

2 min read

Background

I created this project as a means to allow team leaders to gauge the general mood of a team. The team members anonymously vote with one of 5 emojis representing how they currently feel. This voting correlates with a team score (between 1 and 100 with 1 being the best) that creates a lissajous gif giving a general sense of the team’s mood. A chaotic gif with a red background means the team is unhappy, whereas a less chaotic gif with a green background means the team is happy. Team members and leaders can leave it open in a tab and get the teams general mood in a glance.

This is a Golang web application that uses MySQL or sqlite as a backend, with the latter as the default. MySQL can be used by running the executable with the --database=mysql flag. The application runs at :8080 by default, but this can be changed with the --addr flag.

To Use

Currently the easiest way to get this running is by cloning the repository and creating a docker image with the Dockerfile. This will setup an image with a self-contained sqlite3 database. The instructions for this and for running a MySQL backend are found in the README.

Further Improvements

  • Use request IP or sessions to rate-limit voting.
  • Allow an optional password during team creation that must be used to vote.
  • Make team names unique and implement a search function.
  • Share button to send team members the link to view/vote.
  • Flag that sets up database and returns when ran.
  • Better ways for new users to get this up and running.
  • Modify vote algorithm to take team size into account, so that larger teams do not swing the scale as considerably.

Repository

The code for this is hosted at: