Seeking feedback on my first Phoenix project - a real-time, multiplayer online version of the Scattergories game

Hello,

I wrote Stop My Hand, a Scattergories-like web application using Phoenix/LiveView as my learning project for Elixir (after reading some books).

The application supports:

  • Accounts
  • Friendships
  • Notifications
  • Game invites
  • Lobbies
  • Matches (with multiple rounds)

It’s an MVP so there are rough edges and missing features (like re-joining mid-match after disconnection; also, the WebRTC implementation is rather naive and the UI is functional but bare-bones).

I’d love feedback about the quality of the Elixir code:

  • The MatchDriver - a GenServer that drives the match’s rounds
  • LiveView use and its interop with JS
  • Ecto queries
  • Use of contexts
  • Testing coverage
  • Project organization

I appreciate directness so any feedback is welcome.

1 Like