This project is a straightforward implementation of the classic Tic-Tac-Toe game, meant as a personal refresher in modern web development tools and practices. The focus was on revisiting and solidifying my understanding of React, TypeScript, React Query, and Socket.io. The application features both single-player and multiplayer modes, providing a practical way to explore real-time communication and state management in a React-based environment.
- Single Player Mode: Play against an unbeatable AI opponent.
- Multiplayer Mode
- Create and join rooms.
- Password-protected rooms.
- Real-time gameplay via Socket.io.
- Responsive and intuitive UI using Tailwind CSS.
- Frontend: React, TypeScript, Tailwind CSS, React Query
- Backend: Node.js, Express, Socket.io
- To play a multi-player game locally, ensure the backend server is running. The backend repo can be found here
- Ensure you are using Node.js version 20.6.0 or above.
- Clone repo
git clone https://github.com/hyundonmoon/tictactoe.git
- Install dependencies
cd ./tictactoe
npm i
- Run locally
npm run dev
- Play
- Visit http://localhost:5173.
- Use absolute paths to import modules
- Add scoring system for multi-player games
- Change app folder structure into a feature-driven structure