Game Bầu Cua truyền thống Việt Nam phiên bản multiplayer online realtime.
- Monorepo: Nx + pnpm workspaces
- Client: React 18, Rspack, Zustand, Tailwind CSS v4, React Router v7
- Server: Express + Socket.IO
- Shared: TypeScript types + game logic
- Animation: @react-spring/web (3D dice)
- Language: TypeScript
packages/
├── shared/ # @baucua/shared - types, constants, game logic
├── server/ # @baucua/server - Express + Socket.IO (port 3001)
└── client/ # @baucua/client - React app (port 3000)
- Node.js >= 18
- pnpm >= 8
# Install dependencies
pnpm install
# Build shared package (required first time)
pnpm --filter @baucua/shared build# Run both server + client
pnpm dev
# Or run separately
pnpm dev:server # Server on port 3001
pnpm dev:client # Client on port 3000- Nhà cái (Host): Tạo phòng, bắt đầu round, xem người chơi đặt cược realtime
- Người chơi: Tham gia phòng, đặt cược vào các mặt (bầu, cua, tôm, cá, gà, nai)
- Login với tên → Lobby → Tạo/Tham gia phòng
- Host bấm "Bắt đầu" → 15 giây đặt cược
- Server tự động xúc xí ngầu → Hiển thị kết quả
- Tính điểm: Thắng x2 (1 mặt trùng), x3 (2 mặt), x4 (3 mặt)
- Realtime multiplayer với Socket.IO
- Xúc xí ngầu 3D animation
- Rebuy khi hết tiền
- Host có 10,000$ (gấp 10 người chơi) để cover cược
Project này cũng bao gồm các ví dụ học React Hook:
- useState, useEffect, useCallback, useMemo
- useReducer, useContext
- useSelector, useDispatch (Redux)
- useSpring, useSprings, useTrail
- useTransition, useChain
- Single-player version (legacy)
- Multiplayer online version (current)
MIT