FlutterFast
- PayFast for the payments
- Firestore for the database
- Firebase functions for the ITN from PayFast
- Firebase hosting for the flutter and PayFast bridge
- Flutter/Dart
- flutter_bloc
- url_launcher
- webview_flutter
- http
- flutter_launcher_icons
- flutter_launcher_name
- path
- firebase_core
- firebase_auth
- firebase_database
- firebase_messaging
- google_sign_in
- cloud_firestore
- uuid: ^2.2.0
- Javascript/Nodejs
- firebase-functions
- firebase-admin
- express
- cors
- needle
- dns
- HTML/Javascript
- javascript
- jQuery
Some useful resources used for this app:
- PayFast Developer Documentation
- Lab: Write your first Flutter app
- Cookbook: Useful Flutter samples
- Firbase Docs: Must Go Through Examples
- IntelliJ IDEA
- Flutter for IntelliJ
- Clone the respository
- Open the project in your IDEA
- Run
flutter pub get
in the project root - Open the functions/functions folder and
npm install
- Setup the Firebase, enable Authentication with Google, enable hosting, enable functions, enable firestore database
- Follow the Firebase base instructions to get firebase cli commands running from the /functions folder
- I've written 2 bash scripts to assist with flutter building and deploying of the web app, as well as deploying the functions to Firebase functions, both need to be exectuble to run
- ./deploy_web.sh
- ./deploy_functions.sh
- Once all setup (and hoping I havent missed a beat) you should be ready to run the app on an emulator of your choice.
Anyone looking to extend or improve on the app, is free to submit a pull request.