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 Default60
AWS_REGION
: AWS region Defaultap-northeast-2
AWS_SECRET_ACCESS_KEY
: Secret access key for AWSBACKEND_PORT
: Backend server's port number Default50001
CASBIN_DB_HOST
: Host(Endpoint) of Casbin DBCASBIN_DB_PASSWORD
: Password ofCASBIN_DB_USERNAME
CASBIN_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. SupportMONGO
onlyGOOGLE_JWK_URL
: JWK URL of Google Defaulthttps://www.googleapis.com/oauth2/v3/certs
MONGODB_DATABASE
: Database name of mongo DB Defaulthealth_research
MONGODB_HOST
: URL of mongo DB DefaultMONGODB_PASSWORD
: Password ofMONGODB_USERNAME
MONGODB_USERNAME
: User account name of mongo DBMONGODB_URI
: URI of mongo DB DefaultURI of mongo DB Atlas
OIDC_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.com
OIDC_GOOGLE_REDIRECT_URI
: An authorized redirect URI for the givenOIDC_GOOGLE_CLIENT_ID
specified in the API Console Credentials pageREDIS_HOST
: Host(Endpoint) of Redis Default127.0.0.1
REDIS_PASSWORD
: Password of RedisREDIS_PORT
: Port number of Redis Default6379
REDIS_SSL_ENABLED
: Whether Redis uses SSL or not Defaulttrue
SAMSUNG_ACCOUNT_JWK_URL
: JWK URL of Samsung Account Defaulthttps://api.account.samsung.com/v1/oidc/certs
SUPER_TOKENS_URL
: URL of SuperTokens Defaulthttp://localhost:3567
TRINO_CATALOG
: Catalog name of Trino Defaultmongodb
TRINO_HOST
: Host(Endpoint) of Trino Default127.0.0.1
TRINO_PORT
: Port number of Trino Default8080
TRINO_USERNAME
: User account name of Trino Defaultadmin