Skip to content

A photo-sharing app with only verifiable photos and videos.

License

Notifications You must be signed in to change notification settings

CS6/capture-lite

 
 

Repository files navigation

Capture Lite

branch build coverage quality
master build Codacy Badge Codacy Badge
develop build Codacy Badge Codacy Badge

Highlight Features

  • Generate digital proofs on media assets created.
  • WIP: Publish digital proofs to decentralized networks.

Demo App

preview

The demo app is hosted on GitHub Page. You can simulate the mobile device by toggling device mode with Chrome DevTools.

Getting Started

Node.js 10.16.0+ is required.

Install the dependencies.

npm i

Preview the app in web browser.

ionic serve

Verification

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.

Development

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

Contribution

Platform

Android

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

Architecture

See the architecture of Starling Capture for details.

Serialization Schema

See the serialization schema of Starling Capture for details.

Caveat

  • This app is still in the experimental stage.
  • This app uses raw file system to save proofs, and thus the performance is not optimized.

Release

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.

Deploy

Demo App

The demo app is hosted on the GitHub Page. It would be updated when there is a new commit on the master branch.

About

A photo-sharing app with only verifiable photos and videos.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 74.1%
  • HTML 13.2%
  • SCSS 6.6%
  • Swift 2.9%
  • JavaScript 1.5%
  • Java 1.3%
  • Ruby 0.4%