Multiplatform payments & sermon streaming apps(Android, iOS & iPadOS) for Momentum Church in Indiana. Built in Kotlin Multiplatform Mobile(KMM) with SwiftUI & Jetpack Compose, the apps allow users to make payments to the church, stream past sermons, edit & update account information. Persists data locally with SQLDelight and Remote with Postgres via a Go backend. The apps are architected to emphasize code sharing between Android, iOS & iPadOS, so all core business logic written in the SDK, Android, iOS & iPadOS only contain presentation logic, viewmodels and tests.
- add to your local.properties your GitHub email and a login token this downloads my Firebase authentication wrapper library
GITHUB_EMAIL=YOUR_EMAIL GITHUB_TOKEN=YOUR_TOKEN
The app's are available for download on the app store & playstore for Android & iPhone
| Momentum Church: Indiana - Payments & Streaming(Android, iOS & iPadOS) | |
|---|---|
| |
|
✅ iOS & iPadOS: 10+ Five Star Reviews
✅ Android: 10+ Five Star Reviews
| Project Structure | Targets |
| Kotlin MultiPlatform Mobile | Android, iOS & iPadOS |
| Momentum SDK(MultiPlatform) | |
| SQLDelight | |
| Ktor Http Client | |
| Cache4K | |
| Koin | |
| Firebase Auth | |
| Multiplaform Settings | |
| Kotlin Serialization | |
| Stately | |
| Android | iOS & iPadOS |
| Jetpack Compose | SwiftUI |
| Stripe | Stripe |
| Firebase | Firebase |
| LottieAnimations | LottieAnimations |
| Exoplayer | AVFoundation |
| Koin | TinyDi |
| Firebase Messaging | Firebase Messaging |
| StateFlow |
The project is architected using Clean Architecture, the SDK is architected using MVC & Usecases it contains all core business objects/logic. The apps are architected using MVVM. Each ViewModel depends on a controller(Interface/Protocol), and with Dependency Injection upon creation of a ViewModel a concrete implementation is passed to ViewModel that conforms to the corresponding controller.
| Lanuch Screen | Offer Screen | SignUp Screen |
| SignIn Screen | Payment Summary Screen | Stripe |
| Profile Screen | Transaction Screen | Sermons |
| |
||
| Sermon Player | ||
| Lanuch Screen | Offer Screen | SignUp Screen |
| SignIn Screen | Payment Summary Screen | Stripe |
| Profile Screen | Transaction Screen | Payment Success |
| |
||
| Sermons | Sermon Player | |