Arora's conversion to react native allowed for the development of both android and iphone versions without the trouble of learning two different technologies. It allows for easy package integration as well as many other useful resources that react native provides. Here are some things you should know about the project:
git clone https://github.com/jacknormand/Arora-React.git
cd Arora-React/MobileGame
npm install -g expo-cli ( global installation is optional )
Instuctions Here: https://github.com/CANIS-NAU/ARORA-Server
npm start or expo start
React Native bundles them for you upon install!
If you wish to install a new dependency just make sure you're in the MobileGame directory and run
npm install {dependency}It will automatically add the new package to the package.json. From there just import the library where it's needed
Routes: Login or Wellness Actions: Loads cache resources, determines autologin, and routes accordingly.
Routes: Registration or Wellness Actions: Verify user entered login information and route or display invalid information Alert.
Routes: Login Actions: Allow user to create a new account, upon creation routes to login.
Routes: Home Actions: Creates a form from user entered mood and stress values.
Routes: Atrium, Learning Activities and Chat Actions: Act as a hub for user to see pollen count and all routing options
Routes: Reward Actions: Allows user to play breathing game and upon completion, sends user to acquire reward.
Routes: Back To Home Actions: Chat for user to communicate mentor
Routes: Reward Actions: Plays audio while user takes a walk and listens, reward is available after set time.
Routes: Back To Home Actions: Show users butterflies and displays information on press.
Routes: Home Actions: Displays animation and rewards user for activity completed and routes back home.
Package: @react-native-async-storage/async-storage
Used to keep and use data app wide and allow for no internet connection features.
Documentation
Package: @react-native-community/netinfo
Used to check active network status. Returns boolean values for that corresponding connection status ( true for connection and false for no connection ).
Documentation
Package: @react-navigation/native-stack
Used to navigate throughout the app screens. Stack based architecture allows for easy screen addition.
Documentation
Package: lottie-react-native
Allows for very smooth and easy to use JSON animations.
Documentation
Package: react-native-gifted-chat
Provides a very nice UI for chats. Also includes a built in message state which is useful when getting an array of messages and displaying them.
Documentation
Package: react-native-expo-cached-image
Provides resources for caching assets used in the app. Important when using a stack based navigation system ( Without caching assets, loading some assets upon navigation can be an issue ). Caching occurs during app loading on splash screen.
Documentation