This repository serves as a showcase and experimental ground for various small applications built using Kotlin Multiplatform and Jetpack Compose for Multiplatform. The goal is to demonstrate how multiplatform applications can be developed and maintained for Android, Desktop (JVM), and potentially other platforms.
- Showcase the power and flexibility of Kotlin Multiplatform and Jetpack Compose for Multiplatform.
- Provide practical examples and templates for building multiplatform projects.
- Serve as a learning resource for developers interested in these technologies.
- Experiment with different architectures and libraries in a multiplatform environment.
Here is a list of the sub-projects contained within this collection:
- BouncyBee – A fun and engaging multiplatform game.
- Minesweeper – Classic puzzle built with Compose Multiplatform.
This project and its sub-projects primarily utilize the following technologies:
- Kotlin: A modern, concise, and safe programming language.
- Kotlin Multiplatform: Enables sharing code between different platforms (Android, iOS, Desktop, Web).
- Jetpack Compose for Multiplatform: A declarative UI toolkit for Android, Desktop, and Web (WASM), based on Google's Jetpack Compose.
- Gradle: A build automation tool used for building the project and managing dependencies.
- Quality checks (Spotless + Detekt + Android Lint baseline) run in CI for Minesweeper.
- The Minesweeper CI workflow uploads Detekt reports (
detekt-reportsartifact) and the Kover HTML coverage report (kover-htmlartifact) for inspection in GitHub Actions.
Contributions are welcome! If you want to propose a new sub-project, improve an existing one, or fix bugs, please follow these steps:
- Fork this repository.
- Create a new branch (
git checkout -b feature/YourFeatureorfix/YourFix). - Make your changes and commit them (
git commit -m 'Add: Description of your changes'). - Push your branch (
git push origin feature/YourFeature). - Open a Pull Request.
For more specific contribution guidelines, please refer to the README files within individual sub-projects if available.