A modern Rubik's Cube learning app built with Jetpack Compose and clean MVVM architecture. Learn to solve a Rubik's Cube through a structured 8-step beginner method with interactive cases, algorithm explanations, and persistent progress tracking.
| Portrait | Landscape |
|---|---|
![]() |
![]() |
| Home Screen (Light) | Home Screen (Dark) |
|---|---|
![]() |
![]() |
| Step Screen (Light) | Case Dialog (Dark) |
|---|---|
![]() |
![]() |
- 8-Step Learning System: Learn the beginner method from Daisy to Yellow Corner Orientation.
- 23 Interactive Cases: Step-by-step cases with algorithms and explanations.
- Progress Tracking: Mark completed cases and track your overall learning progress across app launches.
- Expandable Case Cards: View algorithms and explanations only when needed.
- Adaptive UI: Home screen grid, lesson navigation, and case dialogs automatically adjust for portrait and landscape layouts.
- Persistent Storage: Progress is saved locally using Room Database.
- Dynamic Content: Lesson content is loaded from a GitHub-hosted JSON source using Retrofit.
- Image Loading: Case images are displayed efficiently using Coil.
I created CubeEz to practice modern Android development with Jetpack Compose, MVVM architecture, Room, Retrofit, and adaptive layouts while building a useful learning tool for Rubik's Cube beginners.
- Language: Kotlin
- UI: Jetpack Compose
- Architecture: MVVM (Model–View–ViewModel)
- Navigation: Navigation Compose
- Networking: Retrofit
- Database: Room Database
- Image Loading: Coil
UI (Jetpack Compose)
│
▼
ViewModel
│
▼
Repository
↙ ↘
Room Retrofit
- Android Studio (latest stable version)
- JDK 17 or higher
- Clone the repository:
git clone https://github.com/Gaurav12480/CubeEz.git-
Open the project in Android Studio.
-
Let Gradle sync all dependencies.
-
Select an emulator or physical Android device.
-
Click Run.
This project is licensed under the MIT License. See the LICENSE file for details.





