A modern, real-time multiplayer Tic-tac-toe game built with Flutter. Features WebSocket communication, beautiful UI, and smooth animations.
online.xox.mp4
- 🎮 Real-time multiplayer gameplay
- 🌓 Dark/Light theme support
- 🌍 Multi-language support (EN/TR)
- 🎯 Easy game creation and joining
- 📱 Responsive design for all screen sizes
- 🔄 Automatic reconnection handling
- Framework: Flutter
- State Management: flutter_bloc (Cubit)
- Local Storage: Hive
- Network: web_socket_channel
- Code Generation: freezed, json_serializable
- Localization: easy_localization
- DI: Provider
lib/
├── core/ # Core functionality
│ ├── config/ # App configuration
│ ├── design/ # Design system
│ ├── network/ # Network services
│ ├── utils/ # Utilities
│ └── widgets/ # Shared widgets
├── features/ # App features
│ ├── auth/ # Authentication
│ ├── game/ # Game logic
│ └── home/ # Home screen
└── shared/ # Shared resources
├── cache/ # Local storage
├── extensions/ # Extensions
├── models/ # Data models
└── providers/ # State providers
-
Prerequisites
flutter --version # Ensure Flutter is installed -
Installation
flutter pub get
-
Run the app
flutter run
- First-time user name input
- Persistent user data with Hive
- Automatic login for returning users
- Create/Join game functionality
- One-tap game ID copying
- Theme toggle
- Language switcher
- Real-time game board updates
- Turn indicators
- Win/Loss/Draw notifications
- Smooth animations
- Error handling
- Enum-based spacing and padding
- Consistent border radius values
- Dark/Light theme support
- Reusable components
- Standardized animations
- English and Turkish support
- Easy addition of new languages
- Persistent language preference
- RTL support ready
- Unit tests for game logic
- Widget tests for UI components
- Integration tests
- Performance testing
- Fast app startup
- Smooth animations
- Efficient state management
- Optimized asset loading
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.