About
Intro
My name is Andrew Steinmetz and the idea for Wolf Pack came about when this majestic creature, Finley, entered my life.
When Fin was just a puppy being potty trained, it was difficult for my partner and I to communicate when she was last taken out given we work on different floors in the house. I was not happy with any of the current apps on the market, so being a mobile application developer myself I set out to build one! So a few years later, Fin is all grown up and I have finally shipped the app I made for her.
Technologies Used
After experimenting with a couple different technologies, I finally committed to building Wolf Pack out with Kotlin Multiplatform with the goal of trying to share as much code as possible between a native Android and iOS app.
Code Style
- Ktlint - an anti-bikeshedding Kotlin linter with built-in formatter
- ktlint-gradle - Gradle plugin for Ktlint
Shared
- Compose Multiplatform - shared UI between Android & iOS
- Decompose - navigation and lifecycle
- MVIKotlin - presentation and business logic
- Reaktive - background processing and data transformation
- SQLDelight - data storage
- Kodein - dependency injection
- Kotlinx-DateTime - date and time library
- Kotest - testing assertions and framework
- Napier - logging
- Multiplatform settings - save simple key value data
- BuildKonfig - multiplatform build config similar to android BuildConfig
- MocKMP - multiplatform mocking library
- moko-resources - multiplatform shared resources (strings)
- Ktor - http client and backend server
- Okio - file system
- RevenueCat - manage in app purchases