A modern, cross-platform Minesweeper game built with React Native and Expo, featuring native performance, beautiful animations, and offline capabilities.
- ๐ฎ Classic Minesweeper Gameplay - Authentic minesweeper experience with multiple difficulty levels
- ๐ฑ Cross-Platform - Runs on iOS, Android, and Web
- ๐จ Modern UI - Beautiful interface with NativeWind (Tailwind CSS for React Native)
- ๐พ Local Storage - Game progress saved using SQLite and AsyncStorage
- ๐ต Immersive Experience - Audio feedback and haptic vibrations
- ๐ Navigation - Smooth navigation with Expo Router
- โก Performance - Optimized with Reanimated 2 and React 19
- Node.js >= 18.0.0
- npm >= 8.0.0
- Expo CLI (optional, included in dependencies)
- iOS Simulator (for iOS development) or Android Studio (for Android)
# Clone the repository
git clone <repository-url>
cd mineswipper
# Install dependencies
npm install
# Start the development server
npm start# Start development server
npm start
# Run on Android
npm run android
# Run on iOS
npm run ios
# Run on Web
npm run web| Platform | Status | Requirements |
|---|---|---|
| iOS | โ Fully Supported | iOS Simulator or physical device |
| Android | โ Fully Supported | Android Emulator or physical device |
| Web | โ Supported | Modern browser with ES6 support |
mineswipper/
โโโ app/ # Expo Router app directory
โ โโโ (tabs)/ # Tab navigation screens
โ โโโ _layout.tsx # Root layout configuration
โ โโโ index.tsx # Entry point
โโโ assets/ # Static assets (images, fonts, icons)
โโโ components/ # Reusable UI components
โโโ hooks/ # Custom React hooks
โโโ store/ # Zustand state management
โโโ utils/ # Utility functions and helpers
โโโ scripts/ # Build and utility scripts
โโโ app.json # Expo configuration
โโโ package.json # Dependencies and scripts
โโโ tailwind.config.js # NativeWind configuration
# Development
npm start # Start Expo development server
npm run android # Run on Android emulator/device
npm run ios # Run on iOS simulator/device
npm run web # Run in web browser
# Build
npm run build:android # Build Android release APK
# Quality Assurance
npm run lint # Run ESLint for code quality
npm run doctor # Check project dependencies and health
# Project Management
npm run reset-project # Reset project to clean state- Name: Mineswipper
- Bundle ID:
com.rajharit77.mineswipper - Orientation: Portrait
- Theming: Automatic dark/light mode
- New Architecture: Enabled
- Permissions: Audio, vibration, full-screen intents
- Audio Background Modes: Enabled for iOS
- Splash Screen: Custom with themed background
- SQLite Database: Local game data storage
- Haptic Feedback: Enhanced user experience
The project uses NativeWind (Tailwind CSS for React Native) for styling:
- Utility-first CSS framework
- Dark mode support
- Responsive design
- Custom animations and transitions
npx expo install <package-name>Full TypeScript support with strict type checking and Expo's typed routes.
Enjoy fast development with Expo's hot reloading and fast refresh capabilities.
- Reanimated 2: 60 FPS animations on native thread
- React Compiler: Enabled for performance improvements
- Image Optimization: Expo Image with caching
- Memory Management: Efficient state management with Zustand
- SQLite: Game statistics and user progress
- AsyncStorage: App preferences and settings
- Asset Caching: Efficient asset loading with Expo Asset
- Sound Effects: Game actions feedback
- Background Audio: Continuous playback support
- Haptic Feedback: Tactile responses for game events
- Vibration: Android vibration API support
- Multiple difficulty levels
- Timer and score tracking
- High score leaderboard
- Game statistics
- Customizable themes
- Sound and vibration settings
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Expo team for the amazing framework
- React Native community
- NativeWind for Tailwind CSS integration
- All open-source contributors
Built with โค๏ธ using Expo & React Native
For issues and feature requests, please use the issue tracker.