Jeweltry

A jewellery tryon package for flutter apps.

Logo

Requirements
Dart sdk ^3.5.0
Flutter >=3.24.0
Android minSdkVersion >= 19
compileSdk 34
iOS 12.0+ --ios-language swift
Xcode version >= 15.0
MacOS 10.14+
Xcode version >= 15.0

Setup

For ios

ios>Podfile

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
                    config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
                       '$(inherited)',
                       'PERMISSION_CAMERA=1',
                       'PERMISSION_MICROPHONE=1',
                       'PERMISSION_PHOTOS=1',
                       'PERMISSION_LOCATION_WHENINUSE=0',
                       'PERMISSION_MEDIA_LIBRARY=1',
                     ]
            end
  end
end

ios>Runner>info.plist


	<key>NSPhotoLibraryUsageDescription</key>
    <string>App needs access to photo lib for profile images</string>
    <key>NSAppleMusicUsageDescription</key>
    <string>This app needs access to your Apple Music library to enhance your experience with personalized audio integration.</string>
    <key>NSCameraUsageDescription</key>
    <string>To capture profile photo please grant camera access</string>
    <key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location in the background.</string>    
<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to location when in the background.</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>This app needs access to location when open and in the background.</string>

Android

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Screenshots

App Screenshot

App Screenshot

Installation

Open TryOn

App Screenshot

TryonBtn(urlPrefix: "XX_XXX", customerId: "XXX_XXX_X", tryOnKey: "XXX-XX_XXX-XX"),

Using Unique Identifier

TryOnSingleProduct(urlPrefix: "XX_XXX", customerId: "XXX_XXX_X",  tryOnKey: "XXX-XX_XXX-XX",btnTxt: "Single Product TryOn",productId: "85899",fromId: true,),

Using Product Id

App Screenshot

TryOnSingleProduct(urlPrefix: "XX_XXX", customerId: "XXX_XXX_X",  tryOnKey: "XXX-XX_XXX-XX",btnTxt: "Single Product TryOn",productId: "85899",fromId: true,),

Text Button

TextBtn(urlPrefix: "XX_XXX", customerId: "XXX_XXX_X", tryOnKey: "XXX-XX_XXX-XX"),

GridLabel

App Screenshot

GridLabel(urlPrefix: "XX_XXX", customerId: "XX_XXX_X_X", tryOnKey: "XX_XX_XX_XX_XX",btnColor: Colors.amber,padding: EdgeInsets.symmetric(horizontal: 8,vertical: 5),radius: 20,),

Custom Button

TryonBtn(urlPrefix: "XX_XXX", customerId: "XXX_XXX_X", tryOnKey: "XXX-XX_XXX-XX",isCustom: true,child: Text(
              "Custom Button",
              style: TextStyle(
                color: Colors.white
              ),
            ),
              decoration: BoxDecoration(
                color: Colors.red,
                borderRadius: BorderRadius.only(topLeft: Radius.circular(20),bottomLeft: Radius.circular(20),bottomRight: Radius.circular(20))
              ),
            ),

Libraries

btn/single_btn
colorConstants
const/api_call
const/const
const/TryOnResponse
getSize
models/cetegory/category_model
models/filter/filter_model
models/mirror_labels_model
models/product/product_model
models/wishlist/collection_model
models/wishlist/customer_model
models/wishlist/wishlist_model
pages/qr_pages/qr_page
pages/qr_pages/session_scan
pages/qr_pages/update_details
plushvie_tryon
providers/category_provider
providers/gellery_provider/gellery_provider
providers/product_provider
providers/qr/qr_provider
providers/try_on_provider
providers/user_provider
providers/wishlist_provider
scan_test/scan_test
section/ai_section/ai_load
section/ai_section/ai_popup
section/ai_section/ai_product
section/ai_section/text_load
section/camera/camera_view
section/camera/gallery/video_play_page
section/camera/preview_image
section/category_list/category_section
section/filter/filter_sheet
section/product_srction/product_full_section
section/product_srction/product_section
section/video_call/plush_meet
section/web_view/web_view_page
section/wishlist/user_login
section/wishlist/wishlist_panel
try_on/analytics/get_location
try_on/analytics/logger
try_on/colors
try_on/main
try_on/models/adjustments
try_on/models/category
try_on/models/collection
try_on/models/detailed_product
try_on/models/preferences
try_on/models/product
try_on/models/product_model
try_on/models/user
try_on/models/web_adjustment
try_on/providers/product_details_provider
try_on/providers/provider
try_on/providers/tryon_product_data_provider
try_on/providers/widget_provider
try_on/providers/wishlist_provider
try_on/tryon_splash
try_on/ui/adjustments
try_on/ui/all
try_on/ui/bottom_bar
try_on/ui/bottom_full_section
try_on/ui/capture_widget
try_on/ui/category_list
try_on/ui/feed_controls
try_on/ui/product_list
try_on/ui/product_list_widget
try_on/ui/similar_products_sheet
try_on/ui/single_product_sheet
try_on/ui/single_product_tile
try_on/ui/text_badge
try_on/ui/tryon/try_on
try_on/ui/tryon/web_tryon
try_on/ui/wishlist_panel
try_on/zoom_widget
widget/app_btn
widget/app_text
widget/common_method
widget/custom_box
widget/custom_button
widget/custom_input
widget/custom_loader