How farhansklcric/bluff-game works
This is a multiplayer bluff card game: players enter or create a room, join a live game, play turns and challenge claims, with optional voice chat. The sampled server code shows room membership, game state, turn handling, bluff resolution, and voice signaling; the client includes room and game views plus WebRTC voice handling. The home-to-room navigation and several client event handlers were not shown, so those connections are left unverified rather than asserted.
Main entry points: index.js Socket server · useVoiceChat.ts Voice hook · page.tsx Room lobby · socket.ts Socket client
Components 11
Game client
- Entry page
src/app/page.tsx - Room lobby
src/app/room/page.tsx - Game board
src/components/gameboard.tsx - Socket client
src/app/lib/socket.ts
Realtime game server
- Socket server
server/index.js - Room state
server/index.js - Game rules
server/index.js - Turns and rankings
server/index.js
Voice chat
- Voice hook
src/hooks/useVoiceChat.ts - Peer audio
src/hooks/useVoiceChat.ts
Other components
- Player
Connections 12
- Player → Entry page: enters game
- Entry page → Room lobby: navigates to
- Room lobby → Game board: renders
src/app/room/page.tsx - Room lobby → Socket client: uses socket
src/app/room/page.tsx - Game board → Voice hook: uses hook
src/components/gameboard.tsx - Voice hook → Peer audio: manages peers
src/hooks/useVoiceChat.ts - Voice hook → Socket client: signals peers
src/hooks/useVoiceChat.ts - Socket client → Socket server: exchanges events
- Socket server → Room state: updates rooms
server/index.js - Socket server → Game rules: handles play
server/index.js - Socket server → Turns and rankings: advances turns
server/index.js - Socket server → Voice hook: relays voice signals