* fix(INJI-289): Adjusted face authentication layout as per UI/UX * Replaced capture-icon from theme styles to provides png images
inji
MOSIP citizen app.
Dependencies
Be sure to have the following build tools installed before proceeding:
Generate keystore for APK signing
# Generate and use Debug keystore for development and testing purposes
keytool \
-genkey -v \
-storetype PKCS12 \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-storepass 'android' \
-keypass 'android' \
-alias androiddebugkey \
-keystore android/app/debug.keystore \
-dname "CN=io.mosip.residentapp,OU=,O=,L=,S=,C=US"
# Generate and use Release keystore for Publishing to Play store
keytool \
-genkey -v \
-storetype PKCS12 \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-storepass '<USE-YOUR-RELEASE-PASSWORD-HERE>' \
-keypass '<USE-YOUR-RELEASE-PASSWORD-HERE>' \
-alias androidreleasekey \
-keystore android/app/release.keystore \
-dname "CN=io.mosip.residentapp,OU=,O=,L=,S=,C=US"
Running the app
Prepare environment
Create a .env.local file using .env as your template:
MIMOTO_HOST=
GOOGLE_NEARBY_MESSAGES_API_KEY=
And android/local.properties:
GOOGLE_NEARBY_MESSAGES_API_KEY=
More info here: Setup Google Nearby Messages in React
Android
# install all dependencies
npm install
# run Inji Newlogic directly to connected emulator or device (Default)
npm run android:newlogic
# run Inji Mosip directly to connected emulator or device
npm run android:mosip
# run Inji Philippines directly to connected emulator or device
npm run android:ph
iOS
# install all dependencies
npm install
npx pod-install
# run Metro bundler in the background
npm start
# run Inji app directly to a connected device
npm run ios -- --device
Developing Android
Build via Android Studio
The app is available in this repository's frontend/android directory. Open this directory in Android Studio (version 4.1 and above) and the app can be built and run from there.
More info here: Build your app using Android Studio
Build via command line
You need Android SDK CLI to build APK.
# 1. Install dependencies
npm install
# 2. Setup the environment variables for the keystore
# Debug keystore
export DEBUG_KEYSTORE_ALIAS=androiddebugkey
export DEBUG_KEYSTORE_PASSWORD=android
# Release keystore
export RELEASE_KEYSTORE_ALIAS=androidreleasekey
export RELEASE_KEYSTORE_PASSWORD=<USE-YOUR-RELEASE-PASSWORD-HERE>
# https://hostname/residentmobileapp is the Mimoto service url
export BACKEND_SERVICE_URL=https://hostname/residentmobileapp
# Use one of following command to build the flavor you need.
# Build for Mosip Philippines test
npm run build:android:ph
# Build for Newlogic test
npm run build:android:newlogic
# Build for MOSIP test
npm run build:android:mosip
More info here: Build your app from the command line
Developing iOS
Build for TestFlight
- Install all dependencies
npm installnpx pod-install
- Open the
ios/directory in XCode - Set the build target to "Any iOS device (arm64)"
- Use an Apple Developer account that can provision builds for release/TestFlight
-
Don't forget to bump the version number when creating an archive
-
Open the Product menu and from there click Archive
-
Once done you can follow the dialog wizard to distribute the app to TestFlight
- Go to your App Store Connect dashboard to manage the newly-uploaded build.
More info here:
- React Native - Publishing to the App Store
- Apple Developer - Distributing Your App for Beta Testing and Releases
View the complete DB :
- Connect your phone to the laptop and open Android Studio.
- On the bottom right vertical tab you will find a
Device File Explorerbutton. Click on it and select you phone. - Navigate to
data -> data -> io.mosip.residentapp ->databases. You will find a file namedRKStoragein it. Download it. - Download DB Browser for SQLite .
- Open the file in this application. Click on
Browse Databutton and selectcatalystLocalStoragetable. Now you should be able to view the entire DB of Inji.
Credits
Credits listed here

