✨ This workspace has been generated by Nx, Smart Monorepos · Fast CI. ✨
This Nx React Native template project is here to jumpstart enterprise mobile app development project.
- React Native
- TypeScript Setup
- Nx RN Monorepo
- React Navigation
- React Native MMKV Storage
- Redux Toolkit
- RTK Query
- I18n using react-i18next
- Radix Icons
- React Native Unistyles 2.0
This project is using Feature-Sliced Design Architecture to structure the codebase. The project is divided into several layers, each layer is a self-contained module that can be developed and tested independently.
Application reside in apps folder, while each FSD (assets, widgets, entities, pages, features, shared) layer reside in libs folder. Each feature is a self-contained module that can be developed and tested independently (run nx test {layers_name}
).
See below graph on how that architecture linked together:
Note: You can also use Nx Graph to visualize the dependency graph of this projects. Run nx graph
.
You might need to install Nx globally first using yarn global add nx@latest
or npm install --global nx@latest
if you haven't done so.
To execute tasks in this project with Nx, use the following syntax:
yarn ios:mobile
yarn android:mobile
Note: Check the project.json
in mobile-app folder, watchman clear, ensure-symlink, sync-deps (pod-install for ios!) already automated when call above command using dependOn
option, along with metro resetCache.
Targets can be defined in the package.json
or projects.json
. Learn more in the docs.
For Android, just run yarn build-android
to build the application. The build artifacts or .apk will be stored in the {projectRoot}/android/app/build/outputs/apk
directory, ready to be install in Android devices.
For iOS, you need to open the {projectRoot}/ios/mobile-app.xcworkspace
in XCode and build the application from there.