HarlicWork / bintang-bank

NX + Feature-Sliced Design

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bintang Bank - A Boilerplate NX React Native Template

This workspace has been generated by Nx, Smart Monorepos · Fast CI.

Start the app

This Nx React Native template project is here to jumpstart enterprise mobile app development project.

Features

Architecture

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:

img

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.

Running tasks

To execute tasks in this project with Nx, use the following syntax:

Run in iOS simulator

yarn ios:mobile

Run in Android emulator

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.

Ready to deploy?

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.

About

NX + Feature-Sliced Design


Languages

Language:TypeScript 88.7%Language:Java 6.0%Language:Ruby 2.0%Language:Objective-C 1.7%Language:JavaScript 1.1%Language:Objective-C++ 0.6%