You can find Android alpha releases on our releases page. Click here to find the latest release. For the app to recognize other devices, make sure to enable Bluetooth.
+--------------------------------+
| |
| ito-app |
| |
| +----------------------------+ | +----------------+
| | | | | |
| | react-native-ito +------>+ api-backend |
| | library | | | |
| +----------------------------+ | +----------------+
+--------------------------------+
ito-app(this repository): React Native app implementationreact-native-ito: React Native library, which contains native code for handling bluetooth and network communication with the backend. The library is used by the app as an NPM dependency. The exact version is pinned inpackage-lock.json.api-backend: This is the hosted backend implementation. This is work in progress and will replace the oldbackend-sqliteimplementation, that is currently used by the app.
Take a look at the user flow on Figma. We have implemented the major part of those screen mockups.
Also try our click dummy for a quick demonstration.
Select "React Native CLI Quickstart" and your OS on Environment Setup React-Native.
Don't forget to install the npm dependencies:
npm installThis will also trigger the postinstall script defined in package.json, which will run:
jetifyto do an AndroidX migration for dependenciesreact-native linkto link library dependencies
To start the React Native Metro server use:
npm run startTo build the source and install use:
npm run androidTo build an APK, run:
npm run build:androidThe APK is generated to android/app/build/outputs/apk/release/app-release.apk
To start the React Native Metro server use:
npm run startTo build the source and install use:
npm run iosCheck out react-native-ito and execute:
npm linkThen, go to your local checkout of ito-app and execute:
npm link react-native-itoThis will override node_modules/react-native-ito with a symbolic link to your local checkout of react-native-ito. Now your local checkout of the library will appear to be an installed dependency in the node_modules folder of the app and will be recognized as such during build.
Keep in mind, that after modifying library code, you might need to remove the build folders (e.g. android/build) in your react-native-ito checkout. This will force the app project to rebuild the library.
Now you can build and start the app and it will use your locally modified library code:
npm run start
npm run android
npm run iosClient/server communication is handled by the library, so you need to locally modify the library code (see previous section).
Check out the backend and run it locally (e.g. using docker-compose).
Find the BASE_URL environment variable in the code of react-native-ito-bluetooth and change it to your local server's url.
The CI pipeline is implemented using GitHub Actions.
- Build (pull requests against
master,masterpushes,*-androidtag pushes):- install the Android SDK
- build an APK
- Deploy (
masterpushes,*-androidtag pushes):- create a GitHub release
- Upload the APK as release asset