Skip to content

React Native Template - v0.72.5 (Always latest RN version) high scalability, full features for start new application. Let's BUILD πŸš€πŸš€πŸš€

License

Notifications You must be signed in to change notification settings

bonnguyenitc/react-native-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

React Native Template Starter

demo.mp4

Document table of contents

With Fue Cli Source

Create project with fue

npx fue-cli new

Generate code with fue

In root

  1. Generate widget (default dir: src/components/widgets) fue g widget widget-name --reactnative
  2. Generate modal (default dir: src/components/modals) fue g modal modal-name --reactnative
  3. Generate module (default dir: src/modules) fue g module module-name --reactnative
  4. Generate form (default dir: src/components/forms) fue g form form-name --reactnative
  5. Generate in form a specify dir fue g form a/b/c/form-name --reactnative

In module

  1. Generate widget fue g widget widget-name --reactnative --module=auth
  2. Generate modal fue g modal modal-name --reactnative --module=auth
  3. Generate module fue g module module-name --reactnative --module=auth
  4. Generate form fue g form form-name --reactnative --module=auth
  5. Generate screen fue g screen screen-name --reactnative --module=auth
  6. Generate in form a specify dir fue g form a/b/c/form-name --reactnative

Features and Roadmap

  • βœ… Navigation v6
  • βœ… Theme by restyle
  • βœ… Splash screen
  • βœ… State management
  • βœ… Multi env: dev, stg, prd
  • βœ… Multi language
  • βœ… Validate form
  • βœ… Integrate api
  • βœ… Git Hooks with Husky

Dependencies and Libraries

Package Version
React navigation v6
@shopify/restyle ^2.1.0
axios ^0.27.2
i18next ^21.8.11
react-hook-form ^7.33.0
react-native 0.72.5
react-native-bootsplash ^5.0.3
react-native-config ^1.5.1
react-native-mmkv ^2.10.2
react-native-reanimated ^3.5.4
yup ^0.32.11
zustand ^4.4.2

Quick Start

Require environment:

  • XCode >= 13.2.1, Android Studio, JDK 11
  • NodeJS v16.17.0, Yarn v1.22.19
  • Code editor: VScode, ext (Auto Rename Tag, Code Spell Checker, Color Highlight, Error Lens, ES7+ React/Redux/React-Native snippets, ESLint, Import Cost, Prettier - Code formatter, Rainbow Brackets)
  • Setting up the development environment: React Native

Run the CLI:

# pull source from cli
npx fue-cli new

# pull source from git
git clone https://github.com/bonnguyenitc/react-native-starter.git

# install:
yarn

# run application android development
yarn android:dev
yarn android:stg
yarn android:prod

# run application iOS development
yarn ios:dev
yarn ios:stg
yarn ios:prod

# build release with cmd
./deploy.sh

And more in package.json. Check it!

Rules and Conventions for development

  • Airbnb JavaScript Style Guide LINK
  • Naming
    • Folder, File : kabab-case (name-file.tsx)
    • Hook file, naming variables, functions, classes, interfaces, types, enums: camelCase (useHook)

Structure of the project

β”œβ”€β”€ Gemfile
β”œβ”€β”€ README.md
β”œβ”€β”€ __mocks__
β”œβ”€β”€ __tests__
β”œβ”€β”€ android
β”œβ”€β”€ app.json
β”œβ”€β”€ assets
β”œβ”€β”€ babel.config.js
β”œβ”€β”€ bin
β”œβ”€β”€ index.js
β”œβ”€β”€ ios
β”œβ”€β”€ jest
β”œβ”€β”€ jest.config.js
β”œβ”€β”€ metro.config.js
β”œβ”€β”€ package.json
β”œβ”€β”€ patches
β”œβ”€β”€ react-native.config.js
β”œβ”€β”€ scripts
β”œβ”€β”€ src
β”‚Β Β  β”œβ”€β”€ app.tsx
β”‚Β Β  β”œβ”€β”€ assets
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ fonts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ images
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  └── jsons
β”‚Β Β  β”œβ”€β”€ components
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ form
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ modals
β”‚Β Β  β”‚Β Β  └── widgets
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ align
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ app-bar
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ box
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ button
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ card
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ center
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ col
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ if
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ image
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ positioned
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ row
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ screen
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ space
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ spinner
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ stack
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ switch
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ text
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ text-button
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ text-input
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ touchable
β”‚Β Β  β”‚Β Β      └── wrap
β”‚Β Β  β”œβ”€β”€ localization
β”‚Β Β  β”œβ”€β”€ modules
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ auth
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ api
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ assets
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ components
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ hooks
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ routes
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ screens
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ stores
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ types
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── utils
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ error
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ components
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── screens
β”‚Β Β  β”‚Β Β  └── home
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ components
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ routes
β”‚Β Β  β”‚Β Β      └── screens
β”‚Β Β  β”œβ”€β”€ provider
β”‚Β Β  β”œβ”€β”€ routes
β”‚Β Β  └── common
β”‚Β Β      β”œβ”€β”€ config
β”‚Β Β      β”œβ”€β”€ constants
β”‚Β Β      β”œβ”€β”€ hooks
β”‚Β Β      β”œβ”€β”€ libs
β”‚Β Β      β”œβ”€β”€ stores
β”‚Β Β      β”œβ”€β”€ themes
β”‚Β Β      β”œβ”€β”€ types
β”‚Β Β      └── utils
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ tsconfig.paths.json
β”œβ”€β”€ types
β”‚Β Β  └── declarations.d.ts
β”œβ”€β”€ yarn-error.log
└── yarn.lock

Folder structure of a module

β”œβ”€β”€ auth
    β”œβ”€β”€ api
    β”œβ”€β”€ assets
    β”œβ”€β”€ components
    β”œβ”€β”€ hooks
    β”œβ”€β”€ routes
    β”œβ”€β”€ screens
    β”œβ”€β”€ stores
    β”œβ”€β”€ types
    └── utils

Welcome contributors from this project!!!

About

React Native Template - v0.72.5 (Always latest RN version) high scalability, full features for start new application. Let's BUILD πŸš€πŸš€πŸš€

Topics

Resources

License

Stars

Watchers

Forks