📄️ Push Notification
KAppMaker supports push notifications through Firebase Cloud Messaging (FCM) for both Android and iOS platforms. It uses KMPNotifier library. This section guides you through the process of setting up push notifications in your app.
📄️ Authentication
KAppMaker provides an easy setup for authentication using Firebase Authentication and the KMPAuth library. KAppMaker already supports multiple authentication providers, including Google and Apple, as well as functionality for getting the current user, logging out, and deleting a user. This section guides you through the necessary steps to configure user authentication in your application.
📄️ In-App Purchases & Subscriptions
KAppMaker simplifies handling in-app purchases and subscriptions with support for two subscription providers: RevenueCat and Adapty. You can switch between them at build time. KAppMaker supports both a remote paywall UI and a pre-configured subscription/in-app purchase screen. The remote paywall allows you to update pricing and product details directly from the provider's dashboard, without requiring an app update.
📄️ In-App Review/Rating
KAppMaker includes a built-in In-App Review feature, allowing you to request user rating directly within your app. To help boost app ratings and visibility, in-app reviews are automatically triggered after a successful purchase. This is based on the insight that paying users are more likely to leave positive reviews at that moment.
📄️ Network
KAppMaker uses Ktor for network operations to manage HTTP requests and responses across different platforms.
📄️ Local Storage
KAppMaker uses Room 3 for offline data persistence. With Room 3 the same @Database, @Entity and @Dao declarations live in commonMain and run on Android, iOS, JVM Desktop, and Web (WASM) — no per-platform abstraction layer is needed.
📄️ Screen Generator
Scaffold a new screen — generates the standard files and wires everything up so the screen is reachable end-to-end without hand-editing five files.
📄️ User Preferences
KAppMaker allows you to store and manage user preferences, such as whether the onboarding screen has been shown or any custom user settings. You can save and retrieve different types of data like strings, integers, and booleans using simple key-value pairs. This is handled by Multiplatform Settings.
📄️ UI Components
KAppMaker comes with already built in to use UI components. These components are located in designsystem module. Also Compose Hot Reload feature is enabled to iterate quickly. You can see all available components in AllComponentsGallery.kt file located in designsystem module. In designsystem/jvmMain there is Main.kt file. When you run it you can see and search all reusable components, also it supports hot reload, meaning if you change something in component you can see changes.
📄️ GitHub CI/CD Actions
KAppMaker uses GitHub Actions to automatically gate PRs and release the Android and iOS apps. Workflows live at the repo root in .github/workflows/ (not under MobileApp/) so GitHub Actions discovers them. Each workflow uses defaults.run.working-directory: MobileApp to keep gradle commands clean.
📄️ Testing & Quality Gates
Every PR runs format, lint, unit tests, Compose UI tests, screenshot regression tests, and an Android debug build via .github/workflows/prchecks.yml. Run the same gates locally before pushing.
📄️ AI Integration
Serverless backend built with Firebase Cloud Functions, for AI integrations like ChatGPT and Replicate AI. The AI Module in KAppMaker is ready to use with minimal setup. AI integration consists of two parts: the mobile (client) side and the backend side. We cannot directly use OpenAI or Replicate APIs on the mobile side because they require an API key, and storing API keys in client-side code is not secure. Therefore, we will add an API proxy using Firebase. Add your OpenAI or Replicate AI API keys to Google Secret Manager, deploy Firebase Cloud Functions, and set your CLOUDFUNCTIONSURL in util/Constants file. Firebase Cloud Functions are free to start with generous free limits, but be sure to set a budget limit to avoid unexpected charges.
📄️ App Landing Page Template
This is a simple app landing page template that you can use to showcase your app and deploy it into Firebase easily and free. You can see the demo of the landing page of AppIdeaHub. It has sections for a Hero, Problem, Features, and a Call-to-Action (CTA). It includes template Privacy Policy and Terms and Service files as well (but you should write your own according to your app, as this is just a template and not a legal document).
📄️ Feature Flag / Remote Config
Feature Flags using Firebase Remote Config!
📄️ Google AdMob Ads
By default ads are disabled, you can enable it by setting FeatureFlagManager' s ISADSENABLED field value to true. Since it is added in FeatureFlagManager, you can also configure visibility of ads using Firebase Remote Config and setting isadsenabled boolean field value true or false. For more information about Feature Flags//docs.kappmaker.com/features/feature-flag
📄️ Logging
You can log errors, info, debug messages using AppLogger. By default console logs will be turned off for relase builds.
📄️ Scripts
Helper scripts are located in the MobileApp/scripts/ directory. Run all scripts from the MobileApp/ directory.
📄️ Flexible Local Credit System
This feature adds a fully configurable, extensible credit system to the app. Users can earn, purchase, and spend credits, and apps can configure any combination of one-time rewards, recurring rewards, and credit sources using a simple DSL. It also introduces a Credit Balance screen, transaction logs, to integrate in-app purchases with the credit system. See usage below
📄️ Firebase Integration
KAppMaker has a support for Firebase as a serverless backend for AI integration and other features like Authentication, Push Notifications, and Landing Page Hosting. Follow these steps carefully to set up Firebase and connect it with your app.
📄️ Store Screenshots
Render every storefront screenshot — App Store + Play Store, all locales — with a single command. Pure screen captures at the storefront pixel dimensions, ready to upload. No Fastlane, no ImageMagick, no Ruby toolchain.