This is flutter e-commerce app. This app could be used for shop app, food delivary app. You can use this template to do any payment app. It comes with backend.
This app consist of three parts. More parts are coming in future with more rich features.
For more about the app in the below link.
https://www.dbestech.com/tutorials/flutter-food-delivery-app-e-commerce-for-ios-and-android
The above link also gives you the starter code. Go there and download the starter code.
You will find the starter code and backend code in github link.
From the same page patreons can download the code as well.
Documentation
Some error documentation and solutions are
https://www.dbestech.com/tutorials/flutter-food-delivery-e-commerce-app-documentation
First part
For first part you may need to know more about Getx from the below tutorials I have used
Knowledge you need
1. Learn the basics of GetBuilder here. I have used GetBuilder here a lot
Errors you may get in part 1
1. Null checker problem
You might get error for CartController. This happened because the CartController is not being injected in the dependency. Watch this below to solve it
2. Image doesn't show or products don't get loaded
a. try to change https to http
b. try the link below and try solutions 1, 2 or 4
https://learnflutter.co/flutter-webview-doesnt-load-or-white-blank-page-ios-and-android/
Second part
For second part you may need to know the following things
1. You may need to know how to install the given Laravel admin panel(github) on Windows server
2. You may need to know how to install the given Laravel admin panel(github) on Mac server
Errors you may get in part 2
1. In part two you might get the below error
It's causing by null checker operator used on null value for ApiClient Token value
Watch this to solve it
Null checker used on null value
Third part
For third part you may need to know the belows things
1. You may need to know how to get Google map Api keys. Watch the below video
2. Android users should put the key in the application manifest android/app/src/main/AndroidManifest.xml
<manifest ...
<application ...
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="YOUR KEY HERE"/>
3. iOS user out the key ios/Runner/AppDelegate.swift
import UIKit
import Flutter
import GoogleMaps
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GMSServices.provideAPIKey("YOUR KEY HERE")
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
4. iOS user should add the below code in iOS/Runner/Info.plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>The app needs location permission</string>
<key>io.flutter.embedded_views_preview</key>
<true/>
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location to manage coverage of restaurant and when add a new address.</string>
About Google map go here to solve more error
Flutter Google map error and solutions
5. Address does not show up even after filling in the address in account_page.dart
in account_page.dart inside build method add the line
Get.find<LocationController>().getAddressList();
6. Google Map Api Key Test With Postman
Deploy in the production server Linux