FreeToGame

This is a KMP project for Android, IOS, Desktop and Wear Os with shared UI using Compose UI. The project consumes data from the FreeToGame Api. The project supports Dynamic colors for Android, and light and dark thems for all platforms

Note

The plans to complete the Desktop and Web features are underway. You can also take this as an opportunity to contribute by working on these features ?

Platforms

Android IOS Wear OS Desktop Web

Screenshots

Android

IOS

Wear OS

Desktop && Web

The plans to complete the Desktop and Web features are underway. You can also take this as an opportunity to contribute by working on these features ?

Demo

Android

android_video.mp4

IOS

ios_video.mp4

Wear OS

wear_video.mp4

Desktop && Web

The plans to complete the Desktop and Web features are underway. You can also take this as an opportunity to contribute by working on these features ?

Tech Stack

  • Kotlin Multiplatform – The Kotlin Multiplatform technology is designed to simplify the development of cross-platform projects. It reduces time spent writing and maintaining the same code for different platforms while retaining the flexibility and benefits of native programming.

  • Compose Multiplatform – Declarative framework for sharing UIs across multiple platforms. Based on Kotlin and Jetpack Compose.

  • Koin – A framework to help you build any kind of Kotlin & Kotlin Multiplatform application, from Android mobile, Multiplatform apps to backend Ktor server applications Koin is developed by Kotzilla and open-source contributors

  • Voyager – A multiplatform navigation library built for, and seamlessly integrated with, Jetpack Compose.

  • Kotlinx-serilization – Kotlin multiplatform / multi-format serialization.

  • ktor – Ktor is a framework to easily build connected applications – web applications, HTTP services, mobile and browser applications.

  • Compose Components Resources – Resources For Compose Multiplatform.

  • Kotlin – Kotlin is a modern but already mature programming language designed to make developers happier. It’s concise, safe, interoperable with Java and other languages, and provides many ways to reuse code between multiple platforms for productive programming.

  • Material3 – Material 3 includes updated theming and components and Material You personalization features like dynamic color, and is designed to be cohesive with the new Android 12 visual style and system UI.

Project structure

Modules

1.shared

This is a Kotlin module that contains the logic common for both Android and iOS applications, that is, the code you share between platforms.

This shared module is also where all the Compose Multiplatform code is witten.

It uses Gradle as the build system. You can add dependencies and change settings in shared/build.gradle.kts. The shared module builds into an Android library and an iOS framework.

2.androidApp

This is a Kotlin module that builds into an Android application. The androidApp module depends on and uses the shared module as a regular Android library.

3.iosApp

This is an Xcode project that builds into an iOS application. It depends on and uses the shared module as a CocoaPods dependency.

4.Wear

This is a Kotlin module that builds into an Wear OS application. The wear module depends on and uses the shared module as a regular Android library.

5.desktopApp

6.Web

License and Copyright ©️

LICENSE

   Copyright©️ 2023 Felix Kariuki

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

Reach Out

GitHub

View Github