React Native Template Obytes
οΏ½? Features
β Last React Native versionπ Type checking TypeScriptπ Minimal UI kit using @shopify/restyle with themingπ€ Auto generate App Icon using react-native-make and Splash screen using react-native-bootsplashπ¦ Husky for Git Hooksπ‘ Clean project structure with Absolute Importsπ« Lint-staged for running linters on Git staged filesπ VSCode recommended extensions configurationβοΏ½? React Navigation pre-installed with examplesπ« Auth flow with zustand and react-native-mmkv as a storage to save sensitive data.π A simple workflow to build, release and distribute your application using Github actionπ₯ React Query & axios to fetch Dataπ§΅ A good approach with example to handle forms based on react-hook-form and yup for validationβοΏ½? Handel environment variables with react-native-envπ― Localization
π€ Philosophy
π Production-readyπ§© Minimal codeβ οΏ½? well maintained third-party libraries
π Requirements
π€ Getting started
Start your project using obytes template by running:
npx react-native init MyApp --template https://github.com/obytes/react-native-template-obytes
Open the project on your favorite IDE (vscode
src
βββ api #axios client and api hooks using react-query
βΒ Β βββ APIProvider.tsx
βΒ Β βββ client.tsx
βΒ Β βββ index.tsx
βΒ Β βββ useAddTask.tsx
βΒ Β βββ useTasks.tsx
βββ core # core functionalities:authentication, storage, localization
βΒ Β βββ Auth
βΒ Β βββ I18n
βΒ Β βββ index.tsx
βββ index.tsx
βββ navigation # Navigation, stacks and tabs
βΒ Β βββ AuthNavigator.tsx
βΒ Β βββ RootNavigator.tsx
βΒ Β βββ TabNavigator.tsx
βΒ Β βββ index.tsx
βΒ Β βββ types.tsx
βΒ Β βββ utils.tsx
βββ screens # App screens
βΒ Β βββ Home
βΒ Β βββ Login
βΒ Β βββ Style
βΒ Β βββ index.tsx
βββ translations # translation files
βΒ Β βββ en.json
βββ ui # ui component with theming
βββ Button.tsx
βββ ErrorHandler
βββ Input.tsx
βββ Pressable.tsx
βββ SafeAreaView.tsx
βββ Screen.tsx
βββ Text.tsx
βββ View.tsx
βββ constants.tsx
βββ icons
βββ index.tsx
βββ theme
βββ utils.tsxEnable husky Git pre-hooks by adding the following script to your packages.json and reinstall dependencies to enable husky pre-commit using yarn install
"scripts": {
"postinstall": "husky install",
},π§© Customization
π² Update App Icon & Splash screen
Replace App logo template logo.png with your logo under assets folder
Run the following command to generate App icons assets :
yarn react-native set-icon --path ./assets/logo.png --background "#FFF"
For android icon, make sure to provide a logo with more padding and generate a new app icon for android :
yarn react-native set-icon --platform android --path ./assets/android_logo.png --background "#FFF"
To generate a standard splash screen using bootsplash package.
yarn react-native generate-bootsplash assets/logo.png \
--background-color=FFFFFF \
--logo-width=150 \
--assets-path=assetsοΏ½?οΏ½? Custom fonts
Replace Inter.ttf font file with your fonts under assets/fonts folder
Run the following command to generate App icons assets :
yarn react-native link
More details how to customize App Icon and Splash screen
π Read More About Modules
Releasing and building the app with Github action
π License
This project is MIT licensed.


