The next version of Mapeo Mobile
-
Clone repository
git clone https://github.com/digidem/comapeo-mobile.git
-
Set up the development environment
-
Install Node, ideally through a proper node version manager such as nvm, fnm, asdf, or mise
- This project uses Node v20 with npm v10
-
Follow the React Native instructions for setting up the development environment: https://reactnative.dev/docs/environment-setup
-
Note that Java 17 is the minimum version required for this project.
-
When setting up the Android-specific tooling, you will also need to install the Android NDK. This can be installed using Android Studio by going to the
SDK Tools
tab in theSDK Manager
. This project uses NDK 25.1.8937393.
-
-
Create a
.env
file at the root of the project with the following content:MAPBOX_DOWNLOAD_TOKEN=<your_token_here>
Replace
<your_token_here>
with a Mapbox secret token. This is unfortunately required to install the necessary Mapbox Android SDK components used by@rnmapbox/maps@10
when building the app (more info here). If you do not have access to a Mapbox account, reach out to the maintainers about getting access to a secret token.
-
-
Run the app locally
-
Install dependencies
-
This project requires the following system dependencies. Make sure they are available on your
PATH
.- curl
- tar
-
Install NPM-based project dependencies
npm install
-
-
Start the Metro bundler process
npm start
Leave this running in a separate terminal window.
-
Build and run the app (Android)
-
For this project, using a physical device is more convenient and reliable to work with. It is recommended that you follow React Native's setup instructions for running an app on a device.
-
Run the following command to build the backend and then build and run the Android app:
npm run android
If you do not need to rebuild the backend on subsequent runs (e.g. no changes in the
src/backend/
directory), you can use the following command instead:npm run android-no-backend-rebuild
-
-