Welcome to the Multiplayer Tic-Tac-Toe Game project! This game allows two players to compete in real-time using Flutter on the client-side and Node.js with Socket.IO on the server-side. Riverpod is used for state management in the Flutter app.
- Real-time multiplayer Tic-Tac-Toe
- Smooth and interactive UI
- State management using Riverpod
- Server-side socket management with Node.js and Socket.IO
- Persistent game state
The project follows a clean architecture with the following main components:
- Flutter App: The client-side application developed using Flutter.
- Node.js Server: The server-side application handling socket connections and game logic.
- Riverpod: State management solution used in the Flutter app.
Ensure you have the following installed on your local machine:
- Flutter SDK: Flutter Installation Guide
- Node.js and npm: Node.js Installation Guide
-
Clone the repository:
git clone https://github.com/yourusername/multiplayer-tic-tac-toe.git cd multiplayer-tic-tac-toe
-
Install Flutter dependencies:
cd client flutter pub get
-
Install Node.js dependencies:
cd server npm install
-
Start the Node.js server:
cd server node index.js
-
Run the Flutter app:
cd client flutter run
- Create a Room: One player creates a room by entering a nickname and starting a new game.
- Join a Room: The second player joins the room using the room ID provided by the first player.
- Play the Game: Players take turns marking X and O on the board. The first player to align three marks horizontally, vertically, or diagonally wins.
We welcome contributions to this project! Here’s how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/YourFeature
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin feature/YourFeature
) - Create a pull request
Please make sure to update tests as appropriate.
This project is licensed under the MIT License - see the LICENSE file for details.
Thank you for checking out our project! We hope you enjoy playing the multiplayer Tic-Tac-Toe game. If you have any questions or feedback, please feel free to reach out.