Skip to content

Troves-eCommerce/Troves

Repository files navigation

Troves Logo

Troves - Kotlin Multiplatform eCommerce

Troves is a modern, cross-platform eCommerce application built using Kotlin Multiplatform Mobile (KMM) and Compose Multiplatform. It delivers a seamless, native-like shopping experience on both Android and iOS from a single shared codebase.


✨ Key Features

  • Product Catalog & Management: Browse products, categories, and brands powered by the Shopify API.
  • AI Shopping Assistant: An intelligent chat feature powered by Google Gemini (with a Cloudflare backend) to assist users with their shopping experience.
  • Cart & Checkout Flow: A complete shopping cart and checkout process.
  • Versatile Payment Options:
    • Integrated with Paymob for both iOS and Android, utilizing Supabase Edge Functions / Webhooks to orchestrate the payment flow and seamlessly create the corresponding Shopify order.
    • Supports Shopify Payment Sheet Kit across platforms.
    • Cash on Delivery (COD) available.
  • User Profiles: Manage addresses, favorites, and view order history.
  • Authentication: Secure user onboarding and login flow.
  • Multi-Platform UI: 100% shared UI using Jetpack Compose Multiplatform.

📸 Screenshots

Home Screen Product Details AI Chat Checkout

🏗 Architecture

Troves follows Clean Architecture principles and is structured as a Multi-Module Project to ensure scalability, separation of concerns, and maintainability:

  • domain: Contains the core business logic, entities, and use cases.
  • data: Handles data operations, repositories, and API/Database integrations.
  • presintation: (Presentation) Contains the UI logic, ViewModels, and navigation components.
  • designSystem: A dedicated module for reusable UI components, themes, and styling.
  • shared: The central KMP module that wires up the application logic for both platforms.
  • androidApp: The Android entry point.
  • iosApp: The iOS entry point (consumed as a framework).

🛠 Tech Stack


🚀 Getting Started

Prerequisites

  • Android Studio (latest version recommended)
  • Xcode (for running the iOS app)
  • Kotlin Multiplatform Mobile plugin installed in Android Studio

Running the Apps

You can use the run configurations provided by the run widget in Android Studio's toolbar, or use the following commands:

Android App:

./gradlew :androidApp:assembleDebug

Or simply run the androidApp configuration in Android Studio.

iOS App: Open the iosApp directory in Xcode and run it from there, or use the iosApp run configuration in Android Studio/Fleet.

Running Tests

Use the run button in your IDE's editor gutter, or run tests using Gradle tasks:

  • Android tests: ./gradlew :shared:testAndroidHostTest
  • iOS tests: ./gradlew :shared:iosSimulatorArm64Test

📄 License

Specify your license here.

About

Troves is a modern, cross-platform eCommerce application built using Kotlin Multiplatform Mobile (KMM) and Compose Multiplatform. It delivers a seamless, native-like shopping experience on both Android and iOS from a single shared codebase.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors