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: