![Sempo Logo](/teamsempo/SempoMobileApp/raw/main/src/components/img/sempo_logo.png)
Mobile App for vendors and beneficiaries to accept/send payments in Sempo program.
NOTE: only Android is currently supported.
You need to install Java 8, the Android SDK, and Node 11 to run the app.
Install front-end requirements
npm install
Connect an android device via USB to your computer.
react-native run-android
This will take some time if your internet is slow.
If you are running it against a local development server, be sure to set up port forwarding with
adb reverse tcp:9000 tcp:9000
To run the mobile test suite, simply run:
npm run tests
You can also check your code test coverage using:
npm run test:coverage
Setup a chrome CORS plugin.
Enable cross-origin resource sharing
Debugging on device with chrome browser
Start Remote JS Debugging
To see code changes in real time.
Enable Hot Reloading
Sometimes you need to clean gradle. In android folder run:
./gradlew clean
To view dependencies:
./gradlew :app:dependencies
Other known issues:
- Ensure the python environment variable
PYDEVD_USE_FRAME_EVAL=NO
is set. (pycharm bug)
- Ensure you've correctly deployed the Sempo Web App and Sempo Delegator (the delegator handles multi-instance support).
- Update your
.env.production
with the correct config. You'll need to changeSEMPO_API_URL
,IPDATA_KEY
andDELEGATOR_URL
- Update your
android/gradle.properties
- Follow the default react native deployment steps to publish to the Google Play Store
- Keep the Android APK size small ⋅⋅⋅Default to using smaller packages, with less functionality ⋅⋅⋅Use packagephobia to check a package size
- Low data usage
- Works offline
- Must Compatible with Android 5.0
21 (Lollipop)