Caroline provides privacy respecting backend services with multiplatform Kotlin SDKs.
The SDK provides the following features depending on your server deployment.
Logging - Stream your application logs in realtime or schedule uploads
Crash Reporting - Collect caught and fatal errors with custom data
Analytics - Track events with custom attributes
Remote configuration - Distribute runtime configuration based on device attributes, percentage, etc.
Shared data store - Store and query data with custom access rules
Encrypted data store - Store and query data locally and sync it with e2e encryption
Authentication - Managed users with passwords or OAuth Providers (Github, Google, etc.)
Functions - Manipulate shared data based on cron or webhook triggers
caroline-server supports various deployment modes depending on your backend requirements.
By default, an all-in-one mode is used exposing all services from a single central instance.
If only some services are required, the server deployment can disable any unnecessary SDK backend components. Backend components can be deployed as individual services to scaling individual services.
MongoDB provides the primary data storage.
While simple deployments running Mongo and Caroline side-by-side are fine, managed database hosting is recommended. MongoDB Atlas is a good option, especially for a free development database.
repositories {
jcenter()
// Or snapshots
maven { setUrl("http://oss.jfrog.org/artifactory/oss-snapshot-local") }
}
dependencies {
// SDK Modules
implementation("drewcarlson.caroline:caroline-sdk-admin:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-analytics:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-auth:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-config:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-core:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-crash:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-functions:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-logging:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-store:$CAROLINE_VERSION")
implementation("drewcarlson.caroline:caroline-sdk-store-encrypted:$CAROLINE_VERSION")
// Server Modules
implementation("drewcarlson.caroline:caroline-server-core:$CAROLINE_VERSION")
}
Content type
Image
Digest
Size
783.7 MB
Last updated
over 5 years ago
docker pull drewcarlson/caroline