Project Structure:

  • assets/image: apps/widgets/snippets images as well as appIcon are stored here.

  • assets/language: Multi-language support json file is here.

  • lib: Application main file and folder are located here.

    • view/base: All the Widgets except for screen will be declared here.
    • data/model: A base class that holds some data and allows other classes to listen to changes to that data.
    • data/repository: All API configurations are located here.
    • view/screens: FileName contents Screen at the end of name eg. DashboardScreen.
    • provider: It is used for State management technique Provider.
    • utills: Basic ready made widgets are located here.
      • colors_resources.dart: Application colors are declared here.
      • dimensions.dart: Sizing dimensions are here.
      • app_constant.dart: All the constant values are declared here.
      • images.dart: Image paths are stored here as constent.
      • styles.dart: Font styles are stored here.
  • pubspec.yaml: Application name and other project dependencies can be found here.

Integrations:

  • Provider for state management.
  • Repository Pattern for mocking data.
  • Dio for network call.
  • Get_it for dependency injection.
  • Pagination for list of data.
  • Shimmer loading effect.
  • Image picker.
  • Url launcher.
  • Google map
  • Webview etc.

Features:

  • Multiple language option.
  • Multiple currency option.
  • Dark and light theme.
  • RTL support
  • Splash screen
  • Nice dynamic On Boarding screen
  • Login and Registration with Email and Password.
  • Smart Homepage.
  • Product variant or attribute option.
  • Nice all category, sub category.
  • Category, Sub Category wise product listing.
  • Search product with search suggestions.
  • Filter option in search.
  • Product Wishlist.
  • Cart Screen.
  • Checkout screen.
  • Promo code system.
  • Order list and details screen.
  • Order tracking screen.
  • Customer rating and review.
  • Owner and customer chatting screen
  • Notification screen.
  • Coupon screen etc.