This application will be similar to the Mobile Ordering system introduced by Walt Disney World where customers may place their order online and confirm their proximity to the market via location of the device. The vendor can confirm their order accept payment by Stripe and let the customer know where they can pickup the order. If desired, the vendor can confirm the customer by flashing the flash on their device. The entire transaction can take place without any personal contact.
This will be an open source project and anyone is welcome to fork, clone and use the code for their own purposes. The application is meant to be of public use and the development is intended for educational purposes for Flutter developers. Each episode in the series will be a branch in the repository. Episode 1 contains no coding and does not have a branch
Concepts introduced in the development of the application will include: Firebase, Firestore, 3rd Party Authentication, push notifications, provider, rxdart, cupertino scaffolding, plugins, geocoding, Strip, and Google Maps (and maybe more).
Development of the application will be documented on my YouTube channel https://www.youtube.com/channel/UCSKeK_8IzsqwKQBJuIGJPaA
To run the code beyond part 5 you will need to establish a firebase project, add an IOS and Android application using the Flutter instructions here https://firebase.google.com/docs/flutter/setup?authuser=0&platform=ios
To run beyond part 18, add a Firestore database to your project with rules set to allow read, write: if request.auth.uid != null;
You will also need to enable email authentication in your firebase project.