This project is a template for Expo React Native that can be used to build mobile application.
Requirements • Quick Start • Features • Dependencies • Documents • Scripts • Contributors • About Us • Mission • History • Contact Us • License
Node.js (version 18.18.0 or later) and NPM (version 8.19.2 or later) are required. To make sure you have them available on your machine, try running the following command
$ npm -v && node -v
10.2.3
v20.18.1Note You also need to install the dependencies required by React Native. Go to the React Native environment setup Follow instructions for your given
development OSandtarget OS.
Note If you're using Linux Bash for Windows, see this guide or use
nodefrom the command prompt.
-
Init project
npx create-expo-app@latest YourApp --template rn-base-expo
-
Install node_modules
yarn install
Note Pod install automatically after run
yarn install -
Setup environment variables
Create a
.envfile in the root directory of your project and configure the required environment variables:# Copy and modify the content from .env.sample into your .env fileImportant Make sure to update all the placeholder values with your actual configuration values.
-
Run
AndroidorIosvia package.json with debug mode# Run with Expo Go yarn start --go # Run with development build yarn start --dev-client
-
Build
AndroidorIoslocally via package.jsonyarn build # Steps during command run # select profile: `development` `staging` `production # select platform: `ios` `android` or `both`
- 🎉 Provide scripts that perform various tasks, such as building the project, generate files, starting the development server and more.
- 💅 Integrate in-app debug menu that help you to get the information of device, environment, bundleId, version,... and also allow you to change environment directly in your app.
- ⚙️ Support for multiple environment builds, including Production, Staging, and Development.
- 🦊 Husky for Git Hooks, to automate your git hooks and enforce code standards.
- 💡 State management with Redux Toolkit along with Redux Saga.
- 🚫 Lint-staged to ensure that your code is always up to standards.
- 💫 @react-native-async-storage/async-storage as a storage solution to save sensitive data.
- 🛠 A simple workflow for building, releasing, and distributing your app using fastlane.
- 🔥 axios for fetching data, to help you build efficient and performant apps.
- 🎯 Localization with i18n-js.
Our template is ship with the following rock-solid technical decisions out of the box:
| Library | Category | Version | Description |
|---|---|---|---|
| React Native | Mobile Framework | 0.79.2 | The best cross-platform mobile framework |
| React | UI Framework | 19.0.0 | The most popular UI framework in the world |
| Expo SDK | Development | ~53.0.9 | Expo framework for React Native development |
| i18next | Translation | ^24.2.2 | Provide the i18n translations on the JavaScript |
| RN Reanimated | Animations | ~3.17.4 | Beautiful and performant animations |
| Async-storage | Persistence | 2.1.2 | State persistence |
| React Native SVG | SVG Image | 15.11.2 | Provides SVG support to React Native |
| Axios | Network Services | ^1.8.2 | Provides promise based HTTP client |
| Redux / Redux-toolkit | State Management | ^2.5.1 | Provides state container for JavaScript apps |
| Redux Saga | Redux side-effect | ^1.3.0 | Provides Redux side effect manager |
| ESLint | Code Formater | ^8.57.0 | Tool for identifying and reporting on patterns Javascript |
| Jest | Test Runner | ^29.2.1 | Standard test runner for JS apps |
| Husky | Native Git Hook | v8 | Improves your commits and more testing |
| TypeScript | Type Safety | ~5.8.3 | Static type checking for JavaScript |
| Script | Description | Syntax |
|---|---|---|
| Build App | Build app in Android or iOS with selected variants | yarn build |
| Upload App | Upload app in Android or iOS with selected variants | yarn upload |
Thanks goes to these wonderful people
Hong Hoang |
Huy Do |
|||
Thinh Vo |
Loc NguyenT |
Hoang Dinh Tien |
Loi Do |
Huy Duong |
Hang Nguyen |
Tung Le |
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate. This project follows the all-contributors specification. Contributions of any kind welcome!
Welcome to Awesome Library! We're a small team of developers passionate about creating library that make people's lives easier.
Our mission is to create the best library for implementing project stucture easily. We believe that everyone can benefit from tools that help them work smarter, not harder. We're committed to building an library that's easy to use, reliable, and affordable for everyone.
My library was founded on Feb 2025 with the goal of making productivity library more accessible to everyone. Since then, we've been working tirelessly to improve the library and add new features.
If you have any questions or feedback, we'd love to hear from you! You can reach us at reactnativeststeam@gmail.com
