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.