A shopping/to-do list app in React Native. The purpose of this project is to rebuild my Shopper Android app in React Native, a modern mobile development framework that will also ensure my app is cross platform.
- Creating a React Native project with TypeScript: https://reactnative.dev/docs/typescript
- Running your app on a device: https://reactnative.dev/docs/running-on-device
- Authorize Android device with expo: https://github.com/expo/fyi/blob/main/authorize-android-device.md
- Publish to Google Play/Download to device: https://reactnative.dev/docs/signed-apk-android.html
This project has a backend component that must be setup before the app. Follow the instructions in this repo.
-
Create a file in the root directory called
env.json
and add the following data:cat >> env.json <<EOF { "baseURL": "<BASE_URL>", "areTestsRunningOverride": false } EOF
BASE_URL
is for the TODO Backend API.
-
Download node:
I use Brew:
brew install node
-
Run npm clean install:
npm ci
-
Download Android Studio.
-
Setup development environment
-
From this project's root directory, run:
chmod +x start-app.sh ./start-all.sh
- Note: May need to run
npx react-native start
instead. - Additional steps/resources can be found here.
- Note: May need to run
-
Stop the app and run the following script to update the icons and splash screen:
chmod +x move_android_images.sh ./move_android_images.sh
- NOTE: this script currently only works for Android.
-
Restart the app (
./start-app.sh
), and the icon and splash screen should be updated.
Run npm test
.