From 3ee70d3104b4bd89907709177412cd7ad0bb948f Mon Sep 17 00:00:00 2001 From: cbullinger <115956901+cbullinger@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:14:11 -0400 Subject: [PATCH] (DOCSP-30680, DOCSP-31329, & DOCSP-31330): Add Property-Lvl Encryption, User Presence, and Client Reset to Kotlin example cards (#2935) ## Pull Request Info Add example project cards for: - [Property-Level Encryption](https://github.com/realm/realm-kotlin-samples/blob/main/AppServicesUsageSamples/apps/property-encryption/README.md) - [Client Reset and Error Handling](https://github.com/realm/realm-kotlin-samples/blob/main/AppServicesUsageSamples/apps/error-handling/README.md) - [Presence Detection](https://github.com/realm/realm-kotlin-samples/blob/main/AppServicesUsageSamples/apps/presence-detection/README.md) ### Jira - https://jira.mongodb.org/browse/DOCSP-30680 - https://jira.mongodb.org/browse/DOCSP-31329 - https://jira.mongodb.org/browse/DOCSP-31330 ### Staged Changes - [Kotlin SDK landing page](https://docs-mongodbcom-staging.corp.mongodb.com/realm/docsworker-xlarge/docsp-31329-31330-sample-apps/sdk/kotlin/#example-projects) ### Reminder Checklist If your PR modifies the docs, you might need to also update some corresponding pages. Check if completed or N/A. - [x] Create Jira ticket for corresponding docs-app-services update(s), if any - [x] Checked/updated Admin API - [x] Checked/updated CLI reference ### Review Guidelines [REVIEWING.md](https://github.com/mongodb/docs-realm/blob/master/REVIEWING.md) --- .../General_SECURITY_Encryption10x.png | Bin 0 -> 13755 bytes .../Technical_REALM_Offline10x.png | Bin 0 -> 16413 bytes source/images/icons/kotlin_sdk.svg | 45 +++++++----------- source/sdk/kotlin.txt | 39 +++++++++++++++ 4 files changed, 57 insertions(+), 27 deletions(-) create mode 100644 source/images/icons/branding_2023/General_SECURITY_Encryption10x.png create mode 100644 source/images/icons/branding_2023/Technical_REALM_Offline10x.png diff --git a/source/images/icons/branding_2023/General_SECURITY_Encryption10x.png b/source/images/icons/branding_2023/General_SECURITY_Encryption10x.png new file mode 100644 index 0000000000000000000000000000000000000000..1d0d3380a07c1a6e3a9c7dd94f4d152e25ca9f91 GIT binary patch literal 13755 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%0AopaEBUVf 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 - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/source/sdk/kotlin.txt b/source/sdk/kotlin.txt index adb5b98b1b9..fc4ad4b7639 100644 --- a/source/sdk/kotlin.txt +++ b/source/sdk/kotlin.txt @@ -186,3 +186,42 @@ Recommended Reading :icon-alt: Migrate Icon Learn why and how to switch from the Java SDK to the Kotlin SDK. + +Example Projects +---------------- + +Explore engineering and community-provided example projects to learn best +practices and common development patterns for Realm and Atlas App Services +using the Kotlin SDK. + +.. card-group:: + :columns: 3 + :style: extra-compact + + .. card:: + :headline: Property-Level Encryption + :cta: Example project + :url: https://github.com/realm/realm-kotlin-samples/blob/main/AppServicesUsageSamples/apps/property-encryption/README.md + :icon: /images/icons/branding_2023/General_SECURITY_Encryption10x.png + :icon-alt: Encryption Icon + + Enhance user data security with property-level encryption. + + .. card:: + :headline: User's Online State + :cta: Example project + :url: https://github.com/realm/realm-kotlin-samples/blob/main/AppServicesUsageSamples/apps/presence-detection/README.md + :icon: /images/icons/branding_2023/Technical_REALM_Offline10x.png + :icon-alt: Realm Offline Icon + + Detect connectivity and activity of users and devices. + + .. card:: + :headline: Connection State Change & Error Handling + :cta: Example project + :url: https://github.com/realm/realm-kotlin-samples/blob/main/AppServicesUsageSamples/apps/error-handling/README.md + :icon: /images/icons/branding_2023/General_CLOUD_Mobility10x.png + :icon-alt: Cloud Mobile Transfer Icon + + Learn best practices around handling Sync errors and client reset + strategies.