This is an online version of Don Eskridge's Avalon: Big Box Edition. It involves some house rules and features that make it different from the original game, but most of the original game mechanics are the same.
The frontend client is a Next.js application written in TypeScript configured to work as a progresive web app.
Our websocket server is also written in TypeScript and uses the Socket.IO library to enable real-time bidirectional communication between the clients and the server.
We have a shared directiory we use to share TypeScript types and other resources between both applications to ensure consistent type references.