This is my version of the classic game Minesweeper, developed in Kotlin.
Updated to Compose Multi Platform: This game is now available on Android and iOS.
The original version of this project with the Android version is available on the branch Kotlin.
- KMP: Compose Multi Platform
- Kotlin 2.0: Utilized for its modern features and performance improvements, making it easier to develop a robust and efficient application.
- Jetpack Compose: The user interface is developed using this modern Android UI toolkit, enabling the creation of flexible and dynamic interfaces.
- MVVM: Implements the Model-View-ViewModel pattern to separate presentation logic from business logic and data, improving testability and code organization.
- Dependency Injection - Koin
(formerly Dagger-Hilt): Simplifies dependency management, allowing for better scalability and unit testing. - Unit Testing: User interface tests ensure the app behaves correctly and provides a smooth user experience.
- Flows: Handles asynchronous data streams, providing a clean way to manage state and data flow within the application.
- DataStore Preferences: Used to save the user's best times locally.
Home | Game |
---|---|
iOS Menu | iOS Game |
Game Win | Game Loss |
Both Systems | |
- App Icon on iOS and Android
- Convert to KMP
- End of game status
- Dialog for End of Game Status
- Toast alerts when the user has no more mines
- Animations in dialogs
- Persistence for saving records
- Show records on HomeScreen
- Board test created