Get started

Welcome to AppKickstarter!

AppKickstarter is your premier solution for swiftly creating Minimum Viable Products (MVPs) on Android and iOS platforms.

Our mission is to expedite your mobile app development journey. We offer a meticulously organized project structure, essential app functionalities, and flawless integration with Firebase backend services.

With AppKickstarter, your focus remains on transforming your unique app vision into reality, while we manage the foundational aspects.

Create a new project from the template

  • After purchasing AppKickstarter from Lemon Squeezie, you'll gain access to our GitHub repository. Go to the template page and click on Use this template.

  • Select “Create a new repository” and you should see something like this:

  • In “Repository template” choose “AppKickstarter/AppKickstarterTemplate.”

  • Assign yourself as the owner

  • Set your repository name

  • Ensure it’s private, and click “Create repository.”

Clone and Set Up Your Repository:

  • In Android Studio, choose “Get from VCS” and paste the SSH address from GitHub.

  • Click “Clone.”

Setup Android

  • Change the Android applicationId in androidApp/build.gradle

  • Change rootProject.namein settings.gradle.

  • Change your app's name in shared/src/androidMain/values/strings.xml

Setup iOS

  • Open XCode : Make sure to open the iOS project opening xcworkspace file in XCode

  • Change Display Name

  • Change Bundle Identifier

  1. Configuring Environment Variables

AppKickstarter ensures the security of your project by providing a dedicated file (local.properties) for API keys and secrets. This file is excluded from your GitHub repository, safeguarding your sensitive data. Simply populate your local.properties file with the necessary data to start your secure and streamlined development with AppKickstarter.

  • Duplicate the values in local.properties.example inside your own local.properties

  • Fill the signing configuration for the Android app:

RELEASE_STORE_FILE=
RELEASE_STORE_PASSWORD=
RELEASE_KEY_ALIAS=
RELEASE_KEY_PASSWORD=
  • Optional to start: AppKickstarter supports integration with multiple APIs to enhance your app’s functionality. RevenueCat, Google auth, Google map, PostHog, Sentry, AdMob can be effortlessly managed by specifying your API keys:

# Google Map
google_map_api_key=

# AI Proxy
mobile_ai_api_hmac_secret_key=
mobile_ai_url=

# Google Sign in
google_sign_in_web_client_id=

# RevenueCat
revenuecat_api_key_android=
revenuecat_api_key_ios=

# AdMob Android
admob_app_id_android=
admob_rewarded_ad_id_android=

# AdMob iOS
admob_app_id_ios=
admob_rewarded_ad_id_ios=

# PostHog
posthog_api_key=
posthog_host=

# Sentry
sentry_dsn=

Congratulations on gaining access to the AppKickstarter GitHub project! Along with this, you should have received an invitation to our dedicated Slack channel. This exclusive space is designed to provide you with the latest information, resources, and personalized support for your KMP apps. In case you haven't received your Slack invite, or if you have any other inquiries, please don't hesitate to reach out to our support team at hey@appkickstarter.com. I am here to ensure your journey with AppKickstarter is seamless and successful!

Integrate with Firebase:

  • On your Firebase Dashboard, create and name your new mobile application project. For better integration you must name your app ${your package}.android and your iOS app ${your package}.ios.

  • Add an Android app, input the package name and download the google-services.json file.

  • Place the google-services.json file into your Android app module in Android Studio.

  • For iOS, add the Google-service-Info.plist via Xcode.

Make sure to open the iOS project opening xcworkspace file in XCode

Do it via XCode else you'll have an error at runtime (firebase initialization failed because plist will not be found)

On XCode, you must make sure that "Copy items if needed" is checked. It is not always there by default.

  • Enable on your Firebase application what you need : authentication, email/password login, google login, firestore, firebase storage

  • Configure Firebase Authentication Rules such as:

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}
  • Set the Firebase authentication rules to allow read/write access to authenticated users.

Synchronize and launch your app:

  • Synchronize Gradle files.

  • At this point the core of the app is setup. You need to setup third parties now.

Need Assistance?

If any issues arise during the setup, contact me on Slack or at hey@appkickstarter.com for personalized assistance. I am dedicated to helping you build exceptional apps!

Last updated