BC Vaccine Card Verifier-Android
BC Vaccine Card Verifier App is used to scan the QR generated from HealthGateway app and shows the vaccination status of a person. This is for Businesses from the province of British Columbia.
Table of Contents
Project Resources
Architecture
Language: Kotlin
Architecture: MVVM
- Architecture used for app: MVVM
- One activity with multiple fragments is used. Business logic is present in classes under utils package. View models associated with fragments seperate the UI from business logic.
- Does it differ from standard architecture? No.
- Include UML diagram if needed. NA
Dependency Injection: Hilt
Concurrency: Coroutines, Kotlin Flow
Folder Structure
barcodeanalyser, DI, model, UI, utils, viewModel are placed under project package. barcodeanalyser and utils contains the business logic.
Libraries
- GSON: For serialization/deserialization, and converting Java Objects into JSON, and back
- Material design: Material Components for Android
- Jetpack navigation: For screen navigation
- Lifecycle-aware components: For usage of Lifecycle-aware components
- Hilt: For dependency injection
- Google barcode scanner: For scanning QR
- CameraX: For camera funtionalities
- JWT: For verification of signature embedded in QR
- BouncyCastle: For crptography
- DataStore: For caching key value pairs
Configuration
Build Variants
Build variants used in the app
- demoDebug
- Uses dev jwks.json configuration
- demoRelease
- Uses dev jwks.json configuration
- prodDebug
- Uses PROD jwks.json configuration
- prodRelease
- Uses PROD jwks.json configuration
- stageDebug
- Uses STAGE jwks.json configuration
- stageRelease
- Uses STAGE jwks.json configuration
Environment Variables
- Not applicable
APIs
- No external services were used
Deployment
Versioning
In version name 1.2, 1 stands for major change and 2 stands of minor change or patch fix.
Internal
How is the app deployed and where?
Builds generated manually, distributed through Google Play. CI/CD implementation is in progress
External
How is the app deployed and where?
Builds generated manually, distributed through Google Play.
Contributors
List past and present contributors. Will S, Pinakin Kansara, Amit Metri