Skip to content

WIP - Blueprint for Kotlin multiplatform projects. Supports Android, Desktop and iOS

License

Notifications You must be signed in to change notification settings

bitfunk/blueprint-mobile-kmp

Repository files navigation

Logo

Blueprint for Mobile KMP Projects

A blueprint to kickstart Mobile KMP projects.

Latest release CI - Build Snapshot Version License

Quality Coverage Tech debt

About the project

This is a blueprint for Mobile KMP projects to start right away reducing initial setup cost.

Warning

This project is work in progress. It contains several experiements and will change heavily over time.

It is currently undergoing architectural and organisational changes that focus on renewal of the current approach and removal of experiments.

Features

  • Kotlin Multiplatform
  • Android App
  • iOS App
  • Desktop App
  • Jetpack Compose & Jetbrains Compose
  • Material 3
  • CI Setup with GitHub Actions
  • Dependency versions managed via gradlePlugin and version catalogs
  • Kotlin Static Analysis via ktlint and detekt
  • Issues (bug report + feature request) and Pull Request Template
  • Documentation with MkDocs and Material for MkDocs

Getting Started

Prerequisites

  • Android 5.0.1 (API 21) to Android 13 (API 33)
  • Kotlin 1.7.20
  • Java 11
  • Gradle 7.5
  • Android Studio Dolphin | 2021.3.1
  • Jetpack Compose Compiler 1.3.2

Usage

Use this template for creating a new repository.

Remove README.md and CHANGELOG.md and replace them by TEMPLATE_README.md and TEMPLATE_CHANGELOG.md. Change the placeholders to your own definitions:

  • PROJECT_TITLE
  • PROJECT_DESCRIPTION
  • PROJECT_GITHUB_LINK
  • PROJECT_WEBPAGE_URL
  • PROJECT_SONARCLOUD_NAME

Assets could be placed under docs/src/assets/ folder and images should be placed in docs/src/assets/images/.

If you like to use badges, have a look at badges how to.

Roadmap

This project is work in progress. We are working on adding more functionality, guidelines, documentation and other improvements.

See the open issues for a list of proposed improvements and known issues.

Changelog

All notable changes to this project will be documented in the changelog.

Versioning

We use Semantic Versioning as a guideline for our versioning.

Contributing

You want to help or share a proposal? You have a specific problem? Report a bug or request a feature.

You want to fix or change code? Read the Code of Conduct and contributing guide.

Releasing

See releasing.

Copyright and license

Copyright (c) 2019-2022 Wolf-Martell Montwé.

Please refer to the ISC License for more information.

Acknowledgements