├── .gitignore
├── .metadata
├── .vscode
└── launch.json
├── README.md
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ ├── google-services.json
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── e_commerce_app
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable-v21
│ │ │ └── launch_background.xml
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── layout
│ │ │ └── toast_custom.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── values-night
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── assets
├── fonts
│ ├── inter
│ │ ├── Inter-Bold.ttf
│ │ ├── Inter-ExtraBold.ttf
│ │ ├── Inter-Medium.ttf
│ │ └── Inter-Regular.ttf
│ ├── open_sans
│ │ ├── OpenSans-Bold.ttf
│ │ ├── OpenSans-ExtraBold.ttf
│ │ ├── OpenSans-Regular.ttf
│ │ └── OpenSans-SemiBold.ttf
│ ├── poppins
│ │ ├── Poppins-Medium.otf
│ │ ├── Poppins-Regular.otf
│ │ └── Poppins-SemiBold.otf
│ └── roboto
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Medium.ttf
│ │ └── Roboto-Regular.ttf
├── icons
│ ├── Back ICon.svg
│ ├── Bell.svg
│ ├── Bill Icon.svg
│ ├── Call.svg
│ ├── Camera Icon.svg
│ ├── Cart Icon.svg
│ ├── Cash.svg
│ ├── Chat bubble Icon.svg
│ ├── Check mark rounde.svg
│ ├── Close.svg
│ ├── Conversation.svg
│ ├── Discover.svg
│ ├── Error.svg
│ ├── Flash Icon.svg
│ ├── Game Icon.svg
│ ├── Gift Icon.svg
│ ├── Heart Icon.svg
│ ├── Heart Icon_2.svg
│ ├── Location point.svg
│ ├── Lock.svg
│ ├── Log out.svg
│ ├── Mail.svg
│ ├── Parcel.svg
│ ├── Phone.svg
│ ├── Plus Icon.svg
│ ├── Question mark.svg
│ ├── Search Icon.svg
│ ├── Settings.svg
│ ├── Shop Icon.svg
│ ├── Star Icon.svg
│ ├── Success.svg
│ ├── Trash.svg
│ ├── User Icon.svg
│ ├── User.svg
│ ├── add-to-basket.svg
│ ├── add.svg
│ ├── all.svg
│ ├── arrow_right.svg
│ ├── cancel.svg
│ ├── controls.svg
│ ├── display.svg
│ ├── edit-button.svg
│ ├── exit.svg
│ ├── facebook-2.svg
│ ├── free-delivery.svg
│ ├── google-icon.svg
│ ├── headphones.svg
│ ├── home.svg
│ ├── ic_facebook.svg
│ ├── ic_google.svg
│ ├── keyboard.svg
│ ├── keyboard_1.svg
│ ├── keyboard_ver2.svg
│ ├── location.svg
│ ├── logo.svg
│ ├── menu.svg
│ ├── message.svg
│ ├── mouse.svg
│ ├── multi_users.svg
│ ├── order.svg
│ ├── peach.svg
│ ├── receipt.svg
│ ├── remove-from-cart.svg
│ ├── remove.svg
│ ├── return-free.svg
│ ├── safety.svg
│ ├── screen.svg
│ ├── shipped.svg
│ ├── shipping.svg
│ ├── shopping-bag.svg
│ ├── sort.svg
│ ├── speech.svg
│ ├── subtract.svg
│ ├── twitter.svg
│ └── video-camera.svg
├── images
│ ├── Not Found.png
│ ├── Pattern Success.png
│ ├── add_address.jpg
│ ├── add_address.png
│ ├── apple-pay.png
│ ├── default_avatar.jpg
│ ├── empty_cart.png
│ ├── fedex-express.png
│ ├── google-pay.png
│ ├── headphone.png
│ ├── ic_launcher.png
│ ├── keyboard.jpg
│ ├── mastercard-2.png
│ ├── mouse.png
│ ├── no_record.png
│ ├── paypal.png
│ ├── sale_banner1.jpg
│ ├── sale_banner2.jpg
│ ├── sale_banner3.jpg
│ ├── screen.png
│ ├── splash_1.png
│ ├── success.png
│ ├── success_gif.gif
│ └── visa.png
└── locale
│ ├── en.json
│ └── vi.json
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── 1024.png
│ │ ├── 114.png
│ │ ├── 120.png
│ │ ├── 180.png
│ │ ├── 29.png
│ │ ├── 40.png
│ │ ├── 57.png
│ │ ├── 58.png
│ │ ├── 60.png
│ │ ├── 80.png
│ │ ├── 87.png
│ │ └── Contents.json
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── Runner-Bridging-Header.h
├── lib
├── app_locale_delegate.dart
├── app_view.dart
├── bottom_navigation.dart
├── configs
│ ├── application.dart
│ ├── config.dart
│ ├── language.dart
│ ├── router.dart
│ ├── size_config.dart
│ └── theme.dart
├── constants
│ ├── color_constant.dart
│ ├── constants.dart
│ ├── font_constant.dart
│ ├── icon_constant.dart
│ ├── image_constant.dart
│ └── key_constant.dart
├── data
│ ├── local
│ │ └── pref.dart
│ ├── models
│ │ ├── banner_model.dart
│ │ ├── cart_item_model.dart
│ │ ├── category_model.dart
│ │ ├── delivery_address_model.dart
│ │ ├── error_model.dart
│ │ ├── feedback_model.dart
│ │ ├── location_model.dart
│ │ ├── message_model.dart
│ │ ├── models.dart
│ │ ├── order_model.dart
│ │ ├── product_model.dart
│ │ └── user_model.dart
│ ├── repository
│ │ ├── app_repository.dart
│ │ ├── auth_repository
│ │ │ ├── auth_repo.dart
│ │ │ └── firebase_auth_repo.dart
│ │ ├── banner_repository
│ │ │ ├── banner_repo.dart
│ │ │ └── firebase_banner_repo.dart
│ │ ├── cart_repository
│ │ │ ├── cart_repo.dart
│ │ │ └── firebase_cart_repo.dart
│ │ ├── feedback_repository
│ │ │ ├── feedback_repo.dart
│ │ │ └── firebase_feedback_repo.dart
│ │ ├── location_repository
│ │ │ └── location_repo.dart
│ │ ├── message_repository
│ │ │ ├── firebase_message_repo.dart
│ │ │ └── message_repo.dart
│ │ ├── order_repository
│ │ │ ├── firebase_order_repo.dart
│ │ │ └── order_repo.dart
│ │ ├── product_repository
│ │ │ ├── firebase_product_repo.dart
│ │ │ └── product_repo.dart
│ │ ├── repository.dart
│ │ ├── storage_repository
│ │ │ └── storage_repo.dart
│ │ └── user_repository
│ │ │ ├── firebase_user_repo.dart
│ │ │ └── user_repo.dart
│ └── request
│ │ ├── api_url.dart
│ │ └── request.dart
├── main.dart
├── presentation
│ ├── common_blocs
│ │ ├── application
│ │ │ ├── application_bloc.dart
│ │ │ ├── application_event.dart
│ │ │ ├── application_state.dart
│ │ │ └── bloc.dart
│ │ ├── auth
│ │ │ ├── auth_bloc.dart
│ │ │ ├── auth_event.dart
│ │ │ ├── auth_state.dart
│ │ │ └── bloc.dart
│ │ ├── cart
│ │ │ ├── bloc.dart
│ │ │ ├── cart_bloc.dart
│ │ │ ├── cart_event.dart
│ │ │ └── cart_state.dart
│ │ ├── common_bloc.dart
│ │ ├── language
│ │ │ ├── bloc.dart
│ │ │ ├── language_bloc.dart
│ │ │ ├── language_event.dart
│ │ │ └── language_state.dart
│ │ ├── order
│ │ │ ├── bloc.dart
│ │ │ ├── order_bloc.dart
│ │ │ ├── order_event.dart
│ │ │ └── order_state.dart
│ │ ├── profile
│ │ │ ├── bloc.dart
│ │ │ ├── profile_bloc.dart
│ │ │ ├── profile_event.dart
│ │ │ └── profile_state.dart
│ │ └── simple_bloc_observer.dart
│ ├── screens
│ │ ├── cart
│ │ │ ├── cart_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── checkout_bottom.dart
│ │ │ │ ├── list_cart_item.dart
│ │ │ │ └── payment_bottom_sheet.dart
│ │ ├── categories
│ │ │ ├── bloc
│ │ │ │ ├── bloc.dart
│ │ │ │ ├── categories_bloc.dart
│ │ │ │ ├── categories_event.dart
│ │ │ │ └── categories_state.dart
│ │ │ ├── categories_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── grid_products.dart
│ │ │ │ ├── product_gallery.dart
│ │ │ │ ├── sort_option_dialog.dart
│ │ │ │ └── toolbar.dart
│ │ ├── delivery_address
│ │ │ ├── address_picker
│ │ │ │ ├── address_picker.dart
│ │ │ │ └── bloc
│ │ │ │ │ ├── address_picker_bloc.dart
│ │ │ │ │ ├── address_picker_event.dart
│ │ │ │ │ ├── address_picker_state.dart
│ │ │ │ │ └── bloc.dart
│ │ │ ├── delivery_address_bottom_sheet.dart
│ │ │ └── delivery_address_screen.dart
│ │ ├── detail_image
│ │ │ └── detail_image_screen.dart
│ │ ├── detail_order
│ │ │ └── detail_order_screen.dart
│ │ ├── detail_product
│ │ │ ├── detail_product_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── add_to_cart_nav.dart
│ │ │ │ ├── app_bar.dart
│ │ │ │ ├── product_images.dart
│ │ │ │ ├── product_info.dart
│ │ │ │ ├── related_products
│ │ │ │ ├── bloc
│ │ │ │ │ ├── bloc.dart
│ │ │ │ │ ├── related_products_bloc.dart
│ │ │ │ │ ├── related_products_event.dart
│ │ │ │ │ └── related_products_state.dart
│ │ │ │ └── related_products.dart
│ │ │ │ └── slogan.dart
│ │ ├── feedbacks
│ │ │ ├── bloc
│ │ │ │ ├── bloc.dart
│ │ │ │ ├── feedback_bloc.dart
│ │ │ │ ├── feedback_event.dart
│ │ │ │ └── feedback_state.dart
│ │ │ ├── feedbacks_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── feedback_bottom_sheet.dart
│ │ │ │ ├── header.dart
│ │ │ │ └── list_feedbacks.dart
│ │ ├── forgot_password
│ │ │ ├── forgot_password_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── body.dart
│ │ │ │ └── forgot_pass_form.dart
│ │ ├── home_page
│ │ │ ├── bloc
│ │ │ │ ├── bloc.dart
│ │ │ │ ├── home_bloc.dart
│ │ │ │ ├── home_event.dart
│ │ │ │ └── home_state.dart
│ │ │ ├── home_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── home_banner.dart
│ │ │ │ ├── home_body.dart
│ │ │ │ └── home_header.dart
│ │ ├── initialize_info
│ │ │ ├── initialize_info_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── initialize_info_form.dart
│ │ │ │ └── initialize_info_header.dart
│ │ ├── login
│ │ │ ├── bloc
│ │ │ │ ├── bloc.dart
│ │ │ │ ├── login_bloc.dart
│ │ │ │ ├── login_event.dart
│ │ │ │ └── login_state.dart
│ │ │ ├── login_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── login_form.dart
│ │ │ │ └── login_header.dart
│ │ ├── map
│ │ │ └── map_screen.dart
│ │ ├── message
│ │ │ ├── bloc
│ │ │ │ ├── bloc.dart
│ │ │ │ ├── message_bloc.dart
│ │ │ │ ├── message_event.dart
│ │ │ │ └── message_state.dart
│ │ │ ├── message_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── chat_input_field.dart
│ │ │ │ ├── list_messages.dart
│ │ │ │ └── message_card.dart
│ │ ├── my_orders
│ │ │ └── my_orders_screen.dart
│ │ ├── profile
│ │ │ ├── profile_header.dart
│ │ │ └── profile_screen.dart
│ │ ├── register
│ │ │ ├── register
│ │ │ │ ├── bloc.dart
│ │ │ │ ├── register_bloc.dart
│ │ │ │ ├── register_event.dart
│ │ │ │ └── register_state.dart
│ │ │ ├── register_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── register_form.dart
│ │ │ │ └── register_header.dart
│ │ ├── search
│ │ │ ├── bloc
│ │ │ │ ├── bloc.dart
│ │ │ │ ├── search_bloc.dart
│ │ │ │ ├── search_event.dart
│ │ │ │ └── search_state.dart
│ │ │ ├── search_screen.dart
│ │ │ └── widgets
│ │ │ │ ├── search_bar.dart
│ │ │ │ └── suggestion.dart
│ │ ├── settings
│ │ │ └── setting_screen.dart
│ │ └── splash
│ │ │ └── splash_screen.dart
│ └── widgets
│ │ ├── buttons
│ │ ├── cart_button.dart
│ │ ├── circle_icon_button.dart
│ │ ├── default_button.dart
│ │ ├── icon_button_with_counter.dart
│ │ └── message_button.dart
│ │ ├── custom_widgets.dart
│ │ ├── others
│ │ ├── custom_card_widget.dart
│ │ ├── custom_dismissible.dart
│ │ ├── custom_list_tile.dart
│ │ ├── loading.dart
│ │ ├── payment_fees_widget.dart
│ │ ├── promo_widget.dart
│ │ ├── rating_bar.dart
│ │ ├── search_field_widget.dart
│ │ ├── section_widget.dart
│ │ ├── shimmer_image.dart
│ │ └── text_row.dart
│ │ └── single_card
│ │ ├── cart_item_card.dart
│ │ ├── category_card.dart
│ │ ├── delivery_address_card.dart
│ │ ├── feedback_card.dart
│ │ ├── order_card.dart
│ │ └── product_card.dart
└── utils
│ ├── app_extension.dart
│ ├── dialog.dart
│ ├── formatter.dart
│ ├── language.dart
│ ├── logger.dart
│ ├── toast.dart
│ ├── translate.dart
│ ├── utils.dart
│ └── validator.dart
├── pubspec.lock
├── pubspec.yaml
└── screenshots
├── add_address.png
├── banner.png
├── cart.png
├── delivery_address.png
├── detail_product.png
├── empty_cart.png
├── feedback.png
├── filter.png
├── grid_products.png
├── home.png
├── language.png
├── list_product.png
├── login.png
├── message.png
├── no_product.png
├── payment.png
├── profile.png
├── screens.png
├── search.png
└── splash.png
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | **/ios/Flutter/.last_build_id
26 | .dart_tool/
27 | .flutter-plugins
28 | .flutter-plugins-dependencies
29 | .packages
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Web related
35 | lib/generated_plugin_registrant.dart
36 |
37 | # Symbolication related
38 | app.*.symbols
39 |
40 | # Obfuscation related
41 | app.*.map.json
42 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 78910062997c3a836feee883712c241a5fd22983
8 | channel: stable
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "name": "e_commerce_app",
9 | "request": "launch",
10 | "type": "dart"
11 | }
12 | ]
13 | }
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 |
--------------------------------------------------------------------------------
/android/app/google-services.json:
--------------------------------------------------------------------------------
1 | {
2 | "project_info": {
3 | "project_number": "455084769239",
4 | "project_id": "e-commerce-flutter-526ce",
5 | "storage_bucket": "e-commerce-flutter-526ce.appspot.com"
6 | },
7 | "client": [
8 | {
9 | "client_info": {
10 | "mobilesdk_app_id": "1:455084769239:android:36b7eb24d412501ec81592",
11 | "android_client_info": {
12 | "package_name": "com.example.e_commerce_app"
13 | }
14 | },
15 | "oauth_client": [
16 | {
17 | "client_id": "455084769239-h70maod998jr2a4fi224r9ahld832f4h.apps.googleusercontent.com",
18 | "client_type": 3
19 | }
20 | ],
21 | "api_key": [
22 | {
23 | "current_key": "AIzaSyAyBppREvljm-E1aBeG13wnqVX8QvNbv5M"
24 | }
25 | ],
26 | "services": {
27 | "appinvite_service": {
28 | "other_platform_oauth_client": [
29 | {
30 | "client_id": "455084769239-h70maod998jr2a4fi224r9ahld832f4h.apps.googleusercontent.com",
31 | "client_type": 3
32 | }
33 | ]
34 | }
35 | }
36 | }
37 | ],
38 | "configuration_version": "1"
39 | }
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/e_commerce_app/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.e_commerce_app
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | -
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | -
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/toast_custom.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
23 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 | #3ac5c9
19 |
20 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:4.1.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | classpath 'com.google.gms:google-services:4.3.5'
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | google()
18 | jcenter()
19 | }
20 | }
21 |
22 | rootProject.buildDir = '../build'
23 | subprojects {
24 | project.buildDir = "${rootProject.buildDir}/${project.name}"
25 | }
26 | subprojects {
27 | project.evaluationDependsOn(':app')
28 | }
29 |
30 | task clean(type: Delete) {
31 | delete rootProject.buildDir
32 | }
33 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 | android.enableR8=true
5 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
13 | // def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
14 |
15 | // def plugins = new Properties()
16 | // def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
17 | // if (pluginsFile.exists()) {
18 | // pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
19 | // }
20 |
21 | // plugins.each { name, path ->
22 | // def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
23 | // include ":$name"
24 | // project(":$name").projectDir = pluginDirectory
25 | // }
--------------------------------------------------------------------------------
/assets/fonts/inter/Inter-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/inter/Inter-Bold.ttf
--------------------------------------------------------------------------------
/assets/fonts/inter/Inter-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/inter/Inter-ExtraBold.ttf
--------------------------------------------------------------------------------
/assets/fonts/inter/Inter-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/inter/Inter-Medium.ttf
--------------------------------------------------------------------------------
/assets/fonts/inter/Inter-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/inter/Inter-Regular.ttf
--------------------------------------------------------------------------------
/assets/fonts/open_sans/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/open_sans/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/assets/fonts/open_sans/OpenSans-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/open_sans/OpenSans-ExtraBold.ttf
--------------------------------------------------------------------------------
/assets/fonts/open_sans/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/open_sans/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/assets/fonts/open_sans/OpenSans-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/open_sans/OpenSans-SemiBold.ttf
--------------------------------------------------------------------------------
/assets/fonts/poppins/Poppins-Medium.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/poppins/Poppins-Medium.otf
--------------------------------------------------------------------------------
/assets/fonts/poppins/Poppins-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/poppins/Poppins-Regular.otf
--------------------------------------------------------------------------------
/assets/fonts/poppins/Poppins-SemiBold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/poppins/Poppins-SemiBold.otf
--------------------------------------------------------------------------------
/assets/fonts/roboto/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/roboto/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/assets/fonts/roboto/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/roboto/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/assets/fonts/roboto/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/fonts/roboto/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/assets/icons/Back ICon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Bell.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Bill Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Call.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Camera Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Cart Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Cash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Chat bubble Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Check mark rounde.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Close.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Conversation.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Discover.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Error.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Flash Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Gift Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Heart Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Heart Icon_2.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Location point.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Lock.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Log out.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Mail.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Parcel.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Phone.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Plus Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Question mark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Search Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Star Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Success.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/Trash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/User Icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/User.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/add-to-basket.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/add.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/all.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/arrow_right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/cancel.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
45 |
--------------------------------------------------------------------------------
/assets/icons/controls.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/icons/display.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/exit.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/facebook-2.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/google-icon.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/icons/home.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
45 |
--------------------------------------------------------------------------------
/assets/icons/ic_facebook.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/assets/icons/ic_google.svg:
--------------------------------------------------------------------------------
1 |
20 |
--------------------------------------------------------------------------------
/assets/icons/location.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
51 |
--------------------------------------------------------------------------------
/assets/icons/menu.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/icons/message.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/multi_users.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
69 |
--------------------------------------------------------------------------------
/assets/icons/receipt.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/remove-from-cart.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/remove.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/return-free.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
52 |
--------------------------------------------------------------------------------
/assets/icons/safety.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/screen.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/shopping-bag.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/sort.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/assets/icons/subtract.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/icons/twitter.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/icons/video-camera.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
45 |
--------------------------------------------------------------------------------
/assets/images/Not Found.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/Not Found.png
--------------------------------------------------------------------------------
/assets/images/Pattern Success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/Pattern Success.png
--------------------------------------------------------------------------------
/assets/images/add_address.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/add_address.jpg
--------------------------------------------------------------------------------
/assets/images/add_address.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/add_address.png
--------------------------------------------------------------------------------
/assets/images/apple-pay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/apple-pay.png
--------------------------------------------------------------------------------
/assets/images/default_avatar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/default_avatar.jpg
--------------------------------------------------------------------------------
/assets/images/empty_cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/empty_cart.png
--------------------------------------------------------------------------------
/assets/images/fedex-express.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/fedex-express.png
--------------------------------------------------------------------------------
/assets/images/google-pay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/google-pay.png
--------------------------------------------------------------------------------
/assets/images/headphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/headphone.png
--------------------------------------------------------------------------------
/assets/images/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/ic_launcher.png
--------------------------------------------------------------------------------
/assets/images/keyboard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/keyboard.jpg
--------------------------------------------------------------------------------
/assets/images/mastercard-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/mastercard-2.png
--------------------------------------------------------------------------------
/assets/images/mouse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/mouse.png
--------------------------------------------------------------------------------
/assets/images/no_record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/no_record.png
--------------------------------------------------------------------------------
/assets/images/paypal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/paypal.png
--------------------------------------------------------------------------------
/assets/images/sale_banner1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/sale_banner1.jpg
--------------------------------------------------------------------------------
/assets/images/sale_banner2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/sale_banner2.jpg
--------------------------------------------------------------------------------
/assets/images/sale_banner3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/sale_banner3.jpg
--------------------------------------------------------------------------------
/assets/images/screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/screen.png
--------------------------------------------------------------------------------
/assets/images/splash_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/splash_1.png
--------------------------------------------------------------------------------
/assets/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/success.png
--------------------------------------------------------------------------------
/assets/images/success_gif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/success_gif.gif
--------------------------------------------------------------------------------
/assets/images/visa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/assets/images/visa.png
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 8.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"}]}
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7wilightxdev/flutter_firebase_ecommerce/45e5001329ef9f831e376b69a11a098f66458ed3/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | e_commerce_app
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIViewControllerBasedStatusBarAppearance
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/lib/app_locale_delegate.dart:
--------------------------------------------------------------------------------
1 | import 'package:e_commerce_app/configs/config.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | import 'utils/translate.dart';
5 |
6 | class AppLocaleDelegate extends LocalizationsDelegate {
7 | const AppLocaleDelegate();
8 |
9 | @override
10 | bool isSupported(Locale locale) {
11 | return AppLanguage.supportLanguage.contains(locale);
12 | }
13 |
14 | @override
15 | Future load(Locale locale) async {
16 | final localizations = Translate(locale);
17 | await localizations.load();
18 | return localizations;
19 | }
20 |
21 | @override
22 | bool shouldReload(AppLocaleDelegate old) => false;
23 | }
24 |
--------------------------------------------------------------------------------
/lib/configs/application.dart:
--------------------------------------------------------------------------------
1 | import 'package:shared_preferences/shared_preferences.dart';
2 |
3 | class Application {
4 | static bool debug = false;
5 | static String title = "E-commerce-app";
6 | static late SharedPreferences preferences;
7 |
8 | Future setPreferences() async {
9 | preferences = await SharedPreferences.getInstance();
10 | }
11 |
12 | /// Singleton factory
13 | static final Application _instance = Application._internal();
14 |
15 | factory Application() {
16 | return _instance;
17 | }
18 |
19 | Application._internal();
20 | }
21 |
--------------------------------------------------------------------------------
/lib/configs/config.dart:
--------------------------------------------------------------------------------
1 | export 'language.dart';
2 | export 'router.dart';
3 | export 'size_config.dart';
4 | export 'theme.dart';
5 | export 'application.dart';
6 |
--------------------------------------------------------------------------------
/lib/configs/language.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class AppLanguage {
4 | /// Default Language
5 | static Locale defaultLanguage = Locale("en");
6 |
7 | /// List language is supported in application
8 | static List supportLanguage = [
9 | Locale("en"),
10 | Locale("vi"),
11 | ];
12 |
13 | ///Singleton factory
14 | static final AppLanguage _instance = AppLanguage._internal();
15 |
16 | factory AppLanguage() {
17 | return _instance;
18 | }
19 |
20 | AppLanguage._internal();
21 | }
22 |
--------------------------------------------------------------------------------
/lib/configs/size_config.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class SizeConfig {
4 | static late double screenWidth;
5 | static late double screenHeight;
6 | static late double defaultSize;
7 | static Orientation? orientation;
8 |
9 | static double get defaultPadding => defaultSize * 1.5;
10 |
11 | void init(BoxConstraints constraints, Orientation orientation) {
12 | screenWidth = constraints.maxWidth;
13 | screenHeight = constraints.maxHeight;
14 | //Apple iPhone 11 viewport size is 414 x 896 (px)
15 | //With iPhone 11, i set defaultSize = 10;
16 | //So if the screen increase or decrease then our defaultSize also vary
17 | if (orientation == Orientation.portrait) {
18 | defaultSize = screenHeight * 10 / 896;
19 | } else {
20 | defaultSize = screenHeight * 10 / 414;
21 | }
22 | }
23 |
24 | ///Singleton factory
25 | static final SizeConfig _instance = SizeConfig._internal();
26 |
27 | factory SizeConfig() {
28 | return _instance;
29 | }
30 |
31 | SizeConfig._internal();
32 | }
33 |
--------------------------------------------------------------------------------
/lib/constants/color_constant.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class COLOR_CONST {
4 | static const primaryColor = Color(0xFF3ac5c9);
5 | static const accentTintColor = Color(0xFF7b60c4);
6 | static const accentShadeColor = Color(0xFF58458c);
7 | static const darkShadeColor = Color(0xFF25164d);
8 | static const borderColor = Color(0xFFd3d1d1);
9 | static const backgroundColor = Color(0xffF6F7FB);
10 | static const cardShadowColor = Color(0xFFd3d1d1);
11 | static const dividerColor = Colors.black12;
12 | static const primaryGradientColor = LinearGradient(
13 | begin: Alignment.topCenter,
14 | end: Alignment.bottomCenter,
15 | colors: [Color(0xFF25164d), Colors.white],
16 | );
17 |
18 | static const secondaryColor = Color(0xFF979797);
19 | static const textColor = Color(0xFF4a4a4a);
20 | static const googleButtonColor = Color(0xFFFFF1F0);
21 | static const deleteButtonColor = Color(0xFFeb4d4b);
22 | static const googleButtonColorBorder = Color(0xFFF14336);
23 | static const facebookButtonColor = Color(0xFFF5F9FF);
24 | static const facebookButtonColorBorder = Color(0xFF3164CE);
25 | static const discountColor = Color(0xFFF17322);
26 |
27 | ///Singleton factory
28 | static final COLOR_CONST _instance = COLOR_CONST._internal();
29 |
30 | factory COLOR_CONST() {
31 | return _instance;
32 | }
33 |
34 | COLOR_CONST._internal();
35 | }
36 |
37 | const mAnimationDuration = Duration(milliseconds: 200);
38 |
--------------------------------------------------------------------------------
/lib/constants/constants.dart:
--------------------------------------------------------------------------------
1 | export 'color_constant.dart';
2 | export 'font_constant.dart';
3 | export 'image_constant.dart';
4 | export 'icon_constant.dart';
--------------------------------------------------------------------------------
/lib/constants/icon_constant.dart:
--------------------------------------------------------------------------------
1 | class ICON_CONST {
2 | static const HOME = "assets/icons/home.svg";
3 | static const MESSAGE = "assets/icons/speech.svg";
4 | static const USER = "assets/icons/User Icon.svg";
5 | static const SETTING = "assets/icons/Settings.svg";
6 | static const CART = "assets/icons/shopping-bag.svg";
7 | static const ADD_TO_CART = "assets/icons/add-to-basket.svg";
8 | static const LOG_OUT = "assets/icons/exit.svg";
9 | static const CAMERA = "assets/icons/Camera Icon.svg";
10 | static const RECEIPT = "assets/icons/receipt.svg";
11 | static const CANCEL = "assets/icons/cancel.svg";
12 | static const CHECK_MARK = "assets/icons/Check mark rounde.svg";
13 | static const SUBTRACT = "assets/icons/subtract.svg";
14 | static const ADD = "assets/icons/add.svg";
15 | static const ADDRESS = "assets/icons/location.svg";
16 | static const ORDER = "assets/icons/order.svg";
17 | }
18 |
--------------------------------------------------------------------------------
/lib/constants/image_constant.dart:
--------------------------------------------------------------------------------
1 | class IMAGE_CONST {
2 | static const APP_LOGO = "assets/images/ic_launcher.png";
3 | static const CART_EMPTY = "assets/images/empty_cart.png";
4 | static const NOT_FOUND = "assets/images/Not Found.png";
5 | static const NO_RECORD = "assets/images/no_record.png";
6 | static const SUCCESS = "assets/images/success.png";
7 | static const DEFAULT_AVATAR = "assets/images/default_avatar.jpg";
8 | static const ADD_ADDRESS = "assets/images/add_address.jpg";
9 | }
10 |
--------------------------------------------------------------------------------
/lib/constants/key_constant.dart:
--------------------------------------------------------------------------------
1 | abstract class KEY_CONST {
2 | //error description
3 | static const request_send_timeout = "request_send_timeout";
4 | static const request_cancelled = "request_cancelled";
5 | static const request_connect_timeout = "request_connect_timeout";
6 | static const no_internet = "no_internet";
7 | static const request_receive_timeout = "request_receive_timeout";
8 | static const not_found = "Not found.";
9 | static const error = "Error";
10 | static const unknown_error = "Unknown_error";
11 | }
12 |
13 | class MovieListType {
14 | static String popular = "popular";
15 | static String nowPlaying = "now_playing";
16 | static String topRated = "top_rated";
17 | static String upcoming = "upcoming";
18 | }
19 |
--------------------------------------------------------------------------------
/lib/data/models/banner_model.dart:
--------------------------------------------------------------------------------
1 | import 'package:equatable/equatable.dart';
2 |
3 | class BannerModel extends Equatable {
4 | final String id;
5 | final String imageUrl;
6 |
7 | BannerModel({required this.id, required this.imageUrl});
8 |
9 | /// Json data from server turns into model data
10 | static BannerModel fromMap(Map data) {
11 | return BannerModel(
12 | id: data["id"] ?? "",
13 | imageUrl: data["imageUrl"] ?? "",
14 | );
15 | }
16 |
17 | /// From model data turns into json data => server
18 | Map toMap() {
19 | return {
20 | "id": this.id,
21 | "name": this.imageUrl,
22 | };
23 | }
24 |
25 | @override
26 | String toString() {
27 | return 'BannerModel{id: $id, url: $imageUrl}';
28 | }
29 |
30 | @override
31 | List