@fadyshawky/react-native-magic
v2.2.0
Published
Plug-and-play React Native template: TypeScript, Redux, React Navigation, scalable architecture. Init and start developing without hassle.
Maintainers
Readme
ReactNativeMagic
Plug and play – create your app and start developing without hassle.
A production-ready React Native template with TypeScript, Redux, React Navigation, and a scalable architecture (Uprise-style). Use it to bootstrap new apps with one command.
Requirements
- Node.js >= 20 (Download)
- JDK >= 11 (Download)
- Ruby >= 2.7.5 (for iOS)
- Xcode (for iOS) / Android Studio (for Android)
Quick start
npx @react-native-community/cli init YourAppName --template @fadyshawky/react-native-magic
cd YourAppNameOptional: set your bundle ID at creation:
npx @react-native-community/cli init YourAppName --template @fadyshawky/react-native-magic --package-name com.yourcompany.yourappFor iOS, install pods:
cd ios && pod install && cd ..Then run:
npm start
npm run ios # or an Android variant belowFirst steps after creating your app
- App name & bundle ID – Set at init (or you’ll be prompted for package name if you didn’t pass
--package-name). See CUSTOMIZATION.md. - API – Copy
.env.exampleto.envand setAPI_BASE_URL(and other vars) for your backend. - Theme – Edit
src/core/theme/colors.ts(andfonts.ts,commonSizes.tsif needed) for your brand. - Config – Optional: adjust
src/core/config/index.tsfor feature toggles or app-level constants.
Documentation
In your generated project you’ll have:
- docs/ARCHITECTURE.md – Layers, folder map, data flow, SOLID.
- docs/CUSTOMIZATION.md – App name, bundle ID, API, theme, adding a screen/slice/language.
- docs/BEST_PRACTICES.md – Code style, structure, testing, security, upgrades.
Project structure (in your app)
src/
├── common/ # Shared components, localization, helpers, validations, utils
├── core/ # Store (Redux), API, theme, config
├── navigation/ # Auth stack, main stack, tabs
├── screens/ # Feature screens
└── sheetManager/ # Action sheetsScripts
| Command | Description |
|---------|-------------|
| npm start | Start Metro bundler |
| npm run ios | Run on iOS |
| npm run android:prod:debug | Run Android (production, debug) |
| npm run android:prod:release | Run Android (production, release) |
| npm run android:staging:debug | Run Android (staging, debug) |
| npm run android:staging:release | Run Android (staging, release) |
| npm run android:development:debug | Run Android (development, debug) |
| npm run android:development:release | Run Android (development, release) |
| npm test | Run tests |
| npm run lint | Lint code |
Versioning
- React Native: ^0.84.x (current stable at release).
- React: ^19.2.x.
- Node: >= 24 (LTS).
Common issues
iOS – Pod install fails
cd ios && pod deintegrate && pod install && cd ..Android – Gradle / SDK
- Run
./gradlew cleaninandroid/. - Ensure
android/local.propertieshassdk.dirset to your Android SDK path.
Upgrading React Native
Use React Native Upgrade Helper (select current → target version) and apply the suggested changes.
Contributing
Contributions are welcome. See CONTRIBUTING.md for how to get started, run the template locally, and open a pull request. This project adheres to a Code of Conduct.
License
MIT – see LICENSE.md.
Author
Fady Shawky – GitHub
