BoilerplateReactNative
BoilerplateReactNative copied to clipboard
Boilerplate react native with redux toolkit, redux listener, fastlane, reanimated, ...
Welcome to the Boilerplate React Native
:fireworks: Clean and minimalist React Native template for a quick start with TypeScript and so much more components.
Current version: 0.69.3
:star: Features
- Elegant usage directly within the RN-Boiler Cli
- Fastlane (App center included)
- Boot Splash
- Blur Hash
- Consistent with the default React Native template
- Minimal additional dependencies
- Lots of built-in components
- Native modules
- Multiple schema ios(Dev/Prod as default)
- Multiple productFlavors android (dev/prod as default)
Base config (Now u can config on env)
- Change App name
APP_DISPLAY_NAMEonenv/(.dev/.prod) - Change App id
BUNDLE_IDENTIFIERonenv/(.dev/.prod) - Change App version
VERSION_NAMEonenv/(.dev/.prod) - Change App build number
VERSION_CODEonenv/(.dev/.prod) - Change App URL
API_URLonenv/(.dev/.prod)
Change app icon by env
- Android Source sets
- IOS follow below step:
- Create new App Icon assets
- Change ASSETCATALOG_COMPILER_APPICON_NAME to your respective App Icon Assets (in respective env file)
:arrow_forward: Usage
npx rn-boiler MyApp
Args command:
- skip install deps:
--skipInstall
- skip init git:
--skipGit
Preview
## Native module
import {<function_name>} from "@common"
-
getVersion : Get app version
const version = getVersion(); -
getAppName : Get app name
const appName = getAppName(); -
getDeviceId : Get device id
const deviceId = getDeviceId(); -
getBuildNumber : Get build number
const buildNumber = getBuildNumber(); -
setAppBadges : Set app badges (IOS)
const countBadges = 10; // 0 to clear setAppBadges(countBadges); -
clearNotification : Clear notification on notification center
clearNotification(); -
clearCache : Clear cache folder
clearCache(); -
checkChannelExist : Check channel Exist (Android)
const exist: boolean = await checkChannelExist(channelId); -
deleteChannel : Delete channel (Android)
deleteChannel(); -
createChannel : Create channel (Android)
type Channel = { channelId: string; channelName: string; channelDescription?: string; playSound?: boolean; soundName?: string; // "default" importance?: "DEFAULT" | "HIGH" | "MAX" | "LOW" | "MIN" | "NONE" | "UNSPECIFIED" | undefined; // default HIGH vibrate?: boolean; }; createChannel(channel: Channel); -
fixRotation : Fix image rotate when upload
type Image = { uri: string; width?: number;// default 600 height?: number;// default 800 }; type ImageResponse = { uri: string; name: string; }; const fixedImage = await fixRotation(image: Image); -
registerPhotosChanges : Register photos changes (IOS) (1)
registerPhotosChanges(); -
usePhotosPermissionChange : Hook to check photos permission changes (IOS). ex: Photo selected changes when ask permission (1)
usePhotosPermissionChange(() => { console.log("Changed"); });
(1): Open AppModule.swift, uncomment code to use 2 function
Library
-
... and more
:bookmark: License
This project is MIT licensed.