This project serves as a boilerplate for a managed workflow Expo application.
This is an opinionated starter kit for React Native-Expo projects to help kick start mobile applications development.
It's an awesome fact that Expo is making it very simple to develop native mobile applications using JavaScript. However, I believe that the architectural aspect of development should also be considered; this is most especially helpful when working with project teams.
This starter kit provides a simple project architecture that worked for my applications and I'm hoping that this will also work for your needs.
To get you started on your development journey, follow the instructions below.
-
Clone the repository:
git clone https://github.com/arjayosma/react-native-simple-starter-kit.git
-
Install all project dependencies
npm install
-
Start coding
-
Run the application
expo start
This starter kit offers a very simple way of creating a managed workflow Expo application. A bare and simplistic application-ready scaffolding is at your disposal to make your development life easier.
Having a higher modularity in your mobile applications can help you identify which functionalities should go where. It's highly recommended to package your modules by feature to limit your scope during development.
I consider the file structure below as the most suitable structure for most of my projects because of the features mentioned above.
assets
fonts
images
routes
src
components
config
modules
styles
utils
These are the project dependencies that I believe are going to be useful during development of any application.
You may add or remove existing dependencies as per your need. Listed below are the items without the default expo
, react
, and react-native
dependencies.
- Axios (
axios
)- A Promise based HTTP client.
- This can be used for calling REST services for your application.
- NativeBase (
native-base
)- A cross-platform UI components library for React Native.
- This library simplifies the creation of UI components and screens.
- PropTypes (
prop-types
)- Run typechecking on the props of your React Native components.
- It provides a range of validators to help check the values being passed around.
- React Native Extended Stylesheet (
react-native-extended-stylesheet
)- Abstracts styles from the different components and elements.
- This library is a drop-in replacement for the built-in
StylSheet
class of React Native.
- React Navigation (
react-navigateion
)- An extensible navigation solution for routing your screens from one to another.
- It's an easy-to-use library for your routing needs.
This project is licensed under the MIT license, Copyright (c) 2019 Arjay Osma. For more information see LICENSE