Skip to content

Friendly Feud 2.0!

Compare
Choose a tag to compare
@joshzcold joshzcold released this 02 Jan 17:51
· 194 commits to master since this release
48c8349

New year, new large change!

Special Thanks to @karlromets for providing the bulk of new features for this release! He truly is a talented developer and I am very thankful for his time, help and knowledge.

This is the 2.0 release and with it are some big and exciting changes:

Changing the Name

  • This project's name is now "Friendly Feud" to give it a better chance to avoid possible legal liability for the future of this project.
  • The main website is still at https://famf.app

Changing the backend to golang

image

The backend of this project is now written in golang. If you want to fork this project while it was only JavaScript you can fork off the 1.5.4 release.

Switching to golang gives a number of benefits:

  1. Websocket handling is now in goroutines allowing this app to scale well.

  2. Strongly typed language helps the overall organization of the data for Friendly Feud. While converting to golang I was able to fix my past structural mistakes in JavaScript when writing in golang.

  3. Using golang interfaces I was able to create a very easy way to add more storage connections that can be easily plugged in.

New Features

  • @joshzcold Support for choosing storage backend for the game. Picking between sqlite or memory storage using the GAME_STORE environment variable

famf.app will be deployed with the sqlite storage backend, which will allow changes to Friendly Feud without anyone losing progress on their current active game!

  • @joshzcold e2e tests using playwright. This will make changes to the website much easier and stable as we make changes.

  • @karlromets #101 Implement player board hiding.
    image

This will hide the game board or final game board from the player if checked. Allows you to hide the game screen from a remote player without kicking from the game.

  • @karlromets #100 Implement buzzer popup. This will show on the game screen which user buzzed first and play a sound when the buzz comes in. This means the admin no longer needs to scroll down to the buzzer list to determine who buzzed first.

  • @karlromets #99 Implement a join url on the title page. There is a new environment variable for nextjs NEXT_PUBLIC_TITLE_URL that will show the game's joinable url for the players.
    image

  • @karlromets #98 Support for translation in error messages. Error messages now have error codes that then get translated if they are available in the translation files.

What's Changed

New Contributors

Full Changelog: 1.5.5...2.0.0