Skip to content

Hear local historical markers as you travel on your road-trip. 100% Shared Compose UI, Kotlin native cross-platform codebase. Includes Cocoapods, Google Maps, GPS Location, notifications, background location tracking, In-App purchases, web-scraping, networking, persistent storage, CommonFlow

carotkut94/FredsRoadtripStoryteller

 
 

Repository files navigation

image note: link to play store not publicly active yet

Fred's Roadtrip Storyteller

Listen to historical markers as you travel - Learn about local history as you drive.

  • KMP (Kotlin Multi-Platform) Compose-based Proof-of-concept experimental app using Google Maps for iOS and Android.
  • Pure Kotlin App using SHARED core and SHARED Compose based UI, running in native Kotlin.

Kotlin badge-android badge-ios badge-kmp badge-kmp

YouTube series following the development of the app:

image

YouTube Video Views

Assets

Screen Shots

note: screenshots may differ slightly from current version

Android Screenshots

image image image image image image image image image image image image

iOS Screenshots

image image image image image image image image image image image

External Locations for Promoting Project

Application Architecture

Developer notes

Source: (Code snapshot taken 10/8/23) https://github.com/JetBrains/compose-multiplatform/tree/master/examples/cocoapods-ios-example

  • Must create AppSecrets.plist from within Xcode - in password vault

  • Can get google-services.json from Google Cloud Console

  • must do pod install from the iosApp folder

  • Note: There are many spurious warning messages and pop-up warnings. It seems these can be safely ignored.

Latest commit Ran & Built with:

  • Android Studio Iguana | 2023.2.1 RC 2
  • Build #AI-232.10227.8.2321.11429013, built on February 9, 2024
  • Runtime version: 17.0.9+0-17.0.9b1087.7-11185874 aarch64
  • VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
  • macOS 13.6.3
  • GC: G1 Young Generation, G1 Old Generation
  • Memory: 4096M
  • Cores: 10
  • Metal Rendering is ON
  • Registry:
  • analyze.exceptions.on.the.fly=true
  • debugger.new.tool.window.layout=true
  • ide.tooltip.initialDelay=812
  • ide.experimental.ui=true
  • ide.browser.jcef.gpu.disable=true
  • Non-Bundled Plugins:
  • com.c5inco.modifiers (1.0.14)
  • com.intellij.javafx (1.0.4)
  • com.intellij.marketplace (232.10227.13)
  • wu.seal.tool.jsontokotlin (3.7.4)
  • org.jetbrains.kotlin (232-1.9.20-RC2-release-495-AS10072.27)
  • idea.plugin.protoeditor (232.9559.10)
  • com.wakatime.intellij.plugin (14.3.11)
  • com.github.airsaid.androidlocalize (3.0.0)
  • DBN (3.4.3073.0)
  • net.seesharpsoft.intellij.plugins.csv (3.3.0-232)
  • com.jetbrains.kmm (0.8.2(232)-20)
  • com.squareup.sqldelight (2.0.1)
  • com.developerphil.adbidea (1.6.13)
  • org.jetbrains.compose.desktop.ide (1.6.0)
  • by.overpass.svg-to-compose-intellij (0.14)
  • com.github.copilot (1.4.18.4775)
  • mobi.hsz.idea.gitignore (4.5.2)
  • com.abeade.plugin.figma.import (1.3.0)

Code style

KMP Stuff

Android

iOS

-[Solved] iOS 17 MapKit: How to use Map(selection:)? -https://www.hackingwithswift.com/forums/swiftui/ios-17-mapkit-how-to-use-map-selection/22886

https://www.hackingwithswift.com/books/ios-swiftui/integrating-mapkit-with-swiftui

Dev notes

Asset links

Potential app names:

icons: https://www.google.com/search?q=flat+icons+navigation&sca_esv=585465592&tbm=isch&sxsrf=AM9HkKkbHZOj7DIYI42VD56hpTfPgmYrYQ:1701032930698&source=lnms&sa=X&ved=2ahUKEwj_kte8yeKCAxVQIEQIHeeIDDsQ_AUoAXoECAIQAw&biw=1622&bih=1050&dpr=2#imgrc=Tx7XOXuIaxmJtM

Play store badge generator: https://play.google.com/intl/en_us/badges/

Privacy Policy: https://www.privacypolicygenerator.info/ https://www.privacypolicygenerator.info/download.php?lang=en&token=dhslNflkEHizHHbsBssrE8zM1p5AXwnR

Firebase console: https://console.firebase.google.com/u/0/project/talkingmarkers/overview

Photo editors

Original Readme:

Compose Multiplatform iOS CocoaPods example

This example showcases using Kotlin Multiplatform shared module in Swift as a CocoaPods framework.

The official Kotlin documentation provides more information on working with CocoaPods:

Setting up your development environment

To setup the environment, please consult these instructions.

How to run

Choose a run configuration for an appropriate target in IDE and run it.

run-configurations.png

About

Hear local historical markers as you travel on your road-trip. 100% Shared Compose UI, Kotlin native cross-platform codebase. Includes Cocoapods, Google Maps, GPS Location, notifications, background location tracking, In-App purchases, web-scraping, networking, persistent storage, CommonFlow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 92.6%
  • Python 5.0%
  • Swift 1.5%
  • Other 0.9%