|
Home Page |
Cart |
Product Item |
This README has been expanded with technical specifics and architectural details aligned with modern Kotlin Multiplatform (KMP) development, specifically for the LuxuryEye ecosystem.
A high-performance, cross-platform e-commerce solution for LuxuryEye, the premier destination for professional lash and brow stylists. Built with Kotlin Multiplatform (KMP) and Compose Multiplatform, this app provides a native experience across Android, iOS, and Desktop from a single shared codebase.
- Dynamic Product Catalog: Instant access to over 600+ product variants including premium lashes (Classic, Volume, Colored), high-performance adhesives, and UV/LED accessories.
- Smart Student Discounts: Integrated logic to automatically apply lifetime discounts (up to 20%) for verified LuxuryEye Academy trainees.
- Real-time Inventory: Direct synchronization with the LuxuryEye backend to reflect stock levels for pro-grade supplies.
- Global Logistics: Real-time shipping calculations with EU-wide support and automated "Free Shipping" triggers for orders over €150.
- Workshop Booking: Seamless interface for browsing and booking 1D Foundation, Volume, and Mentoring workshops.
- Pro Resources: In-app access to training manuals, lash maps, and digital e-books for certified stylists.
This project leverages the "Bleeding Edge" of the Kotlin ecosystem to ensure scalability and performance:
- Kotlin 2.1.0+: Powered by the K2 compiler for significantly faster build times and improved IDE performance.
- Compose Multiplatform: 100% shared UI code across platforms, rendering natively on each target for maximum fluidness.
- Ktor: Type-safe, asynchronous networking client used to communicate with the LuxuryEye REST API.
- SQLDelight: Multiplatform database logic with type-safe SQL, used for local product caching and offline cart management.
- Koin: A pragmatic, lightweight dependency injection framework shared across all targets.
- Voyager: A multiplatform navigation library built specifically for Compose.
- Coil3: High-performance, multiplatform image loading for high-resolution product galleries.
The project follows a Modular Clean Architecture pattern to maintain a clear separation of concerns:
├── composeApp/
│ ├── commonMain/ # Shared Logic, UI, Models, and API Interactors
│ ├── androidMain/ # Android-specific entry point & Manifest
│ ├── iosMain/ # iOS Framework hooks & SwiftUI wrappers
│ └── desktopMain/ # JVM-specific configuration (Windows/macOS/Linux)
├── server/ # (Optional) Ktor-based backend for local testing
└── gradle/ # Version catalogs (libs.versions.toml) for central dependency management
- Android Studio Ladybug (or newer).
- JDK 17 or 21.
- Xcode 15+ (required for the iOS target).
- Clone the Repository:
git clone https://github.com/sollarp/luxuryeye.git
- Run Android: Select the
composeAppconfiguration and click Run. - Run Desktop:
./gradlew :composeApp:run
- Run iOS: Open the
iosAppfolder in Xcode or use the KMM plugin in Android Studio to run on a simulator.
Generate a production-ready desktop installer:
./gradlew :composeApp:packageReleaseDistributionForCurrentOSTechnical Note: This app utilizes KotlinX Serialization for JSON parsing and Coroutines/Flow for reactive state management, ensuring that the LuxuryEye store remains responsive even on slower mobile networks.