Flagsmith / Flagsmith/flagsmith-kotlin-android-client

Kotlin Multiplatform Support

Open
#3 0 comments 11 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
8
Forks
18
PR merge metrics
No merged PRs in 30d

Description

In order to make the client work with kmm projects
Need to rework the following:

1. replace usage of GSON with [kotlin.serialization](https://github.com/Kotlin/kotlinx.serialization)
2. replace use of android Context, Handler from FlagsmithAnalytics.kt with kotlin coroutines api
3. replace SharedPreferences in FlagsmithAnalytics.kt with [multiplatform-settings](https://github.com/russhwolf/multiplatform-settings)
4. seems that Fuel (net lib) support kmm, but haven't tested, can consider replacing it with [Ktor](https://ktor.io)

Made a POC with ktor and kotlin.serialization
have not implement Analytics support yet

https://github.com/idan-fido/flagsmith-kotlin-multiplatform

gz#199

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing client architecture and FlagsmithAnalytics.kt, then compare it with the linked Kotlin Multiplatform proof of concept. Evaluate the listed migrations for serialization, coroutines, settings, and networking, including the unimplemented analytics support. Done means the client works in KMM projects with analytics support implemented and the chosen replacements integrated.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
mobile, mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.