Fish Online is a real-time, browser-based multiplayer card game (Fish) with a FastAPI WebSocket backend and a React/Vite frontend.
Made with "help" from OpenAI Codex.
- Real-time WebSocket gameplay with lobby and room management
- Team-based play with bots (strategic-forgetful by default)
- Ask, claim, and disjoint mechanics
- Chat and history panels
- Backend: FastAPI + Uvicorn (WebSocket)
- Frontend: React + Vite + TypeScript
- Python 3.13
- Node.js (LTS recommended)
pip install -r server/requirements.txt
uvicorn server.app.main:app --reload --port 8000cd client
npm install
npm run devThe frontend expects VITE_WS_URL to be set (see client/.env):
VITE_WS_URL=ws://127.0.0.1:8000/ws
VITE_WS_URL(frontend): WebSocket endpointBOT_DEFAULT(backend):strategic_forgetful|strategic_bot|memory_bot|random_bot(default:strategic_forgetful)
Rules can be found on the rules page on the website.