The backend system for the Samsung Health Research Stack consists of backend services and a data engine available through application programming interface (API) endpoints that makes it easy to visualize data and manage users for clinical/medical studies. The stack also includes:
- A software development kit (SDK) for app development
- A web portal for survey creation, participant management, and data visualization
Refer to https://developer.samsung.com/health/stack for documentation, or jump directly to:
The web portal installation instructions
sudo apt install openjdk-17-jdk
// To get proto files
git submodule update --init --recursive
// Build
./gradlew build
// Run
./gradlew run
// Clean
./gradlew clean
./gradlew ktlintCheck
AWS_ACCESS_KEY_ID: Access key ID for AWSAWS_BUCKET_NAME: AWS S3's bucket nameAWS_PRESIGNED_URL_DURATION: Duration of AWS S3's presigned URL Default60AWS_REGION: AWS region Defaultap-northeast-2AWS_SECRET_ACCESS_KEY: Secret access key for AWSBACKEND_PORT: Backend server's port number Default50001CASBIN_DB_HOST: Host(Endpoint) of Casbin DBCASBIN_DB_PASSWORD: Password ofCASBIN_DB_USERNAMECASBIN_DB_PORT: Port number of Casbin DBCASBIN_DB_SCHEMA: Schema name of Casbin DBCASBIN_DB_USERNAME: User account name of Casbin DBDATABASE_TYPE: Database type. SupportMONGOonlyGOOGLE_JWK_URL: JWK URL of Google Defaulthttps://www.googleapis.com/oauth2/v3/certsMONGODB_DATABASE: Database name of mongo DB Defaulthealth_researchMONGODB_HOST: URL of mongo DB DefaultMONGODB_PASSWORD: Password ofMONGODB_USERNAMEMONGODB_USERNAME: User account name of mongo DBMONGODB_URI: URI of mongo DB DefaultURI of mongo DB AtlasOIDC_GOOGLE_CLIENT_ID: Client ID of Google OAuth2 credentials from the API Console Credentials pageOIDC_GOOGLE_CLIENT_SECRET: Client secret of Google OAuth2 credentials from the API Console Credentials pageOIDC_GOOGLE_OAUTH2_URL: Google OAuth2 api URL Defaulthttps://oauth2.googleapis.comOIDC_GOOGLE_REDIRECT_URI: An authorized redirect URI for the givenOIDC_GOOGLE_CLIENT_IDspecified in the API Console Credentials pageREDIS_HOST: Host(Endpoint) of Redis Default127.0.0.1REDIS_PASSWORD: Password of RedisREDIS_PORT: Port number of Redis Default6379REDIS_SSL_ENABLED: Whether Redis uses SSL or not DefaulttrueSAMSUNG_ACCOUNT_JWK_URL: JWK URL of Samsung Account Defaulthttps://api.account.samsung.com/v1/oidc/certsSUPER_TOKENS_URL: URL of SuperTokens Defaulthttp://localhost:3567TRINO_CATALOG: Catalog name of Trino DefaultmongodbTRINO_HOST: Host(Endpoint) of Trino Default127.0.0.1TRINO_PORT: Port number of Trino Default8080TRINO_USERNAME: User account name of Trino Defaultadmin