diff --git a/ResponseApp/README.md b/ResponseApp/README.md index 1ab6d8a..2b26263 100644 --- a/ResponseApp/README.md +++ b/ResponseApp/README.md @@ -27,3 +27,58 @@ Icons: 2. Idea icon by Icons8 3. News icon by Icons8 4. Share icon by Icons8 + + +# Once cloned, do the following to make sure the app runs perfectly: + +### iOS: +1. Make sure app has a Info.plist file in "ios/Runner/" folder having the following code for location permissions: + ``` + UIViewControllerBasedStatusBarAppearance + + NSLocationWhenInUseUsageDescription + Response App needs access to location when open. + + NSLocationAlwaysUsageDescription + Response App needs access to location when in the background. + + NSLocationAlwaysAndWhenInUseUsageDescription + Response App needs access to location when open and in the background``` + +3. Make sure app has a AppDelegate.swift file in "ios/Runner/" folder having the Google API key for Google Maps SDK. +4. This is a no brainer, "ios/Runner/GoogleService-Info.plist". + +### Android: +1. This is a no brainer again, "android/app/google-services.json" +2. Make sure app has a local.properties file, if not: + * Go to your `Project -> Android` + * Create a file `local.properties` file + * Open the file and Paste your Android SDK path depending on the operating system: + a. Windows + `sdk.dir = C:/Users/USERNAME/AppData/Local/Android/sdk` + + b. Linux or MacOS + `sdk.dir = /home/USERNAME/Android/sdk` + + Replace `USERNAME` with your user name + +3. Next, [Adding Google Maps API key to Android App carefully!](https://developers.google.com/maps/documentation/android-sdk/get-api-key) + +### Chatbot: +1. Download a JSON file from the [google cloud console](https://console.cloud.google.com/) which helps your App to connect to the Chatbot Dialog flow Agent. + * Incase you have no clue as to what is to be done, follow [How to add a ChatBot in Flutter using DialogFlow!](https://medium.com/flutterdevs/chatbot-in-flutter-using-dialogflow-70e28665a827) +2. Once downloaded, rename file to "credentials.json" +3. Place the credentials.json file in the "assets/json/" folder + +## Run this in the terminal: +- flutter clean +- flutter doctor +- flutter pub get + +**iOS Specific, `cd ios`** +- pod repo update +- pod update +- sudo gem install cocoapods +- pod setup + +- flutter run diff --git a/ResponseApp/ios/Flutter/.last_build_id b/ResponseApp/ios/Flutter/.last_build_id index 63402ba..2fbbac5 100644 --- a/ResponseApp/ios/Flutter/.last_build_id +++ b/ResponseApp/ios/Flutter/.last_build_id @@ -1 +1 @@ -0685558960577d4fab3b6e210b1bf91e \ No newline at end of file +8ce40247418ef4706214c967f30d4a47 \ No newline at end of file diff --git a/ResponseApp/ios/Podfile.lock b/ResponseApp/ios/Podfile.lock index bd9958c..0344360 100644 --- a/ResponseApp/ios/Podfile.lock +++ b/ResponseApp/ios/Podfile.lock @@ -222,17 +222,17 @@ PODS: - Firebase/Core - Firebase/Firestore (~> 6.0) - Flutter - - Firebase/Auth (6.27.1): + - Firebase/Auth (6.34.0): - Firebase/CoreOnly - - FirebaseAuth (~> 6.6.0) - - Firebase/Core (6.27.1): + - FirebaseAuth (~> 6.9.2) + - Firebase/Core (6.34.0): - Firebase/CoreOnly - - FirebaseAnalytics (= 6.6.2) - - Firebase/CoreOnly (6.27.1): - - FirebaseCore (= 6.8.1) - - Firebase/Firestore (6.27.1): + - FirebaseAnalytics (= 6.9.0) + - Firebase/CoreOnly (6.34.0): + - FirebaseCore (= 6.10.4) + - Firebase/Firestore (6.34.0): - Firebase/CoreOnly - - FirebaseFirestore (~> 1.16.0) + - FirebaseFirestore (~> 1.19.0) - firebase_auth (0.0.1): - Firebase/Auth (~> 6.3) - Firebase/Core @@ -240,30 +240,30 @@ PODS: - firebase_core (0.0.1): - Firebase/Core - Flutter - - FirebaseAnalytics (6.6.2): - - FirebaseCore (~> 6.8) - - FirebaseInstallations (~> 1.4) - - GoogleAppMeasurement (= 6.6.2) - - GoogleUtilities/AppDelegateSwizzler (~> 6.0) - - GoogleUtilities/MethodSwizzler (~> 6.0) - - GoogleUtilities/Network (~> 6.0) - - "GoogleUtilities/NSData+zlib (~> 6.0)" - - nanopb (~> 1.30905.0) - - FirebaseAuth (6.6.0): - - FirebaseCore (~> 6.8) - - GoogleUtilities/AppDelegateSwizzler (~> 6.5) - - GoogleUtilities/Environment (~> 6.5) + - FirebaseAnalytics (6.9.0): + - FirebaseCore (~> 6.10) + - FirebaseInstallations (~> 1.7) + - GoogleAppMeasurement (= 6.9.0) + - GoogleUtilities/AppDelegateSwizzler (~> 6.7) + - GoogleUtilities/MethodSwizzler (~> 6.7) + - GoogleUtilities/Network (~> 6.7) + - "GoogleUtilities/NSData+zlib (~> 6.7)" + - nanopb (~> 1.30906.0) + - FirebaseAuth (6.9.2): + - FirebaseCore (~> 6.10) + - GoogleUtilities/AppDelegateSwizzler (~> 6.7) + - GoogleUtilities/Environment (~> 6.7) - GTMSessionFetcher/Core (~> 1.1) - - FirebaseCore (6.8.1): - - FirebaseCoreDiagnostics (~> 1.3) - - GoogleUtilities/Environment (~> 6.5) - - GoogleUtilities/Logger (~> 6.5) - - FirebaseCoreDiagnostics (1.4.0): - - GoogleDataTransportCCTSupport (~> 3.1) - - GoogleUtilities/Environment (~> 6.5) - - GoogleUtilities/Logger (~> 6.5) - - nanopb (~> 1.30905.0) - - FirebaseFirestore (1.16.0): + - FirebaseCore (6.10.4): + - FirebaseCoreDiagnostics (~> 1.6) + - GoogleUtilities/Environment (~> 6.7) + - GoogleUtilities/Logger (~> 6.7) + - FirebaseCoreDiagnostics (1.7.0): + - GoogleDataTransport (~> 7.4) + - GoogleUtilities/Environment (~> 6.7) + - GoogleUtilities/Logger (~> 6.7) + - nanopb (~> 1.30906.0) + - FirebaseFirestore (1.19.0): - abseil/algorithm (= 0.20200225.0) - abseil/base (= 0.20200225.0) - abseil/memory (= 0.20200225.0) @@ -271,14 +271,14 @@ PODS: - abseil/strings/strings (= 0.20200225.0) - abseil/time (= 0.20200225.0) - abseil/types (= 0.20200225.0) - - FirebaseCore (~> 6.8) + - FirebaseCore (~> 6.10) - "gRPC-C++ (~> 1.28.0)" - leveldb-library (~> 1.22) - - nanopb (~> 1.30905.0) - - FirebaseInstallations (1.4.0): - - FirebaseCore (~> 6.8) - - GoogleUtilities/Environment (~> 6.6) - - GoogleUtilities/UserDefaults (~> 6.6) + - nanopb (~> 1.30906.0) + - FirebaseInstallations (1.7.0): + - FirebaseCore (~> 6.10) + - GoogleUtilities/Environment (~> 6.7) + - GoogleUtilities/UserDefaults (~> 6.7) - PromisesObjC (~> 1.2) - Flutter (1.0.0) - geocoder (0.0.1): @@ -288,39 +288,37 @@ PODS: - google_maps_flutter (0.0.1): - Flutter - GoogleMaps (< 3.10) - - GoogleAppMeasurement (6.6.2): - - GoogleUtilities/AppDelegateSwizzler (~> 6.0) - - GoogleUtilities/MethodSwizzler (~> 6.0) - - GoogleUtilities/Network (~> 6.0) - - "GoogleUtilities/NSData+zlib (~> 6.0)" - - nanopb (~> 1.30905.0) - - GoogleDataTransport (6.2.1) - - GoogleDataTransportCCTSupport (3.2.0): - - GoogleDataTransport (~> 6.1) - - nanopb (~> 1.30905.0) - - GoogleMaps (2.7.0): - - GoogleMaps/Maps (= 2.7.0) - - GoogleMaps/Base (2.7.0) - - GoogleMaps/Maps (2.7.0): + - GoogleAppMeasurement (6.9.0): + - GoogleUtilities/AppDelegateSwizzler (~> 6.7) + - GoogleUtilities/MethodSwizzler (~> 6.7) + - GoogleUtilities/Network (~> 6.7) + - "GoogleUtilities/NSData+zlib (~> 6.7)" + - nanopb (~> 1.30906.0) + - GoogleDataTransport (7.5.1): + - nanopb (~> 1.30906.0) + - GoogleMaps (3.9.0): + - GoogleMaps/Maps (= 3.9.0) + - GoogleMaps/Base (3.9.0) + - GoogleMaps/Maps (3.9.0): - GoogleMaps/Base - - GoogleUtilities/AppDelegateSwizzler (6.6.0): + - GoogleUtilities/AppDelegateSwizzler (6.7.2): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (6.6.0): + - GoogleUtilities/Environment (6.7.2): - PromisesObjC (~> 1.2) - - GoogleUtilities/Logger (6.6.0): + - GoogleUtilities/Logger (6.7.2): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (6.6.0): + - GoogleUtilities/MethodSwizzler (6.7.2): - GoogleUtilities/Logger - - GoogleUtilities/Network (6.6.0): + - GoogleUtilities/Network (6.7.2): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (6.6.0)" - - GoogleUtilities/Reachability (6.6.0): + - "GoogleUtilities/NSData+zlib (6.7.2)" + - GoogleUtilities/Reachability (6.7.2): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (6.6.0): + - GoogleUtilities/UserDefaults (6.7.2): - GoogleUtilities/Logger - "gRPC-C++ (1.28.2)": - "gRPC-C++/Implementation (= 1.28.2)" @@ -346,16 +344,16 @@ PODS: - BoringSSL-GRPC (= 0.0.7) - gRPC-Core/Interface (= 1.28.2) - gRPC-Core/Interface (1.28.2) - - GTMSessionFetcher/Core (1.4.0) + - GTMSessionFetcher/Core (1.5.0) - leveldb-library (1.22) - "location_permissions (3.0.0+1)": - Flutter - - nanopb (1.30905.0): - - nanopb/decode (= 1.30905.0) - - nanopb/encode (= 1.30905.0) - - nanopb/decode (1.30905.0) - - nanopb/encode (1.30905.0) - - PromisesObjC (1.2.9) + - nanopb (1.30906.0): + - nanopb/decode (= 1.30906.0) + - nanopb/encode (= 1.30906.0) + - nanopb/decode (1.30906.0) + - nanopb/encode (1.30906.0) + - PromisesObjC (1.2.11) - share (0.0.1): - Flutter - shared_preferences (0.0.1): @@ -389,7 +387,6 @@ SPEC REPOS: - FirebaseInstallations - GoogleAppMeasurement - GoogleDataTransport - - GoogleDataTransportCCTSupport - GoogleMaps - GoogleUtilities - "gRPC-C++" @@ -427,31 +424,30 @@ SPEC CHECKSUMS: abseil: 6c8eb7892aefa08d929b39f9bb108e5367e3228f BoringSSL-GRPC: 8edf627ee524575e2f8d19d56f068b448eea3879 cloud_firestore: 2a4f8f802fb0b701cf809b283b6bec7477ebaa6f - Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892 + Firebase: c23a36d9e4cdf7877dfcba8dd0c58add66358999 firebase_auth: af8784c4d8d87c36f730a305f97bfbcb24db024b firebase_core: 335c02abd48672b7c83c683df833d0488a72e73e - FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4 - FirebaseAuth: b85c064e0ac60f82486728d50a4803f235687302 - FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085 - FirebaseCoreDiagnostics: 4505e4d4009b1d93f605088ee7d7764d5f0d1c84 - FirebaseFirestore: 4291ab811ad323a2b807a4a481cd5df2e445a676 - FirebaseInstallations: 293f567159b6d66d1c990f13bb868066096c94ec + FirebaseAnalytics: 3bb096873ee0d7fa4b6c70f5e9166b6da413cc7f + FirebaseAuth: c92d49ada7948d1a23466e3db17bc4c2039dddc3 + FirebaseCore: d3a978a3cfa3240bf7e4ba7d137fdf5b22b628ec + FirebaseCoreDiagnostics: 770ac5958e1372ce67959ae4b4f31d8e127c3ac1 + FirebaseFirestore: 9b2f1b9b9a6f2f0b6fb7484b9e32ab7e39243554 + FirebaseInstallations: 466c7b4d1f58fe16707693091da253726a731ed2 Flutter: 0e3d915762c693b495b44d77113d4970485de6ec geocoder: 3cfab70531a0b367e917bafe82df4c30f6d4c45a geolocator: f7622e0e7e2a24718285b73916d60c4a54b9f5b6 google_maps_flutter: c7f9c73576de1fbe152a227bfd6e6c4ae8088619 - GoogleAppMeasurement: 8cd1f289d60e629cf16ab03363b9e89c776b9651 - GoogleDataTransport: 9a8a16f79feffc7f42096743de2a7c4815e84020 - GoogleDataTransportCCTSupport: 489c1265d2c85b68187a83a911913d190012158d - GoogleMaps: f79af95cb24d869457b1f961c93d3ce8b2f3b848 - GoogleUtilities: 39530bc0ad980530298e9c4af8549e991fd033b1 + GoogleAppMeasurement: a6a3a066369828db64eda428cb2856dc1cdc7c4e + GoogleDataTransport: f56af7caa4ed338dc8e138a5d7c5973e66440833 + GoogleMaps: 4b5346bddfe6911bb89155d43c903020170523ac + GoogleUtilities: 7f2f5a07f888cdb145101d6042bc4422f57e70b3 "gRPC-C++": 13d8ccef97d5c3c441b7e3c529ef28ebee86fad2 gRPC-Core: 4afa11bfbedf7cdecd04de535a9e046893404ed5 - GTMSessionFetcher: 6f5c8abbab8a9bce4bb3f057e317728ec6182b10 + GTMSessionFetcher: b3503b20a988c4e20cc189aa798fd18220133f52 leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7 location_permissions: 7e0f9aa0f60deb8ff93ddf0e2a164c7e8197bc94 - nanopb: c43f40fadfe79e8b8db116583945847910cbabc9 - PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75 + nanopb: 59317e09cf1f1a0af72f12af412d54edf52603fc + PromisesObjC: 8c196f5a328c2cba3e74624585467a557dcb482f share: 0b2c3e82132f5888bccca3351c504d0003b3b410 shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef