branch | build | coverage | quality |
---|---|---|---|
master | |||
develop |
- Generate digital proofs on media assets created.
- WIP: Publish digital proofs to decentralized networks.
The demo app is hosted on GitHub Page. You can simulate the mobile device by toggling device mode with Chrome DevTools.
Node.js 10.16.0+ is required.
Install the dependencies.
npm i
Preview the app in web browser.
ionic serve
The signature of proofs can be verified with Web Crypto API. The signed message is generated by services/serialization/serialization.service.ts#stringify()
method. A Python example for verification can be found in the Starling Capture repository.
Start a local dev server for app dev/testing.
ionic serve
Run tests.
npm run test
Run tests in headless mode.
npm run test-ci
Lint the projects.
npm run lint
Update cordova-res
(splash screens and launcher icons).
cordova-res android --skip-config --copy
- The committed codes should pass all GitHub workflows.
- Avoid using getters/setters in TypeScript so the linter for RxJS can correctly identify the unsafe scope.
If your operating system is Linux, set the linuxAndroidStudioPath
in capacitor.config.json
. For example,
{
"linuxAndroidStudioPath": "/home/username/android-studio/bin/studio.sh"
}
Before running the app with Android Studio, build and sync the dependencies and web assets.
ionic build
npx cap sync
Open the project in Android Studio.
npx cap open android
The script does the same thing for you.
npm run build-android
See the architecture of Starling Capture for details.
See the serialization schema of Starling Capture for details.
- This app is still in the experimental stage.
- This app uses raw file system to save proofs, and thus the performance is not optimized.
Bump version in package.json
.
{
"version": "a.b.c"
}
Bump version in android/app/build.gradle
.
android {
defaultConfig {
versionCode abc
versionName "a.b.c"
}
}
When push to the develop
branch with new version in the package.json
file, GitHub Action would automatically create new release.
The demo app is hosted on the GitHub Page. It would be updated when there is a new commit on the master
branch.