This is my version of the classic game Minesweeper, developed in Kotlin.
Updated to Compose Multi Platform: This game is now available on Android, iOS and Desktop.
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 | |
Home | Game |
---|---|
- 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
- Desktop version