MustHave:
- Type checking and Sugar(TypeScript, PropTypes, Flow)
- Linter
- Server communication (Promise API: Fetch or Axios). Where to fetch data (action or React Component …)
- Navigation through screens (React Navigation)
- State management(Redux, redux-thunk)
- UI library (react-native-elements)
- Forms and validation (formik and yup)
- Hepers and utils(ramda, moment-timezone, jwt-decode)
- API keys (react-native-config)
Depends on needs:
- File system(react-native-fs, rn-fetch-blob)
- Offline (redux-offline, redux-persist, netinfo)
- Geo tracking (react-native-background-timer, @mauron85/react-native-background-geolocation)
- Maps (react-native-maps)
- Detect build numbers (react-native-device-info)
- Document and Image uploads (react-native-document-picker, react-native-image-picker)
- Popups (react-native-modal)
- npm scripts
"lint:fix": "eslint -f table - ext .js - ext .jsx ./ - fix",
"clean:cache:android": "cd android && ./gradlew cleanBuildCache",
"pod:install": "cd ios && rm Podfile.lock || true && pod install && cd ../",
"after:clone": "rm package-lock.json || true && npm i && npm run "pod:install",
….will be edited (mb 😜)