Follow these instructions to install, build, and verify the app SDK.

If you are installing the full stack, this installation requires successful prior completion of the backend system installation.

Prerequisites

I. Install OpenJDK 17

  1. Set up and install OpenJDK 17 using the instructions at https://openjdk.org/install/.

II. Install Android Studio

  1. Set up and install Android Studio on Windows, macOS, or Linux using the instructions at https://developer.android.com/studio.

III. Clone the Repository

  1. Clone the app SDK repository.

    git clone https://github.com/S-HealthStack/app-sdk
    

Build

IV. Prepare the Modules

  1. Clean all modules.
    ./gradlew clean 
    
  2. Build either all modules or just the kit.

    • To build all modules, including sample modules:

       ./gradlew build -x detekt
      
    • To build just the kit module and generate an android archive package (aar):

       ./gradlew :kit:build -x detekt
      

V. Unit Test

  1. Test either all modules or just the kit.

    • To test all modules, including samples:

       ./gradlew test
      
    • To test just the kit:

       ./gradlew :kit:test
      

VI. Check the Coding Style

  1. Use the Compose API guidelines to check your coding style. The guidelines outline the patterns, best practices, and prescriptive style guidelines for writing idiomatic Jetpack Compose APIs.

VII. Create a Firebase Project

  1. Follow the instructions at https://firebase.google.com/docs/android/setup to add a Firebase project to the Firebase account you created during backend system installation.

VIII. Per App Configuration

After app creation, for each app you need to:

  1. Register your app with your Firebase project by updating the <repository>/app/google-service.json configuration file.

  2. For full-stack implementations only, associate your app with the backend system and portal study.

Refer to Configuring the App Environment for details.

IX. Reference Documentation

Refer to our API reference and SDK reference documentation for details on all the backend API endpoints and SDK packages.