Skip to content

Repository files navigation

CubeEz for Android 🧩

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.

🎬 Demo

Portrait Landscape
Portrait Demo Landscape Demo

📸 Screenshots

Home Screen (Light) Home Screen (Dark)
Home Home Dark
Step Screen (Light) Case Dialog (Dark)
Step Case Dialog

✨ Features

  • 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.

🎯 Why I Built This

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.

🛠 Tech Stack & Architecture

Tech Stack

  • Language: Kotlin
  • UI: Jetpack Compose
  • Architecture: MVVM (Model–View–ViewModel)
  • Navigation: Navigation Compose
  • Networking: Retrofit
  • Database: Room Database
  • Image Loading: Coil

Architecture

UI (Jetpack Compose)
        │
        ▼
    ViewModel
        │
        ▼
    Repository
     ↙      ↘
  Room    Retrofit

🚀 Build & Run

Prerequisites

  • Android Studio (latest stable version)
  • JDK 17 or higher

Installation

  1. Clone the repository:
git clone https://github.com/Gaurav12480/CubeEz.git
  1. Open the project in Android Studio.

  2. Let Gradle sync all dependencies.

  3. Select an emulator or physical Android device.

  4. Click Run.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages