Loading repository dataโฆ
Loading repository dataโฆ
wadekar9 / repository
A React Native boilerplate to build awesome apps ๐ โ TypeScript ๐, Redux Toolkit, React Navigation, i18n, theming, and zero-config testing. Ready. Set. Ship.
A production-ready React Native template with TypeScript, modern tooling, and best practices built-in. Start building your cross-platform mobile app in minutes.
npx @react-native-community/cli init MyApp --template rn-awesome-boilerplate
Tip: Use
--skip-git-initif initialization is slow:npx @react-native-community/cli init MyApp --template rn-awesome-boilerplate --skip-git-init
npx @react-native-community/cli init MyApp --template https://github.com/wadekar9/rn-awesome-boilerplate
Install iOS dependencies
cd ios && pod install && cd ..
Configure environment
cp .env.example .env
# Edit .env with your configuration
iOS setup
cd ios && pod install && cd ..
Configure environment
cp .env.example .env
# Edit .env with your configuration
Run the app
# iOS
npm run ios
# Android
npm run android
template/
โโโ app/ # Application source code
โ โโโ components/ # Reusable UI components
โ โโโ screens/ # Screen components
โ โโโ navigation/ # Navigation configuration
โ โโโ store/ # Redux store & slices
โ โโโ hooks/ # Custom React hooks
โ โโโ helpers/ # Utility functions
โ โโโ constants/ # App constants (colors, endpoints, etc.)
โ โโโ locales/ # Translation files
โ โโโ types/ # TypeScript type definitions
โ โโโ context/ # React Context providers
โ โโโ utils/ # Core utilities (API, storage, etc.)
โโโ ios/ # iOS native project
โโโ android/ # Android native project
โโโ patches/ # Package patches (patch-package)
โโโ App.tsx # Application entry point
| Category | Technology |
|---|---|
| Framework | React Native |
| Language | TypeScript |
| State Management | Redux Toolkit |
| Navigation | React Navigation |
| HTTP Client | Axios |
| Testing | Jest |
| Linting | ESLint |
| Formatting | Prettier |
| Build Tool | Metro |
| iOS Dependencies | CocoaPods |
npm run android # Run on Android
npm run ios # Run on iOS
npm run start # Start Metro bundler
npm run test # Run tests
npm run lint # Lint code
npm run lint:fix # Fix linting issues
npm run format # Format code with Prettier
/app/componentsReusable UI components organized by feature or type. Keep components small, focused, and well-typed.
/app/screensScreen-level components representing app pages. Organized into public (auth) and private (authenticated) flows.
/app/storeRedux store configuration with feature-based slices. Uses Redux Toolkit for simplified Redux logic.
/app/navigationNavigation structure using React Navigation. Includes auth flow, main app flow, and root navigator.
/app/localesi18n translation files in JSON format. Currently supports English, Spanish, and Hindi.
/app/helpersPure utility functions for common operations (API calls, file handling, data transformation).
/app/constantsApp-wide constants including colors, API endpoints, screen names, and storage keys.
The template includes built-in i18n support with the following languages:
Translation files are located in /app/locales/. Add new languages by creating a new JSON file and registering it in the i18n configuration.
Copy .env.example to .env and configure your environment-specific variables:
API_BASE_URL=https://api.example.com
API_TIMEOUT=30000
# Add your variables here
The template includes Jest configuration for unit testing:
# Run all tests
npm run test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage
npx react-native start --reset-cache
cd ios
pod deintegrate
pod install --repo-update
cd ..
npm run ios
cd android
./gradlew clean
cd ..
npm run android
npm run clean
npm install
cd ios && pod install && cd ..
After setting up the template, consider:
app.json with your app name, bundle ID, and versionContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with โค๏ธ using the best tools and practices from the React Native community.
Need help? Check out the React Native documentation or open an issue in this repository.