Skip to content

Latest commit

 

History

History
199 lines (191 loc) · 7.58 KB

README.md

File metadata and controls

199 lines (191 loc) · 7.58 KB

Momentum

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.

How to run

  1. 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
    

Download Via AppStore or PlayStore

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

Dependencies, Targets & Stack

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

Architecture

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. momentum_architecture

Android

Lanuch Screen Offer Screen SignUp Screen
SignIn Screen Payment Summary Screen Stripe
Profile Screen Transaction Screen Sermons
Sermon Player

iOS

Lanuch Screen Offer Screen SignUp Screen
SignIn Screen Payment Summary Screen Stripe
Profile Screen Transaction Screen Payment Success
Sermons Sermon Player