/Self-Checkout-Mobile-App

An Android-based mobile application developed using Flutter and Firebase for the purpose of improving the contactless shopping experience in grocery shopping.

Primary LanguageDartGNU Affero General Public License v3.0AGPL-3.0

Self-Checkout Mobile Application

Using Flutter and Firebase

ScanGo mobile application flyer design

Features

  • Developement is based on Flutter.
  • Supports on Android.
  • Barcode/QR Code scanning.
  • Integrated for Stripe API.

Libraries

  • Find and use packages to build Dart and Flutter apps from pub.dev.
    flutter_barcode_scanner, flutter_credit_card, flutter_spinkit, stripe_payment, http, cloud_firestore, firebase_auth, shared_preferences, google_fonts, progress_dialog

API

Firebase API

  • Create a Firebase project and add your own Firebase google-services.json file to project root folder (App uses Firestore to save login details).

Stripe API

  • Stripe (free plan) was used to do payments from the mobile app.
  • Replace the payment_services.dart file with your own SECRET KEY and PUBLIC KEY from your Stripe account.

Hardware requirements

  • Smartphone enabled with camera.

How the application works

  • Scan barcodes/QR codes of products to add them to cart.
  • The payments can be done only upon an equal total weight of the products brought were verified by scanning a equally weighted QR code.
  • Payments are enabled by the test version of Stripe.

Installation

  1. Add your Firebase google-services.json to the project
  2. Add your Stripe API SECRET KEY and PUBLIC KEY in payment_services.dart
  3. Update dependencies in pubspec.yaml file.