A modern, real-time multiplayer chess application built with Next.js 15, featuring interactive gameplay, live timers, and seamless user experience.
- Real-time Multiplayer Chess: Play chess with friends or other players online
- Interactive Chess Board: Smooth drag-and-drop piece movement with visual feedback
- Live Game Timer: Configurable time controls for competitive play
- Move History: Track all moves made during the game
- Game Room System: Join specific game rooms using room IDs
- Sound Effects: Audio feedback for moves and game events
- Responsive Design: Works seamlessly on desktop and mobile devices
- Modern UI: Beautiful interface with shadcn/ui components
- Node.js 18+
- npm, yarn, pnpm, or bun
- Clone the repository:
git clone <repository-url>
cd chess-frontend- Install dependencies:
npm install
# or
yarn install
# or
pnpm install- Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev- Open http://localhost:3000 in your browser to see the application.
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui with Radix UI
- Chess Logic: chess.js
- Chess Board: react-chessboard
- Real-time Communication: Socket.IO
src/
├── app/ # Next.js App Router pages
│ ├── game/[roomId]/ # Dynamic game room pages
│ └── play/ # Game lobby/setup
├── components/ # Reusable React components
│ ├── chess/ # Chess-specific components
│ ├── navbar/ # Navigation components
│ ├── pages/ # Page-level components
│ └── ui/ # shadcn/ui components
├── context/ # React Context providers
├── hooks/ # Custom React hooks
├── lib/ # Utility libraries
├── types/ # TypeScript type definitions
└── utils/ # Helper utilities
- Start a Game: Navigate to the play page to create or join a game
- Join a Room: Use a room ID to join a specific game
- Make Moves: Click and drag pieces or click to select and move
- Track Progress: Monitor your time and review move history
- Game Controls: Use resign, offer draw, or other game controls as needed