A professional-grade chess timer mobile application built with React Native and Expo. Features an intuitive interface optimized for mobile devices, precise timing, and customizable settings for serious chess players.
๐ Click here to try the app
-
On Mobile (Best Experience):
- Install "Expo Go" from your app store
- Open the link above
- Scan the QR code with your phone camera
- Enjoy the native app experience!
-
On Web (Instant Preview):
- Just click the link above
- Click "Run" in the browser
- Start using immediately!
- Tap controls for switching active player
- Portrait and landscape orientation support
- Haptic feedback for actions
- Pause and reset functionality
- Precise timing with 0.1-second accuracy
- Multiple preset time controls
- Custom time control configuration
- Time increment support
- Configurable player names
- Low time warning thresholds
- Sound effects toggle
- Vibration feedback settings
- Low time warnings with visual and haptic feedback
- Game end notifications
- Move confirmation feedback
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI (
npm install -g expo-cli
) - iOS Simulator (for iOS development)
- Android Studio & Android SDK (for Android development)
- Clone the repository:
git clone https://github.com/ahmed5145/ChessTimerApp.git
cd ChessTimerApp
- Install dependencies:
npm install
# or
yarn install
- Start the development server:
npx expo start
- Run on your device:
- Scan the QR code with Expo Go app (Android/iOS)
- Press 'i' for iOS simulator
- Press 'a' for Android emulator
- React Native - Mobile app framework
- Expo - Development platform
- TypeScript - Type safety
- Redux Toolkit - State management
- React Native Reanimated - Animations
- Expo AV - Sound effects
- Expo Haptics - Haptic feedback
-
Orientation Support
- Automatic layout adjustment
- Optimized for both portrait and landscape
-
Touch Controls
- Large tap areas for easy interaction
- Gesture support for common actions
- Haptic feedback for confirmations
-
Display
- High contrast for outdoor visibility
- Dynamic text sizing
- Battery-efficient dark theme
-
Setting Up a Game
- Select time control from presets
- Enter player names (optional)
- Configure sound and vibration settings
-
During the Game
- Tap player's timer area to switch active player
- Active player's time counts down
- Increment automatically added after moves
- Visual and haptic warnings for low time
-
Game Controls
- Start: Begin new game
- Pause: Temporarily halt game
- Reset: Start over with same settings
- Settings: Adjust game parameters
- Time Controls: Multiple presets and custom options
- Increment: 0-60 seconds per move
- Warnings: Customizable time thresholds
- Sound: Toggle on/off
- Vibration: Intensity settings
- Player Names: Customizable
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by professional chess clocks
- Sound effects from OpenGameArt.org
- Icons from Material Design Icons