bcgov / myhealthBC-android

Apache License 2.0
5 stars 5 forks source link
hlth

My Health BC

branch: develop

Get it on Google Play

Health Gateway is used to retrieve and store your proof of vaccination, access your health records, view COVID-19 test results, access official resources to navigate your way around Covid-19 and stay up to date with important alerts and official announcements

Table of Contents

Project Resources

Kotlin

Architecture

This application is using Google recommended best practices and architecture. This application mainly contain 3 layers

UI Layer : Displays application data on the screen

Domain Layer : Simplify and reuse the interactions between the UI and data layers

Data Layer : Contains the business logic of your app and exposes application data.

MVVM

Folder Structure

  1. App module contains Activities, Fragments, ViewModels, Adapters, CustomViews, and Helper classes
  2. Data module contains classes to access local storage, remote data source and their supporting classes
  3. Repository module contains repositories containing business logic and background workers.
  4. Common module contains data transfer object classes which help in parsing data between data source to UI

Libraries


Configuration

After cloning the project, open the local.properties file under the project root folder, add the following information and Sync Project with Gradle Files:

USER = your_user_name TOKEN = your_github_personal_access_token

Generating Personal Access Token

  1. Log in to your Github account

  2. Go to Settings/Developer settings

  3. On Personal access tokens, click Generate new token

  4. Add a note - i.e.: my-health-bc-android

  5. Set the expiration

  6. Check the following fields:

    • [x] workflow
    • [x] write:packages
    • [x] admin:org
    • [x] admin:public_key
    • [x] gist
    • [x] write:discussion
    • [x] project
  7. Click Generate token

Make sure to copy your personal access token now. You won’t be able to see it again.

Build Variants

Build variants used in the app

Environment Variables

Prerequisite


Deployment

Before pushing your code

Run the spotless plugin: ./gradlew :spotlessApply

Versioning

In version name 1.2.3, 1 stands for major change and 2 stands for backend change, 3 stands for minor change or patch fix.

Internal

How is the app deployed and where?

Builds generated automatically, distributed on the Actions tab. CI/CD is implemented using Github actions

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, Rashmi Bambhania, Bruno Savoini