├── Documentation
├── .DS_Store
├── Google Map API Key How To.pdf
├── assets
│ ├── .DS_Store
│ ├── css
│ │ └── styles.css
│ └── images
│ │ ├── .DS_Store
│ │ ├── AppConfig.png
│ │ ├── FBAppjson.png
│ │ ├── FBFirebase.png
│ │ ├── LoginFB.png
│ │ ├── MapandFB.png
│ │ ├── Picture1.png
│ │ ├── Picture2.png
│ │ ├── Picture3.png
│ │ ├── Picture4.png
│ │ ├── about_us_configure.png
│ │ ├── admin_pics
│ │ ├── addUser.png
│ │ ├── adminCreateDb.png
│ │ ├── copyUid.png
│ │ ├── emailDisable.png
│ │ ├── emailEnableSave.png
│ │ ├── grabcabAdd.png
│ │ ├── signInSetup.png
│ │ ├── unzip_admin.png
│ │ └── usersTab.png
│ │ ├── android_simulator.png
│ │ ├── app
│ │ ├── .DS_Store
│ │ ├── FBAppjson.png
│ │ ├── FBFirebase.png
│ │ ├── LoginFB.png
│ │ ├── MapandFB.png
│ │ ├── Picture1.png
│ │ ├── Picture2.png
│ │ ├── Picture3.png
│ │ ├── Picture4.png
│ │ ├── android_simulator.png
│ │ ├── auth-0.png
│ │ ├── auth-1.png
│ │ ├── auth-2.png
│ │ ├── auth-3.png
│ │ ├── auth.png
│ │ ├── db-mode.png
│ │ ├── db-rule.png
│ │ ├── des1.png
│ │ ├── des2.png
│ │ ├── des3.png
│ │ ├── device.png
│ │ ├── driver-ac-approve.png
│ │ ├── driver-acapprove.png
│ │ ├── expo_logo.png
│ │ ├── fb-auth.png
│ │ ├── htmlstructure.png
│ │ ├── ios_simulator.png
│ │ ├── new_pics
│ │ │ ├── DBTestMode.png
│ │ │ ├── DatabaseSelect.png
│ │ │ ├── RealtimeDB.png
│ │ │ ├── appConfig.png
│ │ │ ├── browseJson.png
│ │ │ ├── browseOpen.png
│ │ │ ├── configCopy.png
│ │ │ ├── importClick.png
│ │ │ ├── importJson.png
│ │ │ ├── newProjContinue.png
│ │ │ ├── newProjTermAccept.png
│ │ │ ├── newProject.png
│ │ │ ├── newProjectName.png
│ │ │ ├── newWebApp.png
│ │ │ ├── newWebAppName.png
│ │ │ └── selectImport.png
│ │ ├── nodejs_logo.png
│ │ ├── og_image.png
│ │ ├── rulesdb.png
│ │ ├── s-rule1.png
│ │ ├── s-rule2.png
│ │ ├── s-rule3.png
│ │ ├── s-rule4.png
│ │ ├── server_url.png
│ │ ├── theme.png
│ │ ├── top.png
│ │ ├── unzip_folder.png
│ │ └── watchman.png
│ │ ├── auth-0.png
│ │ ├── auth-1.png
│ │ ├── auth-2.png
│ │ ├── auth-3.png
│ │ ├── auth.png
│ │ ├── braintree-settings.png
│ │ ├── db-mode.png
│ │ ├── db-rule.png
│ │ ├── des1.png
│ │ ├── des2.png
│ │ ├── des3.png
│ │ ├── device.png
│ │ ├── driver-ac-approve.png
│ │ ├── driver-acapprove.png
│ │ ├── enable-auth.png
│ │ ├── expo_logo.png
│ │ ├── fb-auth.png
│ │ ├── fbb.png
│ │ ├── firehost2.png
│ │ ├── firehost3.png
│ │ ├── fs1.png
│ │ ├── fs2.png
│ │ ├── htmlstructure.png
│ │ ├── hu.png
│ │ ├── ios_simulator.png
│ │ ├── isAdmin.jpg
│ │ ├── language.png
│ │ ├── mapkey.png
│ │ ├── new_pics
│ │ ├── DBTestMode.png
│ │ ├── DatabaseSelect.png
│ │ ├── RealtimeDB.png
│ │ ├── appConfig.png
│ │ ├── browseJson.png
│ │ ├── browseOpen.png
│ │ ├── configCopy.png
│ │ ├── importClick.png
│ │ ├── importJson.png
│ │ ├── newProjContinue.png
│ │ ├── newProjTermAccept.png
│ │ ├── newProject.png
│ │ ├── newProjectName.png
│ │ ├── newWebApp.png
│ │ ├── newWebAppName.png
│ │ └── selectImport.png
│ │ ├── nodejs_logo.png
│ │ ├── og_image.png
│ │ ├── rulesdb.png
│ │ ├── s-rule1.png
│ │ ├── s-rule2.png
│ │ ├── s-rule3.png
│ │ ├── s-rule4.png
│ │ ├── server_url.png
│ │ ├── serverurl-1.png
│ │ ├── serverurl-2.png
│ │ ├── strip-settings.png
│ │ ├── termshtml.png
│ │ ├── theme.png
│ │ ├── top.png
│ │ ├── unzip_folder.png
│ │ └── watchman.png
└── index.html
├── GrabCab_Code
├── .DS_Store
├── GrabCabAdmin_code
│ ├── .expo
│ │ ├── packager-info.json
│ │ └── settings.json
│ ├── .firebase
│ │ └── hosting.YnVpbGQ.cache
│ ├── .firebaserc
│ ├── .gitignore
│ ├── README.md
│ ├── firebase.json
│ ├── functions
│ │ ├── .eslintrc.json
│ │ ├── .gitignore
│ │ ├── index.js
│ │ ├── package-lock.json
│ │ └── package.json
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ └── src
│ │ ├── App.js
│ │ ├── App.test.js
│ │ ├── actions
│ │ ├── authactions.js
│ │ ├── bookingactions.js
│ │ ├── cartypeactions.js
│ │ ├── driverearningaction.js
│ │ ├── earningreportsaction.js
│ │ ├── notificationactions.js
│ │ ├── promoactions.js
│ │ ├── referralactions.js
│ │ ├── settingsactions.js
│ │ ├── types.js
│ │ └── usersactions.js
│ │ ├── assets
│ │ ├── car.png
│ │ ├── logo.png
│ │ ├── money1.jpg
│ │ ├── money2.jpg
│ │ ├── money3.jpg
│ │ ├── money4.jpg
│ │ └── sidemenu_logo.jpg
│ │ ├── components
│ │ ├── AlertDialog.js
│ │ ├── AppMenu.js
│ │ ├── AuthLoading.js
│ │ ├── CircularLoading.js
│ │ ├── DashboardCard.js
│ │ ├── Map.js
│ │ ├── ProtectedRoute.js
│ │ └── ResponsiveDrawer.js
│ │ ├── config
│ │ ├── dev.js
│ │ ├── firebase.js
│ │ ├── keys.js
│ │ ├── language.js
│ │ └── prod.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── reducers
│ │ ├── authreducer.js
│ │ ├── bookingsreducer.js
│ │ ├── cartypesreducer.js
│ │ ├── driverearningreducer.js
│ │ ├── earningreportsreducer.js
│ │ ├── notificationreducer.js
│ │ ├── promoreducer.js
│ │ ├── referralreducer.js
│ │ ├── settingsreducer.js
│ │ ├── store.js
│ │ └── usersreducer.js
│ │ ├── serviceWorker.js
│ │ └── views
│ │ ├── Bookings.js
│ │ ├── CarTypes.js
│ │ ├── Dashboard.js
│ │ ├── DriverEarning.js
│ │ ├── Earningreports.js
│ │ ├── Login.js
│ │ ├── Notifications.js
│ │ ├── Promos.js
│ │ ├── Referral.js
│ │ ├── Settings.js
│ │ └── Users.js
├── GrabCabDriver_code
│ ├── .DS_Store
│ ├── .babelrc
│ ├── .expo-shared
│ │ └── assets.json
│ ├── .gitignore
│ ├── .watchmanconfig
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── .DS_Store
│ │ ├── fonts
│ │ │ ├── Roboto-Bold.ttf
│ │ │ ├── Roboto-Light.ttf
│ │ │ ├── Roboto-Medium.ttf
│ │ │ └── Roboto-Regular.ttf
│ │ ├── images
│ │ │ ├── .DS_Store
│ │ │ ├── Notification.png
│ │ │ ├── about_us.png
│ │ │ ├── alarm-clock.orig.png
│ │ │ ├── alarm-clock.png
│ │ │ ├── background.orig.png
│ │ │ ├── background.png
│ │ │ ├── bg.png
│ │ │ ├── cab.orig.png
│ │ │ ├── cab.png
│ │ │ ├── cablogo.png
│ │ │ ├── camera.orig.png
│ │ │ ├── camera.png
│ │ │ ├── cancel.png
│ │ │ ├── cross.orig.png
│ │ │ ├── cross.png
│ │ │ ├── dash.orig.png
│ │ │ ├── dash.png
│ │ │ ├── demoProfile.jpg
│ │ │ ├── demoProfile.orig.jpg
│ │ │ ├── fareMetar.png
│ │ │ ├── icon.png
│ │ │ ├── kabman-SideMenu.png
│ │ │ ├── loader.gif
│ │ │ ├── logo.png
│ │ │ ├── microBlackCar.png
│ │ │ ├── paytm_logo.jpg
│ │ │ ├── profilePic.jpg
│ │ │ ├── profilePic.png
│ │ │ ├── push_notification.png
│ │ │ ├── rsz_2red_pin.png
│ │ │ ├── splash.png
│ │ │ ├── swiftDesire.png
│ │ │ ├── taxi--dd.png
│ │ │ ├── taxi2.png
│ │ │ ├── track_Car.png
│ │ │ └── transfer.png
│ │ └── sounds
│ │ │ └── car_horn.wav
│ ├── babel.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── .DS_Store
│ │ ├── common
│ │ │ ├── GetPushToken.js
│ │ │ ├── RequestPushMsg.js
│ │ │ ├── fareCalculator.js
│ │ │ ├── key.js
│ │ │ ├── language.js
│ │ │ ├── serverUrl.js
│ │ │ ├── styles.js
│ │ │ └── theme.js
│ │ ├── components
│ │ │ ├── Background.js
│ │ │ ├── Button.js
│ │ │ ├── CustomCommentSend.js
│ │ │ ├── EditUser.js
│ │ │ ├── EmptyNotification.js
│ │ │ ├── MapComponent.js
│ │ │ ├── MaterialButtonDark.js
│ │ │ ├── Notification.js
│ │ │ ├── SideMenu.js
│ │ │ ├── SideMenuHeader.js
│ │ │ ├── TrackNow.js
│ │ │ ├── TripStartModal.js
│ │ │ ├── driverRegComponent.js
│ │ │ ├── index.js
│ │ │ └── ridelist.js
│ │ ├── constants
│ │ │ └── Layout.js
│ │ ├── navigation
│ │ │ ├── AppNavigator.js
│ │ │ └── MainNavigator.js
│ │ └── screens
│ │ │ ├── .DS_Store
│ │ │ ├── AboutScreen.js
│ │ │ ├── AuthLoadingScreen.js
│ │ │ ├── CompleteTrip.js
│ │ │ ├── DriverIncomeScreen.js
│ │ │ ├── DriverRegistration.js
│ │ │ ├── DriverStartTrip.js
│ │ │ ├── DriverTripAccept.js
│ │ │ ├── EditProfile.js
│ │ │ ├── EmptyScreen.js
│ │ │ ├── LoginScreen.js
│ │ │ ├── NotificationScreen.js
│ │ │ ├── OnlineChat.js
│ │ │ ├── ProfileScreen.js
│ │ │ ├── RideDetails.js
│ │ │ ├── RideListScreen.js
│ │ │ ├── TaskIgnorePopUp.js
│ │ │ ├── driverTripComplete.js
│ │ │ └── index.js
│ └── yarn.lock
└── GrabCabRider_code
│ ├── .expo-shared
│ └── assets.json
│ ├── .gitignore
│ ├── App.js
│ ├── app.json
│ ├── assets
│ ├── fonts
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Medium.ttf
│ │ └── Roboto-Regular.ttf
│ ├── images
│ │ ├── Notification.png
│ │ ├── about_us.png
│ │ ├── alarm-clock.png
│ │ ├── appIcon.png
│ │ ├── available_car.png
│ │ ├── background.png
│ │ ├── bg.png
│ │ ├── braintree-logo.png
│ │ ├── cab.png
│ │ ├── cablogo.png
│ │ ├── camera.png
│ │ ├── cancel.png
│ │ ├── cross.png
│ │ ├── dash.png
│ │ ├── demoProfile.jpg
│ │ ├── fareMetar.jpg
│ │ ├── fareMetar.png
│ │ ├── flat-discount.png
│ │ ├── gift.gif
│ │ ├── green_pin.png
│ │ ├── icon.png
│ │ ├── image_apple.png
│ │ ├── image_fb.png
│ │ ├── loader.gif
│ │ ├── lodingDriver.gif
│ │ ├── logo.png
│ │ ├── microBlackCar.png
│ │ ├── paytm_logo.jpg
│ │ ├── paytm_logo.png
│ │ ├── percent-discount.png
│ │ ├── primeCar.png
│ │ ├── profilePic.jpg
│ │ ├── profilePic.png
│ │ ├── push_notification.png
│ │ ├── rsz_2red_pin.png
│ │ ├── shareTaxi.png
│ │ ├── splash.png
│ │ ├── stripe-logo.png
│ │ ├── swiftDesire.png
│ │ ├── taxi--dd.png
│ │ ├── taxi2.png
│ │ ├── track_Car.png
│ │ └── transfer.png
│ └── sounds
│ │ └── car_horn.wav
│ ├── babel.config.js
│ ├── package-lock.json
│ ├── package.json
│ └── src
│ ├── common
│ ├── FareCalculator.js
│ ├── GetPushToken.js
│ ├── RequestPushMsg.js
│ ├── key.js
│ ├── language.js
│ ├── serverUrl.js
│ ├── styles.js
│ └── theme.js
│ ├── components
│ ├── Background.js
│ ├── Button.js
│ ├── EditUser.js
│ ├── MapComponent.js
│ ├── MaterialButtonDark.js
│ ├── PaymentMethods
│ │ ├── BraintreeView.js
│ │ └── StripeView.js
│ ├── SideMenu.js
│ ├── SideMenuHeader.js
│ ├── TrackNow.js
│ ├── WalletTransactionHistory.js
│ ├── index.js
│ ├── promoComponent.js
│ ├── register.js
│ └── ridelist.js
│ ├── constants
│ └── Layout.js
│ ├── navigation
│ ├── AppNavigator.js
│ └── MainNavigator.js
│ └── screens
│ ├── About.js
│ ├── AddMoney.js
│ ├── AuthLoadingScreen.js
│ ├── BookedCabScreen.js
│ ├── CardDetails.js
│ ├── EditProfile.js
│ ├── FareScreen.js
│ ├── LoginScreen.js
│ ├── MapScreen.js
│ ├── OnlineChat.js
│ ├── ProfileScreen.js
│ ├── Registration.js
│ ├── RideDetails.js
│ ├── RideListScreen.js
│ ├── SearchScreen.js
│ ├── SelectGatewayScreen.js
│ ├── TrackNow.js
│ ├── WalletDetails.js
│ ├── driverTripComplete.js
│ └── index.js
└── Grabcab Database
└── grabcab-app-export.json
/Documentation/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/.DS_Store
--------------------------------------------------------------------------------
/Documentation/Google Map API Key How To.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/Google Map API Key How To.pdf
--------------------------------------------------------------------------------
/Documentation/assets/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/.DS_Store
--------------------------------------------------------------------------------
/Documentation/assets/images/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/.DS_Store
--------------------------------------------------------------------------------
/Documentation/assets/images/AppConfig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/AppConfig.png
--------------------------------------------------------------------------------
/Documentation/assets/images/FBAppjson.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/FBAppjson.png
--------------------------------------------------------------------------------
/Documentation/assets/images/FBFirebase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/FBFirebase.png
--------------------------------------------------------------------------------
/Documentation/assets/images/LoginFB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/LoginFB.png
--------------------------------------------------------------------------------
/Documentation/assets/images/MapandFB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/MapandFB.png
--------------------------------------------------------------------------------
/Documentation/assets/images/Picture1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/Picture1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/Picture2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/Picture2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/Picture3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/Picture3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/Picture4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/Picture4.png
--------------------------------------------------------------------------------
/Documentation/assets/images/about_us_configure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/about_us_configure.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/addUser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/addUser.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/adminCreateDb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/adminCreateDb.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/copyUid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/copyUid.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/emailDisable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/emailDisable.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/emailEnableSave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/emailEnableSave.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/grabcabAdd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/grabcabAdd.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/signInSetup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/signInSetup.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/unzip_admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/unzip_admin.png
--------------------------------------------------------------------------------
/Documentation/assets/images/admin_pics/usersTab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/admin_pics/usersTab.png
--------------------------------------------------------------------------------
/Documentation/assets/images/android_simulator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/android_simulator.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/.DS_Store
--------------------------------------------------------------------------------
/Documentation/assets/images/app/FBAppjson.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/FBAppjson.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/FBFirebase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/FBFirebase.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/LoginFB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/LoginFB.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/MapandFB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/MapandFB.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/Picture1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/Picture1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/Picture2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/Picture2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/Picture3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/Picture3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/Picture4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/Picture4.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/android_simulator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/android_simulator.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/auth-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/auth-0.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/auth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/auth-1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/auth-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/auth-2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/auth-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/auth-3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/auth.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/db-mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/db-mode.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/db-rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/db-rule.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/des1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/des1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/des2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/des2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/des3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/des3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/device.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/device.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/driver-ac-approve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/driver-ac-approve.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/driver-acapprove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/driver-acapprove.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/expo_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/expo_logo.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/fb-auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/fb-auth.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/htmlstructure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/htmlstructure.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/ios_simulator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/ios_simulator.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/DBTestMode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/DBTestMode.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/DatabaseSelect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/DatabaseSelect.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/RealtimeDB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/RealtimeDB.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/appConfig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/appConfig.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/browseJson.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/browseJson.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/browseOpen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/browseOpen.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/configCopy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/configCopy.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/importClick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/importClick.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/importJson.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/importJson.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/newProjContinue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/newProjContinue.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/newProjTermAccept.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/newProjTermAccept.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/newProject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/newProject.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/newProjectName.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/newProjectName.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/newWebApp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/newWebApp.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/newWebAppName.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/newWebAppName.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/new_pics/selectImport.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/new_pics/selectImport.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/nodejs_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/nodejs_logo.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/og_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/og_image.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/rulesdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/rulesdb.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/s-rule1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/s-rule1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/s-rule2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/s-rule2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/s-rule3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/s-rule3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/s-rule4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/s-rule4.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/server_url.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/server_url.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/theme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/theme.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/top.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/unzip_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/unzip_folder.png
--------------------------------------------------------------------------------
/Documentation/assets/images/app/watchman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/app/watchman.png
--------------------------------------------------------------------------------
/Documentation/assets/images/auth-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/auth-0.png
--------------------------------------------------------------------------------
/Documentation/assets/images/auth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/auth-1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/auth-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/auth-2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/auth-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/auth-3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/auth.png
--------------------------------------------------------------------------------
/Documentation/assets/images/braintree-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/braintree-settings.png
--------------------------------------------------------------------------------
/Documentation/assets/images/db-mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/db-mode.png
--------------------------------------------------------------------------------
/Documentation/assets/images/db-rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/db-rule.png
--------------------------------------------------------------------------------
/Documentation/assets/images/des1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/des1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/des2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/des2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/des3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/des3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/device.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/device.png
--------------------------------------------------------------------------------
/Documentation/assets/images/driver-ac-approve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/driver-ac-approve.png
--------------------------------------------------------------------------------
/Documentation/assets/images/driver-acapprove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/driver-acapprove.png
--------------------------------------------------------------------------------
/Documentation/assets/images/enable-auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/enable-auth.png
--------------------------------------------------------------------------------
/Documentation/assets/images/expo_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/expo_logo.png
--------------------------------------------------------------------------------
/Documentation/assets/images/fb-auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/fb-auth.png
--------------------------------------------------------------------------------
/Documentation/assets/images/fbb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/fbb.png
--------------------------------------------------------------------------------
/Documentation/assets/images/firehost2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/firehost2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/firehost3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/firehost3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/fs1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/fs1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/fs2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/fs2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/htmlstructure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/htmlstructure.png
--------------------------------------------------------------------------------
/Documentation/assets/images/hu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/hu.png
--------------------------------------------------------------------------------
/Documentation/assets/images/ios_simulator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/ios_simulator.png
--------------------------------------------------------------------------------
/Documentation/assets/images/isAdmin.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/isAdmin.jpg
--------------------------------------------------------------------------------
/Documentation/assets/images/language.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/language.png
--------------------------------------------------------------------------------
/Documentation/assets/images/mapkey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/mapkey.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/DBTestMode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/DBTestMode.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/DatabaseSelect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/DatabaseSelect.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/RealtimeDB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/RealtimeDB.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/appConfig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/appConfig.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/browseJson.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/browseJson.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/browseOpen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/browseOpen.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/configCopy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/configCopy.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/importClick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/importClick.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/importJson.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/importJson.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/newProjContinue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/newProjContinue.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/newProjTermAccept.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/newProjTermAccept.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/newProject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/newProject.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/newProjectName.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/newProjectName.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/newWebApp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/newWebApp.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/newWebAppName.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/newWebAppName.png
--------------------------------------------------------------------------------
/Documentation/assets/images/new_pics/selectImport.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/new_pics/selectImport.png
--------------------------------------------------------------------------------
/Documentation/assets/images/nodejs_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/nodejs_logo.png
--------------------------------------------------------------------------------
/Documentation/assets/images/og_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/og_image.png
--------------------------------------------------------------------------------
/Documentation/assets/images/rulesdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/rulesdb.png
--------------------------------------------------------------------------------
/Documentation/assets/images/s-rule1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/s-rule1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/s-rule2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/s-rule2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/s-rule3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/s-rule3.png
--------------------------------------------------------------------------------
/Documentation/assets/images/s-rule4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/s-rule4.png
--------------------------------------------------------------------------------
/Documentation/assets/images/server_url.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/server_url.png
--------------------------------------------------------------------------------
/Documentation/assets/images/serverurl-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/serverurl-1.png
--------------------------------------------------------------------------------
/Documentation/assets/images/serverurl-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/serverurl-2.png
--------------------------------------------------------------------------------
/Documentation/assets/images/strip-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/strip-settings.png
--------------------------------------------------------------------------------
/Documentation/assets/images/termshtml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/termshtml.png
--------------------------------------------------------------------------------
/Documentation/assets/images/theme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/theme.png
--------------------------------------------------------------------------------
/Documentation/assets/images/top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/top.png
--------------------------------------------------------------------------------
/Documentation/assets/images/unzip_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/unzip_folder.png
--------------------------------------------------------------------------------
/Documentation/assets/images/watchman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/Documentation/assets/images/watchman.png
--------------------------------------------------------------------------------
/GrabCab_Code/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/.DS_Store
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/.expo/packager-info.json:
--------------------------------------------------------------------------------
1 | {
2 | "devToolsPort": 19002
3 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/.expo/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "hostType": "lan",
3 | "lanType": "ip",
4 | "dev": true,
5 | "minify": false,
6 | "urlRandomness": null
7 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/.firebase/hosting.YnVpbGQ.cache:
--------------------------------------------------------------------------------
1 | asset-manifest.json,1583012539318,291d900f425534052ab2d24113b24b22d750014855e79e9d582c1291aae5ec03
2 | favicon.ico,1583012515615,1b39214095c00c98807897daf44ef5b8f47ea2a209d58a762b29515fb55a18b8
3 | index.html,1583012539274,6647f9d60ca12ea25c6251794f32a058e6243395ed986fef469c1cf0697c1a27
4 | manifest.json,1583012515623,4d19af1325a0ac8ff885a556b75d8a50d80f4ed55f49d7a8e89ef81b350d2c6f
5 | precache-manifest.af7ff505daea7b836b96675189690486.js,1583012539274,5a9c50f964ebc497335610d9ec1e7259a0d0b2ddcdc955f61495f4b9e1501c12
6 | robots.txt,1583012515624,381eb2c6776dd7924af6a6f8761e8720f5c7fb210451f07f2d13cf52af3073d2
7 | service-worker.js,1583012539276,abce17cd539169bea0230bd942a4ec6b80b54f0117ef021f8619aa137f0f8827
8 | static/css/main.34de6062.chunk.css,1583012539318,a928992637bf4bc22d222981ae2e31f666160352ca06da6e2781906ca90b4091
9 | static/css/main.34de6062.chunk.css.map,1583012539318,a552a00edf886050098d4c1b7d61cfeeabb6ee3afef34be05a92342374195687
10 | static/js/runtime~main.7b43e75d.js,1583012539321,5a734403b3684600307b70feb5f085922ae7680f2e245d8da8828f7ef2e625aa
11 | static/js/main.5246c4ab.chunk.js,1583012539321,80e4268cbd142588ce37cf9e2628d4d42d73d648a531b3671b76c6467b550ef4
12 | static/js/runtime~main.7b43e75d.js.map,1583012539319,9aa2c16e44d96880edd731c6277aec4bd6376f1d80b6d5e23412f22d027dd2df
13 | logo192.png,1583012515617,68519cb046e9dc5eee7cd4b4c1325e492f58db932b7bcdef74d8015096a92fd1
14 | static/media/logo.43d0c11f.png,1583012539319,68519cb046e9dc5eee7cd4b4c1325e492f58db932b7bcdef74d8015096a92fd1
15 | static/media/money1.1e54addd.jpg,1583012539318,e33c6a0b8ea383896d757b52341c3a5b060a11b7cd286387209f81b44234eb51
16 | static/media/money2.2e3870f3.jpg,1583012539318,4de337a8e19bece6307ba112ea2c8d1ece588b8a7d7d9e5c3e4d1605d51286c2
17 | static/media/sidemenu_logo.a6d4484a.jpg,1583012539275,f079a191f2af23fa210585a93aa59cac3eca2206db610abee3b33a3f9fdcd576
18 | static/media/money3.1d26e667.jpg,1583012539318,7014e1a23ee176e0906563d5e770df523c9b1e18f67ad3ba0646c6819e56d44a
19 | logo512.png,1583012515622,60094fcc3a90f874281180159cb2e69f7918a7e10d6372e81dfe8b2d729b28e4
20 | static/js/main.5246c4ab.chunk.js.map,1583012539319,abb612a20fef527480488caa4a00462925cc0370756ba932e9b1097751b62319
21 | static/js/2.52b01eaf.chunk.js,1583012539319,86fde9e87f944be4aa0ecdd38ffbbd12b6ff2b88152c9b8896d73fef4f43940f
22 | static/js/2.52b01eaf.chunk.js.map,1583012539321,c3422186f4e5f0ae046961d0513c695f40b061f46f8d72d6314b9a9692efaf33
23 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/.firebaserc:
--------------------------------------------------------------------------------
1 | {
2 | "projects": {
3 | "default": "XXXXXXXXXXXXXXXX"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/README.md:
--------------------------------------------------------------------------------
1 | GrabCab Admin was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 | You will also see any lint errors in the console.
14 |
15 | ### `npm run build`
16 |
17 | Builds the app for production to the `build` folder.
18 | It correctly bundles React in production mode and optimizes the build for the best performance.
19 |
20 | The build is minified and the filenames include the hashes.
21 | Your app is ready to be deployed!
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/firebase.json:
--------------------------------------------------------------------------------
1 | {
2 | "hosting": {
3 | "public": "build",
4 | "ignore": [
5 | "firebase.json",
6 | "**/.*",
7 | "**/node_modules/**"
8 | ],
9 | "rewrites": [
10 | {
11 | "source": "**",
12 | "destination": "/index.html"
13 | }
14 | ]
15 | },
16 | "functions": {
17 | "predeploy": [
18 | "npm --prefix \"$RESOURCE_DIR\" run lint"
19 | ]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/functions/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "functions",
3 | "description": "Cloud Functions for Firebase",
4 | "scripts": {
5 | "lint": "eslint .",
6 | "serve": "firebase serve --only functions",
7 | "shell": "firebase functions:shell",
8 | "start": "npm run shell",
9 | "deploy": "firebase deploy --only functions",
10 | "logs": "firebase functions:log"
11 | },
12 | "engines": {
13 | "node": "8"
14 | },
15 | "dependencies": {
16 | "braintree": "^2.21.0",
17 | "crypto": "^1.0.1",
18 | "firebase-admin": "^8.6.0",
19 | "firebase-functions": "^3.3.0",
20 | "stripe": "^7.14.0",
21 | "util": "^0.12.1"
22 | },
23 | "devDependencies": {
24 | "eslint": "^5.12.0",
25 | "eslint-plugin-promise": "^4.0.1",
26 | "firebase-functions-test": "^0.1.6"
27 | },
28 | "private": true
29 | }
30 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "grabcab-admin",
3 | "version": "5.0.0",
4 | "private": true,
5 | "dependencies": {
6 | "@material-ui/core": "^4.3.2",
7 | "@material-ui/icons": "^4.2.1",
8 | "firebase": "^6.3.5",
9 | "material-table": "^1.50.0",
10 | "react": "^16.9.0",
11 | "react-dom": "^16.9.0",
12 | "react-google-maps": "^9.4.5",
13 | "react-redux": "^7.1.0",
14 | "react-router-dom": "^5.0.1",
15 | "react-scripts": "^3.4.1",
16 | "redux": "^4.0.4",
17 | "redux-logger": "^3.0.6",
18 | "redux-thunk": "^2.3.0"
19 | },
20 | "scripts": {
21 | "start": "react-scripts start",
22 | "build": "react-scripts build",
23 | "test": "react-scripts test",
24 | "eject": "react-scripts eject"
25 | },
26 | "eslintConfig": {
27 | "extends": "react-app"
28 | },
29 | "browserslist": {
30 | "production": [
31 | ">0.2%",
32 | "not dead",
33 | "not op_mini all"
34 | ],
35 | "development": [
36 | "last 1 chrome version",
37 | "last 1 firefox version",
38 | "last 1 safari version"
39 | ]
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/public/favicon.ico
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
14 |
15 |
16 | GrabCab Admin
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/public/logo192.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/public/logo512.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "GrabCab Admin",
3 | "name": "GrabCab Admin Dashboard App",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {BrowserRouter as Router, Route, Switch} from 'react-router-dom';
3 | import { Provider } from "react-redux";
4 | import { store } from "./reducers/store";
5 | import ProtectedRoute from './components/ProtectedRoute';
6 | import Login from './views/Login';
7 | import Dashboard from './views/Dashboard';
8 | import CarTypes from './views/CarTypes';
9 | import Bookings from './views/Bookings';
10 | import Promos from './views/Promos';
11 | import Users from './views/Users';
12 | import Referral from './views/Referral';
13 | import { fetchUser} from "./actions/authactions";
14 | import AuthLoading from './components/AuthLoading';
15 | import Notifications from './views/Notifications';
16 | import DriverEarning from './views/DriverEarning';
17 | import Earningreports from './views/Earningreports';
18 | import Settings from './views/Settings';
19 |
20 | function App() {
21 | store.dispatch(fetchUser());
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | );
43 | }
44 |
45 | export default App;
46 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | it('renders without crashing', () => {
6 | const div = document.createElement('div');
7 | ReactDOM.render(, div);
8 | ReactDOM.unmountComponentAtNode(div);
9 | });
10 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/authactions.js:
--------------------------------------------------------------------------------
1 | import { authRef,singleUserRef, FIREBASE_AUTH_PERSIST} from "../config/firebase";
2 | import {
3 | FETCH_USER,
4 | FETCH_USER_SUCCESS,
5 | FETCH_USER_FAILED,
6 | USER_SIGN_IN,
7 | USER_SIGN_IN_FAILED,
8 | USER_SIGN_OUT,
9 | CLEAR_LOGIN_ERROR
10 | } from "./types";
11 |
12 | export const fetchUser = () => dispatch => {
13 | dispatch({
14 | type: FETCH_USER,
15 | payload: null
16 | });
17 | authRef.onAuthStateChanged(user => {
18 | if (user) {
19 | singleUserRef(user.uid).once("value", snapshot => {
20 | if(snapshot.val() && snapshot.val().isAdmin){
21 | dispatch({
22 | type: FETCH_USER_SUCCESS,
23 | payload: user
24 | });
25 | }else{
26 | authRef
27 | .signOut()
28 | .then(() => {
29 | dispatch({
30 | type: USER_SIGN_IN_FAILED,
31 | payload: "This login is a valid user but not Admin"
32 | });
33 | })
34 | .catch(error => {
35 | dispatch({
36 | type: USER_SIGN_IN_FAILED,
37 | payload: error
38 | });
39 | });
40 | }
41 | });
42 | }else{
43 | dispatch({
44 | type: FETCH_USER_FAILED,
45 | payload: null
46 | });
47 | }
48 | });
49 | };
50 |
51 | export const signIn = (username,password) => dispatch => {
52 | authRef.setPersistence(FIREBASE_AUTH_PERSIST)
53 | .then(function() {
54 | authRef
55 | .signInWithEmailAndPassword(username,password)
56 | .then(user=>{
57 | dispatch({
58 | type: USER_SIGN_IN,
59 | payload: null
60 | });
61 | })
62 | .catch(error => {
63 | dispatch({
64 | type: USER_SIGN_IN_FAILED,
65 | payload: error
66 | });
67 | });
68 | })
69 | .catch(function(error) {
70 | dispatch({
71 | type: USER_SIGN_IN_FAILED,
72 | payload: "Firebase Auth Error"
73 | });
74 | });
75 | };
76 |
77 | export const signOut = () => dispatch => {
78 | authRef
79 | .signOut()
80 | .then(() => {
81 | dispatch({
82 | type: USER_SIGN_OUT,
83 | payload: null
84 | });
85 | })
86 | .catch(error => {
87 | //console.log(error);
88 | });
89 | };
90 |
91 | export const clearLoginError = () => dispatch => {
92 | dispatch({
93 | type: CLEAR_LOGIN_ERROR,
94 | payload: null
95 | });
96 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/bookingactions.js:
--------------------------------------------------------------------------------
1 | import { bookingRef } from "../config/firebase";
2 | import {
3 | FETCH_BOOKINGS,
4 | FETCH_BOOKINGS_SUCCESS,
5 | FETCH_BOOKINGS_FAILED,
6 | } from "./types";
7 |
8 | export const fetchBookings = () => dispatch => {
9 | dispatch({
10 | type: FETCH_BOOKINGS,
11 | payload: null
12 | });
13 | bookingRef.on("value", snapshot => {
14 | if (snapshot.val()) {
15 | const data = snapshot.val();
16 | const arr = Object.keys(data).map(i => {
17 | data[i].id = i
18 | data[i].pickupAddress = data[i].pickup.add;
19 | data[i].dropAddress = data[i].drop.add;
20 | data[i].discount = data[i].discount_amount?data[i].discount_amount:0;
21 | data[i].cashPaymentAmount = data[i].cashPaymentAmount?data[i].cashPaymentAmount:0
22 | data[i].cardPaymentAmount = data[i].cardPaymentAmount?data[i].cardPaymentAmount:0
23 | return data[i]
24 | });
25 | dispatch({
26 | type: FETCH_BOOKINGS_SUCCESS,
27 | payload: arr
28 | });
29 | } else {
30 | dispatch({
31 | type: FETCH_BOOKINGS_FAILED,
32 | payload: "No bookings available."
33 | });
34 | }
35 | });
36 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/cartypeactions.js:
--------------------------------------------------------------------------------
1 | import { carTypesRef } from "../config/firebase";
2 | import {
3 | FETCH_CAR_TYPES,
4 | FETCH_CAR_TYPES_SUCCESS,
5 | FETCH_CAR_TYPES_FAILED,
6 | EDIT_CAR_TYPE
7 | } from "./types";
8 |
9 | export const fetchCarTypes = () => dispatch => {
10 | dispatch({
11 | type: FETCH_CAR_TYPES,
12 | payload: null
13 | });
14 | carTypesRef.on("value", snapshot => {
15 | if (snapshot.val()) {
16 | dispatch({
17 | type: FETCH_CAR_TYPES_SUCCESS,
18 | payload: snapshot.val()
19 | });
20 | } else {
21 | dispatch({
22 | type: FETCH_CAR_TYPES_FAILED,
23 | payload: "No cars available."
24 | });
25 | }
26 | });
27 | };
28 |
29 | export const editCarType = (cartypes,method) => dispatch =>{
30 | dispatch({
31 | type: EDIT_CAR_TYPE,
32 | payload: method
33 | });
34 | carTypesRef.set(cartypes);
35 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/driverearningaction.js:
--------------------------------------------------------------------------------
1 | import { bookingRef} from "../config/firebase";
2 | import {
3 | FETCH_DRIVERS_EARNING,
4 | FETCH_DRIVERS__EARNING_SUCCESS,
5 | FETCH_DRIVERS__EARNING_FAILED,
6 | } from "./types";
7 |
8 | export const fetchDriver = () => dispatch => {
9 | dispatch({
10 | type: FETCH_DRIVERS_EARNING,
11 | payload: null
12 | });
13 | bookingRef.on("value", snapshot => {
14 | if (snapshot.val()) {
15 | const mainArr = snapshot.val();
16 | var monthsName = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
17 | var renderobj = {};
18 | Object.keys(mainArr).map(j => {
19 |
20 | if(mainArr[j].status === 'END' && mainArr[j].driver_share !== undefined){
21 | let bdt = new Date(mainArr[j].tripdate);
22 | let uniqueKey = bdt.getFullYear()+'_'+bdt.getMonth()+'_'+mainArr[j].driver;
23 | if(renderobj[uniqueKey] && renderobj[uniqueKey].driverShare>0){
24 | renderobj[uniqueKey].driverShare = renderobj[uniqueKey].driverShare + mainArr[j].driver_share;
25 | }else{
26 | renderobj[uniqueKey]={};
27 | renderobj[uniqueKey]['dated'] = mainArr[j].tripdate;
28 | renderobj[uniqueKey]['year'] = bdt.getFullYear();
29 | renderobj[uniqueKey]['month'] = bdt.getMonth();
30 | renderobj[uniqueKey]['monthsName'] = monthsName[bdt.getMonth()];
31 | renderobj[uniqueKey]['driverName'] = mainArr[j].driver_name;
32 | renderobj[uniqueKey]['driverShare'] = mainArr[j].driver_share;
33 | renderobj[uniqueKey]['driverVehicleNo'] = mainArr[j].vehicle_number;
34 | renderobj[uniqueKey]['driverUId'] = mainArr[j].driver;
35 | renderobj[uniqueKey]['uniqueKey'] = uniqueKey;
36 | }
37 | }
38 | return null;
39 | });
40 | if(renderobj){
41 | const arr = Object.keys(renderobj).map(i => {
42 | renderobj[i].driverShare = parseFloat(renderobj[i].driverShare).toFixed(2)
43 | return renderobj[i]
44 | })
45 | dispatch({
46 | type: FETCH_DRIVERS__EARNING_SUCCESS,
47 | payload: arr
48 | });
49 | }
50 |
51 | } else {
52 | dispatch({
53 | type: FETCH_DRIVERS__EARNING_FAILED,
54 | payload: "No data available."
55 | });
56 | }
57 | });
58 | };
59 |
60 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/promoactions.js:
--------------------------------------------------------------------------------
1 | import { promoRef, promoEditRef} from "../config/firebase";
2 | import {
3 | FETCH_PROMOS,
4 | FETCH_PROMOS_SUCCESS,
5 | FETCH_PROMOS_FAILED,
6 | EDIT_PROMOS
7 | } from "./types";
8 |
9 | export const fetchPromos = () => dispatch => {
10 | dispatch({
11 | type: FETCH_PROMOS,
12 | payload: null
13 | });
14 | promoRef.on("value", snapshot => {
15 | if (snapshot.val()) {
16 | const data = snapshot.val();
17 | const arr = Object.keys(data).map(i => {
18 | data[i].id = i
19 | if(data[i].user_avail){
20 | data[i].promo_used_by = data[i].user_avail.count;
21 | }
22 | return data[i]
23 | });
24 | dispatch({
25 | type: FETCH_PROMOS_SUCCESS,
26 | payload: arr
27 | });
28 | } else {
29 | dispatch({
30 | type: FETCH_PROMOS_FAILED,
31 | payload: "No promos available."
32 | });
33 | }
34 | });
35 | };
36 |
37 | export const editPromo = (promos,method) => dispatch =>{
38 | dispatch({
39 | type: EDIT_PROMOS,
40 | payload: method
41 | });
42 | if(method === 'Add' ){
43 | promoRef.push(promos);
44 | }else if(method === 'Delete'){
45 | console.log(promos)
46 | promoEditRef(promos.id).remove();
47 | }else{
48 | console.log(promos)
49 | promoEditRef(promos.id).set(promos);
50 | }
51 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/referralactions.js:
--------------------------------------------------------------------------------
1 | import { referralRef } from "../config/firebase";
2 | import {
3 | FETCH_REFERRAL_BONUS,
4 | FETCH_REFERRAL_BONUS_SUCCESS,
5 | FETCH_REFERRAL_BONUS_FAILED,
6 | EDIT_REFERRAL_BONUS,
7 | CLEAR_REFERRAL_ERROR
8 | } from "./types";
9 |
10 | export const fetchBonus = () => dispatch => {
11 | dispatch({
12 | type: FETCH_REFERRAL_BONUS,
13 | payload: null
14 | });
15 | referralRef.on("value", snapshot => {
16 | if (snapshot.val()) {
17 | dispatch({
18 | type: FETCH_REFERRAL_BONUS_SUCCESS,
19 | payload: snapshot.val()
20 | });
21 | } else {
22 | dispatch({
23 | type: FETCH_REFERRAL_BONUS_FAILED,
24 | payload: "No bonus available."
25 | });
26 | }
27 | });
28 | };
29 |
30 | export const editBonus = (bonus,method) => dispatch =>{
31 | dispatch({
32 | type: EDIT_REFERRAL_BONUS,
33 | payload: method
34 | });
35 | referralRef.set(bonus);
36 | }
37 |
38 | export const clearReferralError = () => dispatch => {
39 | dispatch({
40 | type: CLEAR_REFERRAL_ERROR,
41 | payload: null
42 | });
43 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/settingsactions.js:
--------------------------------------------------------------------------------
1 | import { settingsRef } from "../config/firebase";
2 | import {
3 | FETCH_SETTINGS,
4 | FETCH_SETTINGS_SUCCESS,
5 | FETCH_SETTINGS_FAILED,
6 | EDIT_SETTINGS,
7 | CLEAR_SETTINGS_ERROR
8 | } from "./types";
9 |
10 | export const fetchSettings = () => dispatch => {
11 | dispatch({
12 | type: FETCH_SETTINGS,
13 | payload: null
14 | });
15 | settingsRef.on("value", snapshot => {
16 | if (snapshot.val()) {
17 | dispatch({
18 | type: FETCH_SETTINGS_SUCCESS,
19 | payload: snapshot.val()
20 | });
21 | } else {
22 | dispatch({
23 | type: FETCH_SETTINGS_FAILED,
24 | payload: "No settings available."
25 | });
26 | }
27 | });
28 | };
29 |
30 | export const editSettings = (settings) => dispatch =>{
31 | dispatch({
32 | type: EDIT_SETTINGS,
33 | payload: settings
34 | });
35 | settingsRef.set(settings);
36 | }
37 |
38 | export const clearSettingsViewError = () => dispatch => {
39 | dispatch({
40 | type: CLEAR_SETTINGS_ERROR,
41 | payload: null
42 | });
43 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/types.js:
--------------------------------------------------------------------------------
1 | export const FETCH_USER = "FETCH_USER";
2 | export const FETCH_USER_SUCCESS = "FETCH_USER_SUCCESS";
3 | export const FETCH_USER_FAILED = "FETCH_USER_FAILED";
4 | export const USER_SIGN_IN = "USER_SIGN_IN";
5 | export const USER_SIGN_IN_FAILED = "SIGN_IN_FAILED";
6 | export const USER_SIGN_OUT = "USER_SIGN_OUT";
7 | export const CLEAR_LOGIN_ERROR = "CLEAR_LOGIN_ERROR";
8 |
9 | export const FETCH_CAR_TYPES = "FETCH_CAR_TYPES";
10 | export const FETCH_CAR_TYPES_SUCCESS = "FETCH_CAR_TYPES_SUCCESS";
11 | export const FETCH_CAR_TYPES_FAILED = "FETCH_CAR_TYPES_FAILED";
12 | export const EDIT_CAR_TYPE = "EDIT_CAR_TYPE";
13 |
14 | export const FETCH_BOOKINGS= "FETCH_BOOKINGS";
15 | export const FETCH_BOOKINGS_SUCCESS = "FETCH_BOOKINGS_SUCCESS";
16 | export const FETCH_BOOKINGS_FAILED = "FETCH_BOOKINGS_FAILED";
17 |
18 | export const FETCH_PROMOS= "FETCH_PROMOS";
19 | export const FETCH_PROMOS_SUCCESS = "FETCH_PROMOS_SUCCESS";
20 | export const FETCH_PROMOS_FAILED = "FETCH_PROMOS_FAILED";
21 | export const EDIT_PROMOS = "EDIT_PROMOS";
22 |
23 | export const FETCH_ALL_USERS= "FETCH_ALL_USERS";
24 | export const FETCH_ALL_USERS_SUCCESS = "FETCH_ALL_USERS_SUCCESS";
25 | export const FETCH_ALL_USERS_FAILED = "FETCH_ALL_USERS_FAILED";
26 | export const EDIT_USER = "EDIT_USER";
27 | export const EDIT_USER_SUCCESS = "EDIT_USER_SUCCESS";
28 | export const EDIT_USER_FAILED = "EDIT_USER_FAILED";
29 | export const DELETE_USER = "DELETE_USER";
30 | export const DELETE_USER_SUCCESS = "DELETE_USER_SUCCESS";
31 | export const DELETE_USER_FAILED = "DELETE_USER_FAILED";
32 |
33 | export const FETCH_REFERRAL_BONUS= "FETCH_REFERRAL_BONUS";
34 | export const FETCH_REFERRAL_BONUS_SUCCESS = "FETCH_REFERRAL_BONUS_SUCCESS";
35 | export const FETCH_REFERRAL_BONUS_FAILED = "FETCH_REFERRAL_BONUS_FAILED";
36 | export const EDIT_REFERRAL_BONUS = "EDIT_REFERRAL_BONUS";
37 | export const CLEAR_REFERRAL_ERROR = "CLEAR_REFERRAL_ERROR";
38 |
39 | export const FETCH_NOTIFICATIONS = "FETCH_NOTIFICATIONS";
40 | export const FETCH_NOTIFICATIONS_SUCCESS = "FETCH_NOTIFICATIONS_SUCCESS";
41 | export const FETCH_NOTIFICATIONS_FAILED = "FETCH_NOTIFICATIONS_FAILED";
42 | export const EDIT_NOTIFICATIONS = "EDIT_NOTIFICATIONS";
43 | export const SEND_NOTIFICATION = "SEND_NOTIFICATION";
44 | export const SEND_NOTIFICATION_SUCCESS = "SEND_NOTIFICATION_SUCCESS";
45 | export const SEND_NOTIFICATION_FAILED = "SEND_NOTIFICATION_FAILED";
46 |
47 | export const FETCH_DRIVERS_EARNING = "FETCH_DRIVERS_EARNING";
48 | export const FETCH_DRIVERS__EARNING_SUCCESS = "FETCH_DRIVERS__EARNING_SUCCESS";
49 | export const FETCH_DRIVERS__EARNING_FAILED = "FETCH_DRIVERS__EARNING_FAILED";
50 |
51 |
52 | export const FETCH_BOOKING_DISCOUNT = "FETCH_BOOKING_DISCOUNT";
53 | export const FETCH_BOOKING__DISCOUNT_SUCCESS = "FETCH_BOOKING__DISCOUNT_SUCCESS";
54 | export const FETCH_BOOKING__DISCOUNT_FAILED = "FETCH_BOOKING__DISCOUNT_FAILED";
55 | export const EDIT_BOOKING__DISCOUNT = "EDIT_BOOKING__DISCOUNT";
56 |
57 | export const FETCH_SETTINGS = "FETCH_SETTINGS";
58 | export const FETCH_SETTINGS_SUCCESS = "FETCH_SETTINGS_SUCCESS";
59 | export const FETCH_SETTINGS_FAILED = "FETCH_SETTINGS_FAILED";
60 | export const EDIT_SETTINGS = "EDIT_SETTINGS";
61 | export const CLEAR_SETTINGS_ERROR = "CLEAR_SETTINGS_ERROR";
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/actions/usersactions.js:
--------------------------------------------------------------------------------
1 | import { userRef, singleUserRef } from "../config/firebase";
2 | import {
3 | FETCH_ALL_USERS,
4 | FETCH_ALL_USERS_SUCCESS,
5 | FETCH_ALL_USERS_FAILED,
6 | EDIT_USER,
7 | EDIT_USER_SUCCESS,
8 | EDIT_USER_FAILED,
9 | DELETE_USER,
10 | DELETE_USER_SUCCESS,
11 | DELETE_USER_FAILED,
12 | } from "./types";
13 |
14 | export const fetchUsers = () => dispatch => {
15 | dispatch({
16 | type: FETCH_ALL_USERS,
17 | payload: null
18 | });
19 | userRef.on("value", snapshot => {
20 | if (snapshot.val()) {
21 | const data = snapshot.val();
22 | const arr = Object.keys(data).map(i => {
23 | data[i].id = i
24 | return data[i]
25 | });
26 | dispatch({
27 | type: FETCH_ALL_USERS_SUCCESS,
28 | payload: arr
29 | });
30 | } else {
31 | dispatch({
32 | type: FETCH_ALL_USERS_FAILED,
33 | payload: "No users available."
34 | });
35 | }
36 | });
37 | };
38 |
39 | export const editUser = (id,user) => dispatch =>{
40 | dispatch({
41 | type: EDIT_USER,
42 | payload: user
43 | });
44 | let editedUser = user;
45 | if(user.refferalBonus) editedUser.refferalBonus = parseFloat(editedUser.refferalBonus);
46 | delete editedUser.id;
47 | singleUserRef(id).set(editedUser).then(()=>{
48 | dispatch({
49 | type: EDIT_USER_SUCCESS,
50 | payload: null
51 | });
52 | }).catch((error)=>{
53 | dispatch({
54 | type: EDIT_USER_FAILED,
55 | payload: error
56 | });
57 | });
58 | }
59 |
60 | export const deleteUser = (id) => dispatch =>{
61 | dispatch({
62 | type: DELETE_USER,
63 | payload: id
64 | });
65 |
66 | singleUserRef(id).remove().then(()=>{
67 | dispatch({
68 | type: DELETE_USER_SUCCESS,
69 | payload: null
70 | });
71 | }).catch((error)=>{
72 | dispatch({
73 | type: DELETE_USER_FAILED,
74 | payload: error
75 | });
76 | });
77 |
78 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/assets/car.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/src/assets/car.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/src/assets/logo.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/assets/money1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/src/assets/money1.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/assets/money2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/src/assets/money2.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/assets/money3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/src/assets/money3.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/assets/money4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/src/assets/money4.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/assets/sidemenu_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabAdmin_code/src/assets/sidemenu_logo.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/components/AlertDialog.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Button from '@material-ui/core/Button';
3 | import Dialog from '@material-ui/core/Dialog';
4 | import DialogActions from '@material-ui/core/DialogActions';
5 | import DialogContent from '@material-ui/core/DialogContent';
6 | import DialogContentText from '@material-ui/core/DialogContentText';
7 | import DialogTitle from '@material-ui/core/DialogTitle';
8 |
9 | export default function AlertDialog(props) {
10 | const { open,onClose,children } = props;
11 | return (
12 |
30 | );
31 | }
32 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/components/AuthLoading.js:
--------------------------------------------------------------------------------
1 | import React,{ useEffect } from 'react';
2 | import CircularLoading from "./CircularLoading";
3 | import { useSelector, useDispatch } from "react-redux";
4 | import { fetchCarTypes } from "../actions/cartypeactions";
5 | import { fetchBookings } from "../actions/bookingactions";
6 | import { fetchPromos } from "../actions/promoactions";
7 | import { fetchDriver } from "../actions/driverearningaction";
8 | import { fetchUsers } from "../actions/usersactions";
9 | import { fetchBonus } from "../actions/referralactions";
10 | import { fetchNotifications } from "../actions/notificationactions";
11 | import { fetchEarningreports } from "../actions/earningreportsaction";
12 | import { fetchSettings } from '../actions/settingsactions';
13 |
14 | function AuthLoading(props) {
15 | const dispatch = useDispatch();
16 | const auth = useSelector(state => state.auth);
17 | useEffect(()=>{
18 | if(auth.info){
19 | dispatch(fetchUsers());
20 | dispatch(fetchBookings());
21 | dispatch(fetchCarTypes());
22 | dispatch(fetchPromos());
23 | dispatch(fetchDriver());
24 | dispatch(fetchBonus());
25 | dispatch(fetchNotifications());
26 | dispatch(fetchEarningreports());
27 | dispatch(fetchSettings());
28 | }
29 |
30 | },[auth.info,dispatch]);
31 |
32 | return (
33 | auth.loading? :props.children
34 | )
35 | }
36 |
37 | export default AuthLoading;
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/components/CircularLoading.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import CircularProgress from '@material-ui/core/CircularProgress';
3 | import { Grid } from '@material-ui/core';
4 |
5 | function CircularLoading() {
6 |
7 | return (
8 |
15 |
16 |
17 | )
18 | }
19 |
20 | export default CircularLoading;
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/components/DashboardCard.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { makeStyles } from '@material-ui/core/styles';
3 | import Card from '@material-ui/core/Card';
4 | import CardContent from '@material-ui/core/CardContent';
5 | import CardMedia from '@material-ui/core/CardMedia';
6 | import Typography from '@material-ui/core/Typography';
7 |
8 | const useStyles = makeStyles(theme => ({
9 | card: {
10 | display: 'flex',
11 | },
12 | details: {
13 | display: 'flex',
14 | flexDirection: 'column',
15 | },
16 | content: {
17 | flex: '1 0 auto',
18 | },
19 | cover: {
20 | width: 151,
21 | }
22 |
23 | }));
24 |
25 | export default function MediaControlCard(props) {
26 | const classes = useStyles();
27 |
28 | return (
29 |
30 |
35 |
36 |
37 |
38 | {props.title}
39 |
40 |
41 | {props.children}
42 |
43 |
44 |
45 |
46 | );
47 | }
48 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/components/Map.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | withScriptjs,
4 | withGoogleMap,
5 | GoogleMap,
6 | Marker,
7 | InfoWindow
8 | } from "react-google-maps";
9 |
10 | const Map = withScriptjs(withGoogleMap(props =>
11 |
15 | {props.locations.map(marker => (
16 |
21 |
22 | {marker.drivername}
23 |
24 |
25 | ))}
26 |
27 | ));
28 |
29 | export default Map;
30 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/components/ProtectedRoute.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {Route,Redirect} from 'react-router-dom';
3 | import { useSelector } from "react-redux";
4 | import ResponsiveDrawer from './ResponsiveDrawer';
5 |
6 | function ProtectedRoute({ component: Component, ...rest }) {
7 | const auth = useSelector(state => state.auth);
8 | return(
9 | (
10 | auth.info ?
11 |
12 | :
13 | )} />
14 | )
15 | }
16 |
17 | export default ProtectedRoute;
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/config/dev.js:
--------------------------------------------------------------------------------
1 | export const FirebaseConfig = {
2 | apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
3 | authDomain: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
4 | databaseURL: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
5 | projectId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
6 | storageBucket: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
7 | messagingSenderId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
8 | appId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
9 | measurementId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
10 | };
11 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/config/firebase.js:
--------------------------------------------------------------------------------
1 | import firebase from 'firebase/app';
2 | import 'firebase/database';
3 | import 'firebase/auth';
4 |
5 | import { FirebaseConfig } from "./keys";
6 | firebase.initializeApp(FirebaseConfig);
7 |
8 | const databaseRef = firebase.database().ref();
9 | export const authRef = firebase.auth();
10 |
11 | export const FIREBASE_AUTH_PERSIST = firebase.auth.Auth.Persistence.LOCAL;
12 |
13 | export const bookingRef = databaseRef.child("bookings");
14 | export const carTypesRef = databaseRef.child("rates/car_type");
15 | export const promoRef = databaseRef.child("offers");
16 | export const promoEditRef = (id) => databaseRef.child("offers/"+ id);
17 | export const userRef = databaseRef.child("users");
18 | export const notifyRef = databaseRef.child("notifications/");
19 | export const notifyEditRef = (id) => databaseRef.child("notifications/"+ id);
20 | export const referralRef = databaseRef.child("referral/bonus/amount");
21 | export const singleUserRef = (uid) => databaseRef.child("users/" + uid);
22 | export const settingsRef = databaseRef.child("settings");
23 |
24 |
25 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/config/keys.js:
--------------------------------------------------------------------------------
1 | if (process.env.NODE_ENV === "production") {
2 | module.exports = require("./prod");
3 | } else {
4 | module.exports = require("./dev");
5 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/config/prod.js:
--------------------------------------------------------------------------------
1 | export const FirebaseConfig = {
2 | apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
3 | authDomain: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
4 | databaseURL: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
5 | projectId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
6 | storageBucket: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
7 | messagingSenderId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
8 | appId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
9 | measurementId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
10 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import * as serviceWorker from './serviceWorker';
6 |
7 | ReactDOM.render(, document.getElementById('root'));
8 |
9 | // If you want your app to work offline and load faster, you can change
10 | // unregister() to register() below. Note this comes with some pitfalls.
11 | // Learn more about service workers: https://bit.ly/CRA-PWA
12 | serviceWorker.unregister();
13 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/authreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_USER,
3 | FETCH_USER_SUCCESS,
4 | FETCH_USER_FAILED,
5 | USER_SIGN_IN,
6 | USER_SIGN_IN_FAILED,
7 | USER_SIGN_OUT,
8 | CLEAR_LOGIN_ERROR
9 | } from "../actions/types";
10 |
11 | export const INITIAL_STATE = {
12 | info:null,
13 | loading: false,
14 | error:{
15 | flag:false,
16 | msg: null
17 | }
18 | }
19 |
20 | export default (state = INITIAL_STATE, action) => {
21 | switch (action.type) {
22 | case FETCH_USER:
23 | return {
24 | ...state,
25 | loading:true
26 | };
27 | case FETCH_USER_SUCCESS:
28 | return {
29 | ...state,
30 | info:action.payload,
31 | loading:false
32 | };
33 | case FETCH_USER_FAILED:
34 | return {
35 | ...state,
36 | loading:false,
37 | info:null
38 | };
39 | case USER_SIGN_IN:
40 | return {
41 | ...state,
42 | loading:true
43 | };
44 | case USER_SIGN_IN_FAILED:
45 | return {
46 | ...state,
47 | info:null,
48 | loading:false,
49 | error:{
50 | flag:true,
51 | msg:action.payload
52 | }
53 | };
54 | case USER_SIGN_OUT:
55 | return INITIAL_STATE;
56 | case CLEAR_LOGIN_ERROR:
57 | return {
58 | ...state,
59 | error:{
60 | flag:false,
61 | msg:null
62 | }
63 | };
64 | default:
65 | return state;
66 | }
67 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/bookingsreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_BOOKINGS,
3 | FETCH_BOOKINGS_SUCCESS,
4 | FETCH_BOOKINGS_FAILED,
5 | } from "../actions/types";
6 |
7 | export const INITIAL_STATE = {
8 | bookings:null,
9 | loading: false,
10 | error:{
11 | flag:false,
12 | msg: null
13 | }
14 | }
15 |
16 | export default (state = INITIAL_STATE, action) => {
17 | switch (action.type) {
18 | case FETCH_BOOKINGS:
19 | return {
20 | ...state,
21 | loading:true
22 | };
23 | case FETCH_BOOKINGS_SUCCESS:
24 | return {
25 | ...state,
26 | bookings:action.payload,
27 | loading:false
28 | };
29 | case FETCH_BOOKINGS_FAILED:
30 | return {
31 | ...state,
32 | bookings:null,
33 | loading:false,
34 | error:{
35 | flag:true,
36 | msg:action.payload
37 | }
38 | };
39 | default:
40 | return state;
41 | }
42 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/cartypesreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_CAR_TYPES,
3 | FETCH_CAR_TYPES_SUCCESS,
4 | FETCH_CAR_TYPES_FAILED,
5 | EDIT_CAR_TYPE
6 | } from "../actions/types";
7 |
8 | export const INITIAL_STATE = {
9 | cars:null,
10 | loading: false,
11 | error:{
12 | flag:false,
13 | msg: null
14 | }
15 | }
16 |
17 | export default (state = INITIAL_STATE, action) => {
18 | switch (action.type) {
19 | case FETCH_CAR_TYPES:
20 | return {
21 | ...state,
22 | loading:true
23 | };
24 | case FETCH_CAR_TYPES_SUCCESS:
25 | return {
26 | ...state,
27 | cars:action.payload,
28 | loading:false
29 | };
30 | case FETCH_CAR_TYPES_FAILED:
31 | return {
32 | ...state,
33 | cars:null,
34 | loading:false,
35 | error:{
36 | flag:true,
37 | msg:action.payload
38 | }
39 | };
40 | case EDIT_CAR_TYPE:
41 | return state;
42 | default:
43 | return state;
44 | }
45 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/driverearningreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_DRIVERS_EARNING,
3 | FETCH_DRIVERS__EARNING_SUCCESS,
4 | FETCH_DRIVERS__EARNING_FAILED,
5 | } from "../actions/types";
6 |
7 | export const INITIAL_STATE = {
8 | driverearnings:null,
9 | loading: false,
10 | error:{
11 | flag:false,
12 | msg: null
13 | }
14 | }
15 |
16 | export default (state = INITIAL_STATE, action) => {
17 | switch (action.type) {
18 | case FETCH_DRIVERS_EARNING:
19 | return {
20 | ...state,
21 | loading:true
22 | };
23 | case FETCH_DRIVERS__EARNING_SUCCESS:
24 | return {
25 | ...state,
26 | driverearnings:action.payload,
27 | loading:false
28 | };
29 | case FETCH_DRIVERS__EARNING_FAILED:
30 | return {
31 | ...state,
32 | driverearnings:null,
33 | loading:false,
34 | error:{
35 | flag:true,
36 | msg:action.payload
37 | }
38 | };
39 | default:
40 | return state;
41 |
42 | }
43 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/earningreportsreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_BOOKING_DISCOUNT,
3 | FETCH_BOOKING__DISCOUNT_SUCCESS,
4 | FETCH_BOOKING__DISCOUNT_FAILED,
5 | } from "../actions/types";
6 |
7 | export const INITIAL_STATE = {
8 | Earningreportss:null,
9 | loading: false,
10 | error:{
11 | flag:false,
12 | msg: null
13 | }
14 | }
15 |
16 | export default (state = INITIAL_STATE, action) => {
17 | switch (action.type) {
18 | case FETCH_BOOKING_DISCOUNT:
19 | return {
20 | ...state,
21 | loading:true
22 | };
23 | case FETCH_BOOKING__DISCOUNT_SUCCESS:
24 | return {
25 | ...state,
26 | Earningreportss:action.payload,
27 | loading:false
28 | };
29 | case FETCH_BOOKING__DISCOUNT_FAILED:
30 | return {
31 | ...state,
32 | Earningreportss:null,
33 | loading:false,
34 | error:{
35 | flag:true,
36 | msg:action.payload
37 | }
38 | };
39 | default:
40 | return state;
41 | }
42 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/notificationreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_NOTIFICATIONS,
3 | FETCH_NOTIFICATIONS_SUCCESS,
4 | FETCH_NOTIFICATIONS_FAILED,
5 | } from "../actions/types";
6 |
7 | export const INITIAL_STATE = {
8 | notifications:null,
9 | loading: false,
10 | error:{
11 | flag:false,
12 | msg: null
13 | }
14 | }
15 |
16 | export default (state = INITIAL_STATE, action) => {
17 | switch (action.type) {
18 | case FETCH_NOTIFICATIONS:
19 | return {
20 | ...state,
21 | loading:true
22 | };
23 | case FETCH_NOTIFICATIONS_SUCCESS:
24 | return {
25 | ...state,
26 | notifications:action.payload,
27 | loading:false
28 | };
29 | case FETCH_NOTIFICATIONS_FAILED:
30 | return {
31 | ...state,
32 | notifications:null,
33 | loading:false,
34 | error:{
35 | flag:true,
36 | msg:action.payload
37 | }
38 | };
39 | default:
40 | return state;
41 | }
42 | };
43 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/promoreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_PROMOS,
3 | FETCH_PROMOS_SUCCESS,
4 | FETCH_PROMOS_FAILED,
5 | EDIT_PROMOS
6 | } from "../actions/types";
7 |
8 | export const INITIAL_STATE = {
9 | promos:null,
10 | loading: false,
11 | error:{
12 | flag:false,
13 | msg: null
14 | }
15 | }
16 |
17 | export default (state = INITIAL_STATE, action) => {
18 | switch (action.type) {
19 | case FETCH_PROMOS:
20 | return {
21 | ...state,
22 | loading:true
23 | };
24 | case FETCH_PROMOS_SUCCESS:
25 | return {
26 | ...state,
27 | promos:action.payload,
28 | loading:false
29 | };
30 | case FETCH_PROMOS_FAILED:
31 | return {
32 | ...state,
33 | promos:null,
34 | loading:false,
35 | error:{
36 | flag:true,
37 | msg:action.payload
38 | }
39 | };
40 | case EDIT_PROMOS:
41 | return state;
42 | default:
43 | return state;
44 | }
45 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/referralreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_REFERRAL_BONUS,
3 | FETCH_REFERRAL_BONUS_SUCCESS,
4 | FETCH_REFERRAL_BONUS_FAILED,
5 | EDIT_REFERRAL_BONUS,
6 | CLEAR_REFERRAL_ERROR
7 | } from "../actions/types";
8 |
9 | export const INITIAL_STATE = {
10 | bonus:null,
11 | loading: false,
12 | error:{
13 | flag:false,
14 | msg: null
15 | }
16 | }
17 |
18 | export default (state = INITIAL_STATE, action) => {
19 | switch (action.type) {
20 | case FETCH_REFERRAL_BONUS:
21 | return {
22 | ...state,
23 | loading:true
24 | };
25 | case FETCH_REFERRAL_BONUS_SUCCESS:
26 | return {
27 | ...state,
28 | bonus:action.payload,
29 | loading:false
30 | };
31 | case FETCH_REFERRAL_BONUS_FAILED:
32 | return {
33 | ...state,
34 | bonus:null,
35 | loading:false,
36 | error:{
37 | flag:true,
38 | msg:action.payload
39 | }
40 | };
41 | case EDIT_REFERRAL_BONUS:
42 | return state;
43 | case CLEAR_REFERRAL_ERROR:
44 | return {
45 | ...state,
46 | error:{
47 | flag:false,
48 | msg:null
49 | }
50 | };
51 | default:
52 | return state;
53 | }
54 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/settingsreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_SETTINGS,
3 | FETCH_SETTINGS_SUCCESS,
4 | FETCH_SETTINGS_FAILED,
5 | EDIT_SETTINGS,
6 | CLEAR_SETTINGS_ERROR
7 | } from "../actions/types";
8 |
9 | export const INITIAL_STATE = {
10 | settings:null,
11 | loading: false,
12 | error:{
13 | flag:false,
14 | msg: null
15 | }
16 | }
17 |
18 | export default (state = INITIAL_STATE, action) => {
19 | switch (action.type) {
20 | case FETCH_SETTINGS:
21 | return {
22 | ...state,
23 | loading:true
24 | };
25 | case FETCH_SETTINGS_SUCCESS:
26 | return {
27 | ...state,
28 | settings:action.payload,
29 | loading:false
30 | };
31 | case FETCH_SETTINGS_FAILED:
32 | return {
33 | ...state,
34 | settings:null,
35 | loading:false,
36 | error:{
37 | flag:true,
38 | msg:action.payload
39 | }
40 | };
41 | case FETCH_SETTINGS_FAILED:
42 | return {
43 | ...state,
44 | settings:null,
45 | loading:false,
46 | error:{
47 | flag:true,
48 | msg:action.payload
49 | }
50 | };
51 | case EDIT_SETTINGS:
52 | return state;
53 | case CLEAR_SETTINGS_ERROR:
54 | return {
55 | ...state,
56 | error:{
57 | flag:false,
58 | msg:null
59 | }
60 | };
61 | default:
62 | return state;
63 | }
64 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/store.js:
--------------------------------------------------------------------------------
1 |
2 | import { createStore, combineReducers, applyMiddleware } from "redux";
3 | import thunk from "redux-thunk";
4 | import logger from 'redux-logger'
5 |
6 | import auth from "./authreducer";
7 | import cartypes from "./cartypesreducer";
8 | import bookingdata from "./bookingsreducer";
9 | import promodata from "./promoreducer";
10 | import usersdata from "./usersreducer";
11 | import referraldata from "./referralreducer";
12 | import notificationdata from "./notificationreducer";
13 | import driverearningdata from './driverearningreducer';
14 | import Earningreportsdata from './earningreportsreducer';
15 | import settingsdata from './settingsreducer';
16 |
17 | const reducers = combineReducers({
18 | auth,
19 | cartypes,
20 | bookingdata,
21 | promodata,
22 | usersdata,
23 | referraldata,
24 | notificationdata,
25 | driverearningdata,
26 | Earningreportsdata,
27 | settingsdata
28 | });
29 |
30 | let middleware = [];
31 | if (process.env.NODE_ENV === 'development') {
32 | middleware = [...middleware, thunk, logger];
33 | } else {
34 | middleware = [...middleware, thunk];
35 | }
36 |
37 | export const store = createStore(reducers, {}, applyMiddleware(...middleware));
38 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/reducers/usersreducer.js:
--------------------------------------------------------------------------------
1 | import {
2 | FETCH_ALL_USERS,
3 | FETCH_ALL_USERS_SUCCESS,
4 | FETCH_ALL_USERS_FAILED,
5 | } from "../actions/types";
6 |
7 | export const INITIAL_STATE = {
8 | users:null,
9 | loading: false,
10 | error:{
11 | flag:false,
12 | msg: null
13 | }
14 | }
15 |
16 | export default (state = INITIAL_STATE, action) => {
17 | switch (action.type) {
18 | case FETCH_ALL_USERS:
19 | return {
20 | ...state,
21 | loading:true
22 | };
23 | case FETCH_ALL_USERS_SUCCESS:
24 | return {
25 | ...state,
26 | users:action.payload,
27 | loading:false
28 | };
29 | case FETCH_ALL_USERS_FAILED:
30 | return {
31 | ...state,
32 | users:null,
33 | loading:false,
34 | error:{
35 | flag:true,
36 | msg:action.payload
37 | }
38 | };
39 | default:
40 | return state;
41 | }
42 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/views/Bookings.js:
--------------------------------------------------------------------------------
1 | import React,{ useState,useEffect } from 'react';
2 | import MaterialTable from 'material-table';
3 | import CircularLoading from "../components/CircularLoading";
4 | import { useSelector } from "react-redux";
5 | import languageJson from "../config/language";
6 | export default function Bookings() {
7 | const columns = [
8 | { title: languageJson.booking_date, field: 'tripdate' },
9 | { title: languageJson.trip_start_time, field: 'trip_start_time' },
10 | { title: languageJson.trip_end_time, field: 'trip_end_time' },
11 | { title: languageJson.customer_name,field: 'customer_name'},
12 | { title: languageJson.car_type, field: 'carType' },
13 | { title: languageJson.vehicle_no, field: 'vehicle_number' },
14 | { title: languageJson.pickup_address, field: 'pickupAddress' },
15 | { title: languageJson.drop_address, field: 'dropAddress' },
16 | { title: languageJson.assign_driver, field: 'driver_name' },
17 | { title: languageJson.booking_status, field: 'status' },
18 | { title: languageJson.trip_cost_driver_share, field: 'driver_share'},
19 | { title: languageJson.convenience_fee, field: 'convenience_fees'},
20 | { title: languageJson.Gross_trip_cost, field: 'trip_cost' },
21 | { title: languageJson.discount_ammount, field: 'discount'},
22 | { title: languageJson.Customer_paid, field: 'customer_paid'},
23 | { title: languageJson.payment_status, field: 'payment_status'},
24 | { title: languageJson.payment_mode, field: 'payment_mode'},
25 | { title: languageJson.payment_getway, field: 'getway'},
26 | { title: languageJson.cash_payment_amount, field: 'cashPaymentAmount'},
27 | { title: languageJson.card_payment_amount, field: 'cardPaymentAmount'},
28 | { title: languageJson.wallet_payment_amount, field: 'usedWalletMoney'},
29 |
30 | ];
31 |
32 | const [data, setData] = useState([]);
33 | const bookingdata = useSelector(state => state.bookingdata);
34 |
35 | useEffect(()=>{
36 | if(bookingdata.bookings){
37 | setData(bookingdata.bookings);
38 | }
39 | },[bookingdata.bookings]);
40 |
41 | return (
42 | bookingdata.loading? :
43 |
51 | );
52 | }
53 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/views/CarTypes.js:
--------------------------------------------------------------------------------
1 | import React,{ useState,useEffect } from 'react';
2 | import MaterialTable from 'material-table';
3 | import { useSelector, useDispatch } from "react-redux";
4 | import CircularLoading from "../components/CircularLoading";
5 | import languageJson from "../config/language";
6 | import {
7 | editCarType
8 | } from "../actions/cartypeactions";
9 |
10 | export default function CarTypes() {
11 | const columns = [
12 | { title: languageJson.image,field: 'image',render: rowData =>
},
13 | { title: languageJson.name, field: 'name' },
14 | { title: languageJson.rate_per_km, field: 'rate_per_kilometer', type: 'numeric' },
15 | { title: languageJson.rate_per_hour,field: 'rate_per_hour', type: 'numeric'},
16 | { title: languageJson.min_fare,field: 'min_fare', type: 'numeric'},
17 | { title: languageJson.convenience_fee_percent,field: 'convenience_fees', type: 'numeric'}
18 | ];
19 | const [data, setData] = useState([]);
20 | const cartypes = useSelector(state => state.cartypes);
21 | const dispatch = useDispatch();
22 |
23 | useEffect(()=>{
24 | if(cartypes.cars){
25 | setData(cartypes.cars);
26 | }
27 | },[cartypes.cars]);
28 |
29 | const removeExtraKeys = (tblData) =>{
30 | for(let i = 0;i:
40 |
49 | new Promise(resolve => {
50 | setTimeout(() => {
51 | resolve();
52 | const tblData = data;
53 | tblData.push(newData);
54 | dispatch(editCarType(removeExtraKeys(tblData),"Add"));
55 | }, 600);
56 | }),
57 | onRowUpdate: (newData, oldData) =>
58 | new Promise(resolve => {
59 | setTimeout(() => {
60 | resolve();
61 | const tblData = data;
62 | tblData[tblData.indexOf(oldData)] = newData;
63 | dispatch(editCarType(removeExtraKeys(tblData),"Update"));
64 | }, 600);
65 | }),
66 | onRowDelete: oldData =>
67 | new Promise(resolve => {
68 | setTimeout(() => {
69 | resolve();
70 | const tblData = data;
71 | tblData.splice(tblData.indexOf(oldData), 1);
72 | dispatch(editCarType(removeExtraKeys(tblData),"Delete"));
73 | }, 600);
74 | }),
75 | }}
76 | />
77 | );
78 | }
79 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/views/DriverEarning.js:
--------------------------------------------------------------------------------
1 | import React,{ useState,useEffect } from 'react';
2 | import MaterialTable from 'material-table';
3 | import { useSelector } from "react-redux";
4 | import CircularLoading from "../components/CircularLoading";
5 | import languageJson from "../config/language";
6 |
7 | export default function DriverEarning() {
8 |
9 | const columns = [
10 | { title: languageJson.year,field: 'year'},
11 | { title: languageJson.months, field: 'monthsName' },
12 | { title: languageJson.driver_name, field: 'driverName'},
13 | { title: languageJson.vehicle_type, field: 'driverVehicleNo' },
14 | { title: languageJson.earning_amount, field: 'driverShare' },
15 |
16 | ];
17 |
18 | const [data, setData] = useState([]);
19 | const driverearningdata = useSelector(state => state.driverearningdata);
20 |
21 | useEffect(()=>{
22 | if(driverearningdata.driverearnings){
23 | setData(driverearningdata.driverearnings);
24 | }
25 | },[driverearningdata.driverearnings]);
26 |
27 | return (
28 | driverearningdata.loading? :
29 |
40 | );
41 | }
42 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/views/Earningreports.js:
--------------------------------------------------------------------------------
1 | import React,{ useState,useEffect } from 'react';
2 | import MaterialTable from 'material-table';
3 | import { useSelector} from "react-redux";
4 | import CircularLoading from "../components/CircularLoading";
5 | import languageJson from "../config/language";
6 |
7 | export default function Earningreports() {
8 |
9 | const columns = [
10 | { title: languageJson.year,field: 'year'},
11 | { title: languageJson.months, field: 'monthsName' },
12 | { title: languageJson.trip_cost_driver_share, field: 'rideCost' },
13 | { title: languageJson.convenience_fee, field: 'convenienceFee' },
14 | { title: languageJson.Gross_trip_cost, field: 'tripCost' },
15 | { title: languageJson.Discounts, field: 'discountAmount' },
16 | { title: languageJson.Customer_paid, field: 'customerPaid' },
17 | { title: languageJson.Profit, field: 'myEarning' },
18 |
19 | ];
20 |
21 | const [data, setData] = useState([]);
22 | const Earningreportsdata = useSelector(state => state.Earningreportsdata);
23 |
24 | useEffect(()=>{
25 | if(Earningreportsdata.Earningreportss){
26 | setData(Earningreportsdata.Earningreportss);
27 | }
28 | },[Earningreportsdata.Earningreportss]);
29 |
30 | return (
31 | Earningreportsdata.loading? :
32 |
41 | );
42 | }
43 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/views/Notifications.js:
--------------------------------------------------------------------------------
1 | import React,{ useState,useEffect } from 'react';
2 | import MaterialTable from 'material-table';
3 | import { useSelector, useDispatch } from "react-redux";
4 | import CircularLoading from "../components/CircularLoading";
5 | import languageJson from "../config/language";
6 |
7 | import {
8 | sendNotification,
9 | editNotifications
10 | } from "../actions/notificationactions";
11 |
12 | export default function Notifications() {
13 | const columns = [
14 | {
15 | title: languageJson.device_type,
16 | field: 'devicetype',
17 | lookup: { All: 'All', ANDROID: 'Android', IOS: 'iOS' },
18 | },
19 | {
20 | title: languageJson.user_type,
21 | field: 'usertype',
22 | lookup: { All: 'All', rider: 'Rider', driver:'Driver' },
23 | },
24 | { title: languageJson.title,field: 'title'},
25 | { title: languageJson.body, field: 'body' },
26 | ];
27 |
28 | const [data, setData] = useState([]);
29 | const notificationdata = useSelector(state => state.notificationdata);
30 | const dispatch = useDispatch();
31 |
32 | useEffect(()=>{
33 | if(notificationdata.notifications){
34 | setData(notificationdata.notifications);
35 | }
36 | },[notificationdata.notifications]);
37 |
38 | return (
39 | notificationdata.loading? :
40 |
46 | new Promise(resolve => {
47 | setTimeout(() => {
48 | resolve();
49 | const tblData = data;
50 | tblData.push(newData);
51 | dispatch(sendNotification(newData));
52 | dispatch(editNotifications(newData,"Add"));
53 | }, 600);
54 | }),
55 |
56 | onRowUpdate: (newData, oldData) =>
57 | new Promise(resolve => {
58 | setTimeout(() => {
59 | resolve();
60 | const tblData = data;
61 | tblData[tblData.indexOf(oldData)] = newData;
62 | dispatch(editNotifications(newData,"Update"));
63 | }, 600);
64 | }),
65 | onRowDelete: newData =>
66 | new Promise(resolve => {
67 | setTimeout(() => {
68 | resolve();
69 | dispatch(editNotifications(newData,"Delete"));
70 | }, 600);
71 | }),
72 | }}
73 | />
74 | );
75 | }
76 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabAdmin_code/src/views/Promos.js:
--------------------------------------------------------------------------------
1 | import React,{ useState,useEffect } from 'react';
2 | import MaterialTable from 'material-table';
3 | import { useSelector, useDispatch } from "react-redux";
4 | import CircularLoading from "../components/CircularLoading";
5 | import languageJson from "../config/language";
6 | import {
7 | editPromo
8 | } from "../actions/promoactions";
9 |
10 | export default function Promos() {
11 | const columns = [
12 | { title: languageJson.promo_name,field: 'promo_name'},
13 | { title: languageJson.description, field: 'promo_description' },
14 | {
15 | title: languageJson.title,
16 | field: 'promo_discount_type',
17 | lookup: { flat: 'Flat', percentage: 'Percentage' },
18 | },
19 | { title: languageJson.promo_discount_value,field: 'promo_discount_value', type: 'numeric'},
20 | { title: languageJson.max_limit, field: 'max_promo_discount_value', type: 'numeric' },
21 | { title: languageJson.min_limit, field: 'min_order' , type: 'numeric'},
22 | { title: languageJson.start_date,field: 'promo_start'},
23 | { title: languageJson.end_date, field: 'promo_validity' },
24 | { title: languageJson.promo_usage, field: 'promo_usage_limit', type: 'numeric' },
25 | { title: languageJson.promo_used_by, field: 'promo_used_by', editable:'never' }
26 | ];
27 |
28 | const [data, setData] = useState([]);
29 | const promodata = useSelector(state => state.promodata);
30 | const dispatch = useDispatch();
31 |
32 | useEffect(()=>{
33 | if(promodata.promos){
34 | setData(promodata.promos);
35 | }
36 | },[promodata.promos]);
37 |
38 | const removeExtraKeys = (tblData) =>{
39 | if(tblData.promo_discount_value) tblData.promo_discount_value = parseFloat(tblData.promo_discount_value);
40 | if(tblData.max_promo_discount_value) tblData.max_promo_discount_value = parseFloat(tblData.max_promo_discount_value);
41 | if(tblData.min_order) tblData.min_order = parseFloat(tblData.min_order);
42 | if(tblData.promo_usage_limit) tblData.promo_usage_limit = parseFloat(tblData.promo_usage_limit);
43 | return tblData;
44 | }
45 |
46 | return (
47 | promodata.loading? :
48 |
54 | new Promise(resolve => {
55 | setTimeout(() => {
56 | resolve();
57 | const tblData = data;
58 | tblData.push(newData);
59 | dispatch(editPromo(removeExtraKeys(newData),"Add"));
60 | }, 600);
61 | }),
62 | onRowUpdate: (newData, oldData) =>
63 | new Promise(resolve => {
64 | setTimeout(() => {
65 | resolve();
66 | const tblData = data;
67 | tblData[tblData.indexOf(oldData)] = newData;
68 | dispatch(editPromo(removeExtraKeys(newData),"Update"));
69 | }, 600);
70 | }),
71 | onRowDelete: newData =>
72 | new Promise(resolve => {
73 | setTimeout(() => {
74 | resolve();
75 | dispatch(editPromo(removeExtraKeys(newData),"Delete"));
76 | }, 600);
77 | }),
78 | }}
79 | />
80 | );
81 | }
82 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/.DS_Store
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["babel-preset-expo"],
3 | // "env": {
4 | // "development": {
5 | // "plugins": ["transform-react-jsx-source"]
6 | // }
7 | // }
8 | }
9 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/.expo-shared/assets.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/**/*
2 | .expo/*
3 | npm-debug.*
4 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import AppContainer from './src/navigation/AppNavigator';
3 | import {Asset} from 'expo-asset';
4 | import * as Font from 'expo-font';
5 | import { AppLoading } from 'expo';
6 | import * as firebase from 'firebase'
7 |
8 | var firebaseConfig = {
9 | apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
10 | authDomain: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
11 | databaseURL: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
12 | projectId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
13 | storageBucket: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
14 | messagingSenderId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
15 | appId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
16 | measurementId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
17 | };
18 |
19 |
20 | firebase.initializeApp(firebaseConfig);
21 |
22 | export default class App extends React.Component {
23 |
24 | state = {
25 | assetsLoaded: false,
26 | };
27 |
28 | constructor(){
29 | super();
30 | console.disableYellowBox = true;
31 | }
32 |
33 | //resource load at the time of app loading
34 | _loadResourcesAsync = async () => {
35 | return Promise.all([
36 | Asset.loadAsync([
37 | require('./assets/images/background.png'),
38 | require('./assets/images/logo.png'),
39 | ]),
40 | Font.loadAsync({
41 | 'Roboto-Bold': require('./assets/fonts/Roboto-Bold.ttf'),
42 | 'Roboto-Regular': require('./assets/fonts/Roboto-Regular.ttf'),
43 | 'Roboto-Medium': require('./assets/fonts/Roboto-Medium.ttf'),
44 | 'Roboto-Light': require('./assets/fonts/Roboto-Light.ttf'),
45 | }),
46 | ]);
47 | };
48 |
49 | render() {
50 | return (
51 | this.state.assetsLoaded ?
52 |
53 | :
54 | this.setState({ assetsLoaded: true })}
57 | onError={console.warn}
58 | autoHideSplash={true}
59 | />
60 | );
61 | }
62 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "expo": {
3 | "name": "GrabCab Driver",
4 | "description": "Taxi Booking Driver App",
5 | "slug": "GrabCabDriver",
6 | "privacy": "public",
7 | "platforms": [
8 | "ios",
9 | "android"
10 | ],
11 | "notification": {
12 | "icon": "./assets/images/push_notification.png"
13 | },
14 | "version": "5.0.0",
15 | "orientation": "portrait",
16 | "icon": "./assets/images/icon.png",
17 | "splash": {
18 | "image": "./assets/images/splash.png",
19 | "resizeMode": "cover",
20 | "backgroundColor": "#ffffff"
21 | },
22 | "updates": {
23 | "fallbackToCacheTimeout": 0
24 | },
25 | "assetBundlePatterns": [
26 | "**/*"
27 | ],
28 | "ios": {
29 | "supportsTablet": true,
30 | "bundleIdentifier": "com.exicube.grabcabdriverapp",
31 | "infoPlist": {
32 | "NSLocationAlwaysUsageDescription": "This app uses the location to find the Cabs near you.",
33 | "NSLocationWhenInUseUsageDescription": "This app uses the location to find the Cabs near you.",
34 | "NSCameraUsageDescription": "This app uses the camera to take your profile picture.",
35 | "NSPhotoLibraryUsageDescription": "This app uses Photo Library to help upload your profile picture.",
36 | "UIBackgroundModes": [
37 | "location",
38 | "fetch"
39 | ]
40 | },
41 | "config": {
42 | "googleMapsApiKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
43 | }
44 | },
45 | "android": {
46 | "package": "com.exicube.grabcabdriverapp",
47 | "permissions": [
48 | "CAMERA",
49 | "READ_EXTERNAL_STORAGE",
50 | "WRITE_EXTERNAL_STORAGE",
51 | "LOCATION",
52 | "ACCESS_FINE_LOCATION",
53 | "ACCESS_COARSE_LOCATION",
54 | "CAMERA_ROLL"
55 | ],
56 | "config": {
57 | "googleMaps": {
58 | "apiKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
59 | }
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/.DS_Store
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/fonts/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/fonts/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/fonts/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/fonts/Roboto-Light.ttf
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/fonts/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/fonts/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/fonts/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/fonts/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/.DS_Store
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/Notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/Notification.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/about_us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/about_us.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/alarm-clock.orig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/alarm-clock.orig.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/alarm-clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/alarm-clock.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/background.orig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/background.orig.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/background.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/bg.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/cab.orig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/cab.orig.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/cab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/cab.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/cablogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/cablogo.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/camera.orig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/camera.orig.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/camera.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/cancel.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/cross.orig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/cross.orig.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/cross.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/cross.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/dash.orig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/dash.orig.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/dash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/dash.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/demoProfile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/demoProfile.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/demoProfile.orig.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/demoProfile.orig.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/fareMetar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/fareMetar.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/icon.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/kabman-SideMenu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/kabman-SideMenu.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/loader.gif
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/logo.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/microBlackCar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/microBlackCar.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/paytm_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/paytm_logo.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/profilePic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/profilePic.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/profilePic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/profilePic.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/push_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/push_notification.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/rsz_2red_pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/rsz_2red_pin.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/splash.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/swiftDesire.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/swiftDesire.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/taxi--dd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/taxi--dd.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/taxi2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/taxi2.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/track_Car.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/track_Car.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/images/transfer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/images/transfer.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/assets/sounds/car_horn.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/assets/sounds/car_horn.wav
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "main": "node_modules/expo/AppEntry.js",
3 | "private": true,
4 | "scripts": {
5 | "start": "expo start",
6 | "android": "expo start --android",
7 | "ios": "expo start --ios",
8 | "web": "expo start --web",
9 | "eject": "expo eject"
10 | },
11 | "dependencies": {
12 | "@expo/vector-icons": "^10.0.0",
13 | "@mapbox/polyline": "^1.1.0",
14 | "expo": "^37.0.0",
15 | "expo-asset": "~8.1.3",
16 | "expo-av": "~8.1.0",
17 | "expo-facebook": "~8.1.0",
18 | "expo-firebase-recaptcha": "^1.1.0",
19 | "expo-font": "~8.1.0",
20 | "expo-location": "~8.1.0",
21 | "expo-permissions": "~8.1.0",
22 | "firebase": "^7.9.0",
23 | "geofire": "^5.0.1",
24 | "haversine": "^1.1.1",
25 | "react": "16.9.0",
26 | "react-dom": "16.9.0",
27 | "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.0.tar.gz",
28 | "react-native-actionsheet": "^2.4.2",
29 | "react-native-dash": "^0.0.9",
30 | "react-native-elements": "^1.1.0",
31 | "react-native-gesture-handler": "~1.6.0",
32 | "react-native-gifted-chat": "^0.9.11",
33 | "react-native-google-maps-directions": "^2.1.0",
34 | "react-native-google-places-autocomplete": "1.3.9",
35 | "react-native-loading-spinner-overlay": "^1.1.0",
36 | "react-native-masked-input-text": "^1.0.11",
37 | "react-native-screens": "~2.2.0",
38 | "react-native-simple-radio-button": "^2.7.3",
39 | "react-native-star-rating": "^1.1.0",
40 | "react-native-vector-icons": "^6.6.0",
41 | "react-native-web": "^0.11.7",
42 | "react-native-webview": "^8.1.1",
43 | "react-navigation": "^3.11.1"
44 | },
45 | "devDependencies": {
46 | "babel-preset-expo": "^8.1.0"
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/src/.DS_Store
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/common/GetPushToken.js:
--------------------------------------------------------------------------------
1 | import { Notifications } from 'expo';
2 | import * as Permissions from 'expo-permissions';
3 | import * as firebase from 'firebase'
4 | import {Platform} from 'react-native';
5 | import languageJSON from '../common/language';
6 | export default async function registerForPushNotificationsAsync() {
7 | const { status: existingStatus } = await Permissions.getAsync(
8 | Permissions.NOTIFICATIONS
9 | );
10 | let finalStatus = existingStatus;
11 |
12 | // only ask if permissions have not already been determined, because
13 | // iOS won't necessarily prompt the user a second time.
14 | if (existingStatus !== 'granted') {
15 | // Android remote notification permissions are granted during the app
16 | // install, so this will only ask on iOS
17 | const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS);
18 | finalStatus = status;
19 | }
20 |
21 | // Stop here if the user did not grant permissions
22 | if (finalStatus !== 'granted') {
23 | return;
24 | }
25 | if (Platform.OS === 'android'){
26 | Notifications.createChannelAndroidAsync('messages', {
27 | name: languageJSON.android_channel,
28 | sound: true,
29 | vibrate: true
30 | });
31 | }
32 | // Get the token that uniquely identifies this device
33 | let token = await Notifications.getExpoPushTokenAsync();
34 | if(token){
35 | console.log(token);
36 | firebase.database().ref('users/'+firebase.auth().currentUser.uid+'/').update({
37 | pushToken:token,
38 | userPlatform:Platform.OS == 'ios'?'IOS':'ANDROID'
39 | })
40 | }
41 |
42 | // POST the token to your backend server from where you can retrieve it to send push notifications.
43 |
44 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/common/RequestPushMsg.js:
--------------------------------------------------------------------------------
1 | import languageJSON from './language';
2 | export function RequestPushMsg(token,msg,bookingId){
3 | console.log('param=>',token,msg,)
4 | fetch('https://exp.host/--/api/v2/push/send', {
5 | method: 'POST',
6 | headers: {
7 | Accept: 'application/json',
8 | 'Content-Type': 'application/json',
9 | 'accept-encoding': 'gzip, deflate',
10 | 'host': 'exp.host'
11 | },
12 | body: JSON.stringify({
13 | "to": token,
14 | "title": languageJSON.notification_title,
15 | "body": msg,
16 | "data": {"msg":msg,"title":languageJSON.notification_title},
17 | "priority": "high",
18 | "sound":"default",
19 | "channelId": "messages"
20 | }),
21 | }).then((response) => response.json())
22 | .then((responseJson) => {
23 | return responseJson
24 | })
25 | .catch((error) => { console.log(error) });
26 | }
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/common/fareCalculator.js:
--------------------------------------------------------------------------------
1 | export function farehelper(distance,time,rateDetails){
2 | let ratePerKm = rateDetails.rate_per_kilometer;
3 | let ratePerHour = rateDetails.rate_per_hour;
4 | let ratePerSecond = ratePerHour/3600;
5 | let minFare = rateDetails.min_fare;
6 | let DistanceInKM = parseFloat(distance/1000).toFixed(2);
7 | let estimateRateForKM =parseFloat(DistanceInKM*ratePerKm).toFixed(2)*1;
8 | let estimateRateForhour = parseFloat(time*ratePerSecond).toFixed(2);
9 | let total = (parseFloat(estimateRateForKM)+parseFloat(estimateRateForhour))>minFare?(parseFloat(estimateRateForKM)+parseFloat(estimateRateForhour)):minFare;
10 |
11 | let convenienceFee = (total*rateDetails.convenience_fees/100);
12 |
13 |
14 | let grandtotal = parseFloat(total)+parseFloat(convenienceFee);
15 | console.log(grandtotal)
16 | let calculateData = {
17 | distaceRate:estimateRateForKM,
18 | timeRate:estimateRateForhour,
19 | totalCost:total,grandTotal:grandtotal,
20 | convenience_fees:convenienceFee}
21 |
22 | return calculateData
23 | }
24 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/common/key.js:
--------------------------------------------------------------------------------
1 | export const google_map_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/common/serverUrl.js:
--------------------------------------------------------------------------------
1 | export const cloud_function_server_url = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/common/styles.js:
--------------------------------------------------------------------------------
1 | //some default style used in the application
2 |
3 | import { StyleSheet } from 'react-native';
4 | import { theme } from './theme';
5 |
6 | export default StyleSheet.create({
7 | buttonBlue:{
8 | height:50,
9 | width:160,
10 | backgroundColor:theme.BUTTON_BLUE,
11 | },
12 | buttonYellow:{
13 | height:50,
14 | width:160,
15 | backgroundColor:theme.BUTTON_YELLOW,
16 | },
17 | buttonPrimary:{
18 | height:50,
19 | width:160,
20 | backgroundColor:theme.BUTTON_PRIMARY
21 | },
22 | buttonText:{
23 | fontFamily: theme.FONT_ONE,
24 | fontSize:theme.FONT_SIZE_BUTTONS,
25 | color:theme.BUTTON_TEXT
26 | }
27 | });
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/common/theme.js:
--------------------------------------------------------------------------------
1 | //some default colors used in the application
2 |
3 | export const theme = {
4 | FONT_ONE:'Roboto-Bold',
5 | FONT_SIZE_BUTTONS: 18,
6 | BUTTON_BLUE:'#47668B',
7 | BUTTON_SKY: 'rgba(57,137,233,1)',
8 | BUTTON_YELLOW:'#F9C667',
9 | BUTTON_PRIMARY:'#1E81D3',
10 | BUTTON_TEXT:'#fff',
11 | };
12 |
13 | export const colors = {
14 | TRANSPARENT: 'transparent',
15 | WHITE: '#fff',
16 | BLACK: '#000',
17 | RED: 'red',
18 | SKY: '#1E81D3',
19 | DARK: "#070807",
20 |
21 | GREY: {
22 | default: '#243235',
23 | primary:"#f5f1f1",
24 | secondary: "#9b9b9b",
25 | btnPrimary:'#666666',
26 | btnSecondary: "#ababab",
27 | iconPrimary: "#c8c8c8",
28 | iconSecondary: "#3d3d3d",
29 | background: "rgba(22,22,22,0.8)",
30 | Deep_Nobel:"#9f9f9f"
31 | },
32 | BLUE: {
33 | default: "blue",
34 | primary: "rgba(111, 202, 186, 1)",
35 | secondary: "#007aff",
36 | light: "#8ec4e6",
37 | dark: "#111b1e",
38 | sky: "#4a90e2"
39 | },
40 | YELLOW: {
41 | primary: "#fda33b",
42 | secondary: "#ffe446",
43 | light: "#dbd6a0"
44 | },
45 | GREEN: {
46 | default: "green",
47 | background: "#2e342d",
48 | light: "#32db64",
49 | },
50 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/Background.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | StyleSheet,
4 | ImageBackground
5 | } from 'react-native';
6 |
7 | export default class Background extends React.Component {
8 | render() {
9 | return (
10 |
13 | {this.props.children}
14 |
15 | );
16 | }
17 | }
18 |
19 | //style for this component
20 | const styles = StyleSheet.create({
21 | imgBackground: {
22 | width: '100%',
23 | height: '100%',
24 | flex: 1
25 | },
26 | });
27 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/Button.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | StyleSheet,
4 | Text,
5 | TouchableOpacity,
6 | } from 'react-native';
7 | import { colors } from '../common/theme';
8 |
9 |
10 | export default class Button extends React.Component {
11 | render() {
12 | const { style, children, btnClick, buttonStyle } = this.props;
13 | return (
14 |
18 | {children}
19 |
20 | );
21 | }
22 | }
23 |
24 | //style for this component
25 | const styles = StyleSheet.create({
26 | button:{
27 | alignItems: 'center',
28 | justifyContent:'center',
29 | padding: 10,
30 | borderRadius:5
31 | },
32 | textStyle:{
33 | color: colors.WHITE,
34 | width:"100%",
35 | textAlign: "center"
36 | }
37 | });
38 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/CustomCommentSend.js:
--------------------------------------------------------------------------------
1 | // import React from "react";
2 | import React, { Component } from "react";
3 | import { View, StyleSheet} from "react-native";
4 | import { Avatar, Input, Icon } from "react-native-elements";
5 | import { colors } from "../common/theme";
6 | import Layout from '../constants/Layout';
7 |
8 | const iconHeight = Layout.window.height / 14;
9 | const iconWidth = Layout.window.height / 14;
10 | const iconRadius = iconWidth / 2;
11 |
12 | // const CustomCommentSend = ({
13 | export default class CustomCommentSend extends Component {
14 | constructor(props) {
15 | super(props);
16 | this.state = {
17 |
18 | };
19 | }
20 |
21 | render() {
22 | const {title,
23 | value,
24 | onChangeText,
25 | sendBtnClick,
26 | avatar} =this.props
27 | return (
28 |
29 |
30 |
31 |
50 | }
51 | />
52 |
53 |
54 |
55 |
56 |
57 | );
58 | };
59 | }
60 | //Screen Styling
61 | const styles = StyleSheet.create({
62 | headercontainer: {
63 | backgroundColor: colors.WHITE
64 | },
65 | header_mainView: {
66 | flexDirection: "row",
67 | marginBottom: 8,
68 | marginTop: 8,
69 | marginRight: 8,
70 | left: 10
71 | },
72 | header_subView_one: { flex: 1, justifyContent: "center" },
73 | avatarcontainer: {
74 | height: iconHeight,
75 | width: iconWidth,
76 | borderRadius: iconRadius
77 | },
78 | header_subView_two: {
79 | flex: 5,
80 | justifyContent: "center",
81 | marginLeft: 0
82 | },
83 | inputContainerStyle: {
84 | borderWidth: 1,
85 | borderColor: colors.GREY.nobel,
86 | borderRadius: 10,
87 | height: 50,
88 | paddingLeft: 5
89 | },
90 | rightIconContainerStyle: {
91 | width: 35,
92 | marginRight: 4,
93 | borderLeftWidth: 0.8,
94 | borderLeftColor: colors.GREY.bright_grey
95 | },
96 | container: {
97 | flex: 1
98 | },
99 | contentContainerStyle: {
100 | flexGrow: 1
101 | },
102 | });
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/EmptyNotification.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {View,Text,StyleSheet,Image} from 'react-native';
3 | import languageJSON from '../common/language';
4 | export default class EmptyNotification extends React.Component {
5 |
6 | constructor(props){
7 | super(props);
8 | }
9 |
10 | render(){
11 | return(
12 |
13 |
14 |
18 | {languageJSON.no_notification}
19 |
20 |
21 | );
22 | }
23 | };
24 |
25 | //style for this component
26 | const styles = StyleSheet.create({
27 | myHeader:{
28 | marginTop:0,
29 | },
30 | notifyStyle:{
31 | alignItems:'center',
32 | marginTop:150
33 | },
34 |
35 | imageStyle:{
36 | width: 160,
37 | height: 200
38 | },
39 | container:{
40 | flex:1
41 | }
42 | });
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/MapComponent.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import MapView, { PROVIDER_GOOGLE, Marker } from 'react-native-maps';
3 | import {Image} from 'react-native';
4 |
5 |
6 | export default class MapComponent extends Component {
7 | constructor(props) {
8 | super(props);
9 | this.state = {};
10 | }
11 |
12 | render() {
13 | const { mapRegion, markerCord, mapStyle } = this.props;
14 | return (
15 | this.setState({ marginBottom: 1 })}
22 | >
23 |
29 |
30 |
31 |
32 | );
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/MaterialButtonDark.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | import { StyleSheet, TouchableOpacity, Text } from "react-native";
3 |
4 | function MaterialButtonDark(props) {
5 | return (
6 | {props.onPress()}}>
7 | {props.children}
8 |
9 | );
10 | }
11 |
12 | const styles = StyleSheet.create({
13 | container: {
14 | backgroundColor: "#212121",
15 | flexDirection: "row",
16 | alignItems: "center",
17 | justifyContent: "center",
18 | paddingRight: 16,
19 | paddingLeft: 16,
20 | elevation: 2,
21 | minWidth: 88,
22 | borderRadius: 2,
23 | shadowOffset: {
24 | height: 1,
25 | width: 0
26 | },
27 | shadowColor: "#000",
28 | shadowOpacity: 0.35,
29 | shadowRadius: 5
30 | },
31 | caption: {
32 | color: "#fff",
33 | fontSize: 14,
34 | fontFamily: "Roboto-Regular"
35 | }
36 | });
37 |
38 | export default MaterialButtonDark;
39 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/SideMenuHeader.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Text, View, Image, TouchableOpacity } from 'react-native';
3 | import { Icon } from 'react-native-elements'
4 | import { colors } from '../common/theme';
5 | import languageJSON from '../common/language';
6 | //make a compontent
7 | const SideMenuHeader = ({headerStyle, userPhoto, userName, userEmail, onPress}) =>{
8 |
9 | return (
10 |
11 |
12 |
16 |
17 |
18 | {userName?userName.toUpperCase():""}
19 |
20 |
21 |
27 | {userEmail?userEmail.toLowerCase():""}
28 |
29 |
30 | );
31 |
32 | };
33 |
34 | //style for this component
35 | const styles = {
36 | viewStyle:{
37 | backgroundColor:colors.BLUE.dark,
38 | justifyContent:'center',
39 | alignItems:'center',
40 | height:200,
41 | paddingTop:20,
42 | shadowColor:colors.BLACK,
43 | shadowOffset:{width:0,height:2},
44 | shadowOpacity:0.2,
45 | elevation:2,
46 | position:'relative',
47 | flexDirection:'column'
48 | },
49 | textStyle:{
50 | fontSize:20,
51 | color:colors.WHITE
52 | },
53 | headerTextStyle:{
54 | justifyContent:'center',
55 | alignItems: 'center',
56 | marginTop: 10
57 | },
58 | iconStyle:{
59 |
60 | },
61 | userImageView: {
62 | width: 84,
63 | height: 84,
64 | borderRadius: 50,
65 | overflow: 'hidden',
66 | borderWidth: 2,
67 | borderColor: colors.WHITE,
68 | justifyContent: 'center',
69 | alignItems: 'center',
70 | padding: 20
71 | },
72 | ProfileNameStyle:{
73 | fontWeight: 'bold',
74 | color: colors.WHITE,
75 | fontSize: 18,
76 | textAlign:"center"
77 | },
78 | iconViewStyle:{
79 | justifyContent: 'center',
80 | flexDirection: 'row',
81 | alignItems: 'center',
82 | marginTop: 4
83 | },
84 | emailStyle:{
85 | color: colors.WHITE,
86 | fontSize: 13,
87 | marginLeft: 4,
88 | textAlign:"center"
89 | },
90 | imageStyle:{
91 | width: 80,
92 | height:80
93 | }
94 | }
95 | //make the component available to other parts of the app
96 | export default SideMenuHeader;
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/TripStartModal.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | import { Modal, View, StyleSheet, Text, TouchableOpacity,TextInput } from "react-native";
3 | import { Icon, Button } from "react-native-elements";
4 | import { colors } from "../common/theme";
5 | import languageJSON from '../common/language';
6 | export default class TripStartModal extends Component {
7 | constructor(props) {
8 | super(props);
9 | this.state = {};
10 | }
11 | enterCode(){
12 | const { enterCode } = this.props;
13 | enterCode('entercode')
14 | }
15 |
16 | render() {
17 | const { requestmodalclose, modalvisable,onChangeText } = this.props;
18 | return (
19 |
25 |
26 |
27 |
28 |
35 |
36 |
37 |
45 |
50 |
51 |
52 |
53 | );
54 | }
55 | }
56 | //Screen Styling
57 | const styles = StyleSheet.create({
58 | container: {
59 | flex: 1,
60 | width: "100%",
61 | height: "80%",
62 | justifyContent: "center",
63 | alignItems: "center",
64 | backgroundColor: "transparent",
65 | paddingTop: 120
66 | },
67 | modalContainer: {
68 | height: 200,
69 | backgroundColor: colors.WHITE,
70 | width: "80%",
71 | borderRadius: 10,
72 | elevation: 15
73 | },
74 | crossIconContainer: {
75 | flex: 1,
76 | left: "40%"
77 | },
78 | blankViewStyle: {
79 | flex: 1,
80 | flexDirection: "row",
81 | alignSelf:'flex-end',
82 | marginTop:15,
83 | marginRight:15
84 | },
85 | modalHeaderStyle: {
86 | textAlign: "center",
87 | fontSize: 20,
88 | paddingTop: 10
89 | },
90 | modalContainerViewStyle: {
91 | flex: 9,
92 | alignItems: "center",
93 | justifyContent:"center"
94 | },
95 | itemsViewStyle: {
96 | flexDirection: "column",
97 | // justifyContent: "space-between"
98 | },
99 | textStyle: {
100 | fontSize: 20
101 | },
102 | input: {
103 | fontSize: 20,
104 | marginBottom:20,
105 | borderColor:'#D2D2D2',
106 | borderWidth:1,
107 | borderRadius:8,
108 | width:"80%",
109 | paddingTop:8,
110 | paddingBottom:8,
111 | paddingRight:10,
112 | paddingLeft:10,
113 | textAlign:'center'
114 | },
115 | });
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/components/index.js:
--------------------------------------------------------------------------------
1 | import Background from './Background';
2 | import Button from './Button';
3 | import RideList from './ridelist';
4 | import Notifications from './Notification';
5 | import EmptyNotification from './EmptyNotification';
6 | import MapComponent from './MapComponent';
7 | import DiverReg from './driverRegComponent';
8 | import EditUser from './EditUser';
9 | import CustomCommentSend from './CustomCommentSend';
10 | import TripStartModal from './TripStartModal'
11 | import TrackNow from './TrackNow'
12 |
13 | export {
14 | Background,
15 | Button,
16 | RideList,
17 | Notifications,
18 | EmptyNotification,
19 | MapComponent,
20 | DiverReg,
21 | EditUser,
22 | CustomCommentSend,
23 | TripStartModal,
24 | TrackNow
25 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/constants/Layout.js:
--------------------------------------------------------------------------------
1 | import { Dimensions } from 'react-native';
2 |
3 | const width = Dimensions.get('window').width;
4 | const height = Dimensions.get('window').height;
5 |
6 | export default {
7 | window: {
8 | width,
9 | height,
10 | },
11 | isSmallDevice: width < 375,
12 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/navigation/AppNavigator.js:
--------------------------------------------------------------------------------
1 | import { createSwitchNavigator,createAppContainer } from 'react-navigation';
2 | import { AuthStack, DriverRootNavigator } from './MainNavigator';
3 | import { AuthLoadingScreen } from '../screens/AuthLoadingScreen';
4 |
5 | const AppNavigator= createSwitchNavigator({
6 | // You could add another route here for authentication.
7 | // Read more at https://reactnavigation.org/docs/en/auth-flow.html
8 | AuthLoading: AuthLoadingScreen,
9 | Auth: AuthStack,
10 | DriverRoot: DriverRootNavigator
11 | },
12 | {
13 | initialRouteName: 'AuthLoading'
14 | }
15 | );
16 | const AppContainer = createAppContainer(AppNavigator);
17 | export default AppContainer;
18 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/screens/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabDriver_code/src/screens/.DS_Store
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/screens/EditProfile.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {EditUser } from '../components';
3 | import {StyleSheet,View,StatusBar} from 'react-native';
4 | import * as firebase from 'firebase'
5 | import languageJSON from '../common/language';
6 |
7 | export default class EditProfilePage extends React.Component {
8 | constructor(props){
9 | super(props);
10 | }
11 |
12 | //register button click after all validation
13 | async clickRegister(fname, lname, mobile, email, password) {
14 | // do something with those parameters
15 | let regData = {
16 | firstName:fname,
17 | lastName:lname,
18 | mobile:mobile,
19 | email:email,
20 | }
21 |
22 | var curuser = firebase.auth().currentUser.uid;
23 | const userData = firebase.database().ref('users/'+curuser).update(regData).then(()=>{
24 | this.props.navigation.pop();
25 | })
26 |
27 | }
28 |
29 | render() {
30 | return (
31 |
32 | this.clickRegister(fname, lname, mobile, email, password)} onPress={()=>{this.clickRegister()}} onPressBack={()=>{this.props.navigation.goBack()}}>
33 |
34 | );
35 | }
36 | }
37 |
38 | //Screen Styling
39 | const styles = StyleSheet.create({
40 | containerView:{ flex:1 },
41 | textContainer:{textAlign:"center"},
42 | });
43 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/screens/EmptyScreen.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { EmptyNotification } from '../components';
3 | import languageJSON from '../common/language';
4 | import {
5 | StyleSheet,
6 | View,
7 | StatusBar,
8 | AsyncStorage
9 | } from 'react-native';
10 | import { Header } from 'react-native-elements';
11 | import { colors } from '../common/theme';
12 |
13 | export default class EmptyNotificationPage extends React.Component {
14 | constructor(props){
15 | super(props);
16 | }
17 |
18 | _changePage = async () => {
19 | await AsyncStorage.clear();
20 | }
21 | render() {
22 | return (
23 |
24 | {this.props.navigation.toggleDrawer();} }}
27 | centerComponent={{languageJSON.my_rides}}
28 | rightComponent={{icon:'ios-notifications', type:'ionicon', color:colors.WHITE, size: 30, component: TouchableWithoutFeedback,onPress: ()=>{} }}
29 | containerStyle={styles.headerStyle}
30 | innerContainerStyles={styles.inrContStyle}
31 | />
32 |
33 |
34 | );
35 | }
36 | }
37 |
38 | //Screen Styling
39 | const styles = StyleSheet.create({
40 | mainView: {
41 | flex:1,
42 | backgroundColor: colors.WHITE,
43 | //marginTop: StatusBar.currentHeight
44 | },
45 | headerStyle: {
46 | backgroundColor: colors.GREY.default,
47 | borderBottomWidth: 0
48 | },
49 | headerTitleStyle: {
50 | color: colors.WHITE,
51 | fontFamily:'Roboto-Bold',
52 | fontSize: 20
53 | },
54 | containerView:{ flex:1 },
55 | textContainer:{textAlign:"center"},
56 | inrContStyle:{
57 | marginLeft:10,
58 | marginRight: 10
59 | }
60 |
61 | });
62 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/screens/NotificationScreen.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Notifications } from '../components';
3 | import languageJSON from '../common/language';
4 | import {
5 | StyleSheet,
6 | View,
7 | Text,
8 | StatusBar,
9 | TouchableWithoutFeedback
10 | } from 'react-native';
11 | import { Header } from 'react-native-elements';
12 | import { colors } from '../common/theme';
13 |
14 | export default class NotificationPage extends React.Component {
15 | constructor(props){
16 | super(props);
17 | }
18 |
19 | render() {
20 | return (
21 |
22 | {this.props.navigation.toggleDrawer();} }}
25 | centerComponent={{languageJSON.notification}}
26 | rightComponent={{icon:'ios-notifications', type:'ionicon', color: colors.WHITE, size: 30, component: TouchableWithoutFeedback,onPress: ()=>{} }}
27 | containerStyle={styles.headerStyle}
28 | innerContainerStyles={{marginLeft:10, marginRight: 10}}
29 | />
30 |
31 |
32 | );
33 | }
34 | }
35 |
36 | //Screen Styling
37 | const styles = StyleSheet.create({
38 | headerStyle: {
39 | backgroundColor: colors.GREY.default,
40 | borderBottomWidth: 0
41 | },
42 | headerTitleStyle: {
43 | color: colors.WHITE,
44 | fontFamily:'Roboto-Bold',
45 | fontSize: 20
46 | },
47 | containerView:{
48 | flex:1
49 | },
50 | textContainer:{
51 | textAlign:"center"
52 | },
53 | mainView:{
54 | flex:1,
55 | backgroundColor: colors.WHITE,
56 | //marginTop: StatusBar.currentHeight
57 | }
58 | });
59 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabDriver_code/src/screens/index.js:
--------------------------------------------------------------------------------
1 | import RideListPage from './RideListScreen';
2 | import NotificationPage from './NotificationScreen';
3 | import EmptyNotificationPage from './EmptyScreen';
4 | import TaskListIgnorePopup from './TaskIgnorePopUp';
5 | import DriverTripCompleteSreen from './driverTripComplete';
6 | import LoginScreen from './LoginScreen';
7 | import ProfileScreen from './ProfileScreen';
8 | import DriverStartTrip from './DriverStartTrip';
9 | import DriverCompleteTrip from './CompleteTrip';
10 | import DriverTripAccept from './DriverTripAccept';
11 | import RideDetails from './RideDetails';
12 | import DriverRegistrationPage from './DriverRegistration';
13 | import EditProfilePage from './EditProfile';
14 | import AboutPage from './AboutScreen';
15 | import DriverIncomePage from './DriverIncomeScreen';
16 | import OnlineChat from './OnlineChat'
17 |
18 | export {
19 | TaskListIgnorePopup,
20 | DriverTripCompleteSreen,
21 | RideListPage,
22 | LoginScreen,
23 | ProfileScreen,
24 | NotificationPage,
25 | EmptyNotificationPage,
26 | RideDetails,
27 | DriverStartTrip,
28 | DriverCompleteTrip,
29 | DriverTripAccept,
30 | DriverRegistrationPage,
31 | EditProfilePage,
32 | AboutPage,
33 | DriverIncomePage,
34 | OnlineChat
35 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/.expo-shared/assets.json:
--------------------------------------------------------------------------------
1 | {
2 | "f9155ac790fd02fadcdeca367b02581c04a353aa6d5aa84409a59f6804c87acd": true,
3 | "89ed26367cdb9b771858e026f2eb95bfdb90e5ae943e716575327ec325f39c44": true
4 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/**/*
2 | .expo/*
3 | npm-debug.*
4 | web-build/
5 | web-report/
6 |
7 | # macOS
8 | .DS_Store
9 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { AppLoading } from 'expo';
3 | import {Asset} from 'expo-asset';
4 | import * as Font from 'expo-font';
5 | import AppContainer from './src/navigation/AppNavigator';
6 |
7 | //Database import
8 | import * as firebase from 'firebase'
9 |
10 | var firebaseConfig = {
11 | apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
12 | authDomain: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
13 | databaseURL: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
14 | projectId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
15 | storageBucket: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
16 | messagingSenderId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
17 | appId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
18 | measurementId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
19 | };
20 | // Initialize Firebase
21 | firebase.initializeApp(firebaseConfig);
22 |
23 | export default class App extends React.Component {
24 |
25 | state = {
26 | assetsLoaded: false,
27 | };
28 |
29 | constructor(){
30 | super();
31 | console.disableYellowBox = true;
32 | }
33 |
34 | _loadResourcesAsync = async () => {
35 | return Promise.all([
36 | Asset.loadAsync([
37 | require('./assets/images/background.png'),
38 | require('./assets/images/logo.png'),
39 | ]),
40 |
41 | Font.loadAsync({
42 | 'Roboto-Bold': require('./assets/fonts/Roboto-Bold.ttf'),
43 | 'Roboto-Regular': require('./assets/fonts/Roboto-Regular.ttf'),
44 | 'Roboto-Medium': require('./assets/fonts/Roboto-Medium.ttf'),
45 | 'Roboto-Light': require('./assets/fonts/Roboto-Light.ttf'),
46 | }),
47 | ]);
48 | };
49 |
50 |
51 | render() {
52 | return (
53 | this.state.assetsLoaded ?
54 |
55 | :
56 | this.setState({ assetsLoaded: true })}
59 | onError={console.warn}
60 | autoHideSplash={true}
61 | />
62 | );
63 | }
64 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "expo": {
3 | "name": "GrabCab",
4 | "description": "Taxi Booking App",
5 | "slug": "GrabCab",
6 | "privacy": "public",
7 | "platforms": [
8 | "ios",
9 | "android"
10 | ],
11 | "notification": {
12 | "icon": "./assets/images/push_notification.png"
13 | },
14 | "version": "5.0.0",
15 | "orientation": "portrait",
16 | "icon": "./assets/images/appIcon.png",
17 | "splash": {
18 | "image": "./assets/images/splash.png",
19 | "resizeMode": "cover",
20 | "backgroundColor": "#ffffff"
21 | },
22 | "updates": {
23 | "fallbackToCacheTimeout": 0
24 | },
25 | "assetBundlePatterns": [
26 | "**/*"
27 | ],
28 | "ios": {
29 | "supportsTablet": true,
30 | "usesAppleSignIn": true,
31 | "bundleIdentifier": "com.exicube.grabcab",
32 | "infoPlist": {
33 | "NSLocationAlwaysUsageDescription": "This app uses the location to find the Cabs near you.",
34 | "NSLocationWhenInUseUsageDescription": "This app uses the location to find the Cabs near you.",
35 | "NSCameraUsageDescription": "This app uses the camera to take your profile picture.",
36 | "NSPhotoLibraryUsageDescription": "This app uses Photo Library for uploading your profile picture.",
37 | "UIBackgroundModes": [
38 | "location",
39 | "fetch"
40 | ]
41 | },
42 | "config": {
43 | "googleMapsApiKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
44 | }
45 | },
46 | "android": {
47 | "package": "com.exicube.grabcab",
48 | "permissions": [
49 | "CAMERA",
50 | "READ_EXTERNAL_STORAGE",
51 | "WRITE_EXTERNAL_STORAGE",
52 | "LOCATION",
53 | "ACCESS_FINE_LOCATION",
54 | "ACCESS_COARSE_LOCATION",
55 | "CAMERA_ROLL"
56 | ],
57 | "config": {
58 | "googleMaps": {
59 | "apiKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
60 | }
61 | }
62 | },
63 | "facebookScheme": "fbXXXXXXXXXXXXXXX",
64 | "facebookAppId": "XXXXXXXXXXXXXXX",
65 | "facebookDisplayName": "GrabCab"
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/fonts/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/fonts/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/fonts/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/fonts/Roboto-Light.ttf
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/fonts/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/fonts/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/fonts/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/fonts/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/Notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/Notification.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/about_us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/about_us.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/alarm-clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/alarm-clock.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/appIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/appIcon.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/available_car.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/available_car.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/background.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/bg.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/braintree-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/braintree-logo.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/cab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/cab.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/cablogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/cablogo.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/camera.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/cancel.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/cross.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/cross.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/dash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/dash.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/demoProfile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/demoProfile.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/fareMetar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/fareMetar.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/fareMetar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/fareMetar.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/flat-discount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/flat-discount.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/gift.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/gift.gif
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/green_pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/green_pin.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/icon.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/image_apple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/image_apple.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/image_fb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/image_fb.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/loader.gif
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/lodingDriver.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/lodingDriver.gif
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/logo.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/microBlackCar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/microBlackCar.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/paytm_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/paytm_logo.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/paytm_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/paytm_logo.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/percent-discount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/percent-discount.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/primeCar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/primeCar.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/profilePic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/profilePic.jpg
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/profilePic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/profilePic.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/push_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/push_notification.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/rsz_2red_pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/rsz_2red_pin.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/shareTaxi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/shareTaxi.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/splash.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/stripe-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/stripe-logo.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/swiftDesire.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/swiftDesire.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/taxi--dd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/taxi--dd.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/taxi2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/taxi2.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/track_Car.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/track_Car.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/images/transfer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/images/transfer.png
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/assets/sounds/car_horn.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reactnative1126/Kwik_Uber_ReactNative/7abb119fef994f397503e7f5f01f737d28375ea1/GrabCab_Code/GrabCabRider_code/assets/sounds/car_horn.wav
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "main": "node_modules/expo/AppEntry.js",
3 | "scripts": {
4 | "start": "expo start",
5 | "android": "expo start --android",
6 | "ios": "expo start --ios",
7 | "web": "expo start --web",
8 | "eject": "expo eject"
9 | },
10 | "dependencies": {
11 | "@expo/vector-icons": "^10.0.0",
12 | "@mapbox/polyline": "1.1.0",
13 | "@react-native-community/masked-view": "0.1.6",
14 | "expo": "^37.0.0",
15 | "expo-apple-authentication": "~2.1.0",
16 | "expo-asset": "~8.1.3",
17 | "expo-av": "~8.1.0",
18 | "expo-crypto": "~8.1.0",
19 | "expo-facebook": "~8.1.0",
20 | "expo-firebase-recaptcha": "^1.1.0",
21 | "expo-font": "~8.1.0",
22 | "expo-image-picker": "~8.1.0",
23 | "expo-location": "~8.1.0",
24 | "expo-permissions": "~8.1.0",
25 | "firebase": "7.9.0",
26 | "geofire": "5.0.1",
27 | "haversine": "1.1.1",
28 | "react": "16.9.0",
29 | "react-dom": "16.9.0",
30 | "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.0.tar.gz",
31 | "react-native-actionsheet": "2.4.2",
32 | "react-native-credit-card-input": "0.4.1",
33 | "react-native-dash": "0.0.11",
34 | "react-native-elements": "1.2.7",
35 | "react-native-geocoding": "^0.4.0",
36 | "react-native-gesture-handler": "~1.6.0",
37 | "react-native-gifted-chat": "0.11.3",
38 | "react-native-google-places-autocomplete": "^1.3.9",
39 | "react-native-keyboard-aware-scroll-view": "0.9.1",
40 | "react-native-loading-spinner-overlay": "^1.1.0",
41 | "react-native-maps": "^0.26.1",
42 | "react-native-masked-input-text": "^1.0.11",
43 | "react-native-reanimated": "~1.7.0",
44 | "react-native-safe-area-context": "^0.7.3",
45 | "react-native-screens": "~2.2.0",
46 | "react-native-simple-radio-button": "2.7.4",
47 | "react-native-star-rating": "1.1.0",
48 | "react-native-vector-icons": "6.6.0",
49 | "react-native-web": "^0.11.7",
50 | "react-native-webview": "8.1.1",
51 | "react-navigation": "^4.3.7",
52 | "react-navigation-drawer": "^2.4.11",
53 | "react-navigation-stack": "^2.3.11"
54 | },
55 | "devDependencies": {
56 | "babel-preset-expo": "^8.1.0"
57 | },
58 | "private": true
59 | }
60 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/common/FareCalculator.js:
--------------------------------------------------------------------------------
1 | export function farehelper(distance,time,rateDetails){
2 | let ratePerKm = rateDetails.rate_per_kilometer;
3 | let ratePerHour = rateDetails.rate_per_hour;
4 | let ratePerSecond = ratePerHour/3600;
5 | let minFare = rateDetails.min_fare;
6 | let DistanceInKM = parseFloat(distance/1000).toFixed(2);
7 | let estimateRateForKM =parseFloat(DistanceInKM*ratePerKm).toFixed(2)*1;
8 | let estimateRateForhour = parseFloat(time*ratePerSecond).toFixed(2);
9 | let total = (parseFloat(estimateRateForKM)+parseFloat(estimateRateForhour))>minFare?(parseFloat(estimateRateForKM)+parseFloat(estimateRateForhour)):minFare;
10 |
11 | let convenienceFee = (total*rateDetails.convenience_fees/100);
12 |
13 |
14 | let grandtotal = parseFloat(total)+parseFloat(convenienceFee);
15 | console.log(grandtotal)
16 | let calculateData = {
17 | distaceRate:estimateRateForKM,
18 | timeRate:estimateRateForhour,
19 | totalCost:total,grandTotal:grandtotal,
20 | convenience_fees:convenienceFee}
21 |
22 | return calculateData
23 | }
24 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/common/GetPushToken.js:
--------------------------------------------------------------------------------
1 | import { Notifications } from 'expo';
2 | import * as Permissions from 'expo-permissions';
3 | import * as firebase from 'firebase'
4 | import {Platform} from 'react-native';
5 | import languageJSON from '../common/language';
6 | export default async function registerForPushNotificationsAsync() {
7 | const { status: existingStatus } = await Permissions.getAsync(
8 | Permissions.NOTIFICATIONS
9 | );
10 | let finalStatus = existingStatus;
11 |
12 | // only ask if permissions have not already been determined, because
13 | // iOS won't necessarily prompt the user a second time.
14 | if (existingStatus !== 'granted') {
15 | // Android remote notification permissions are granted during the app
16 | // install, so this will only ask on iOS
17 | const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS);
18 | finalStatus = status;
19 | }
20 |
21 | // Stop here if the user did not grant permissions
22 | if (finalStatus !== 'granted') {
23 | return;
24 | }
25 | if (Platform.OS === 'android'){
26 | Notifications.createChannelAndroidAsync('messages', {
27 | name: languageJSON.android_channel,
28 | sound: true,
29 | vibrate: true
30 | });
31 | }
32 | // Get the token that uniquely identifies this device
33 | let token = await Notifications.getExpoPushTokenAsync();
34 | if(token){
35 | console.log(token);
36 | firebase.database().ref('users/'+firebase.auth().currentUser.uid+'/').update({
37 | pushToken:token,
38 | userPlatform:Platform.OS == 'ios'?'IOS':'ANDROID'
39 | })
40 | }
41 |
42 | // POST the token to your backend server from where you can retrieve it to send push notifications.
43 |
44 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/common/RequestPushMsg.js:
--------------------------------------------------------------------------------
1 | import languageJSON from './language';
2 | export function RequestPushMsg(token,msg,bookingId){
3 | console.log('param=>',token,msg,)
4 | fetch('https://exp.host/--/api/v2/push/send', {
5 | method: 'POST',
6 | headers: {
7 | Accept: 'application/json',
8 | 'Content-Type': 'application/json',
9 | 'accept-encoding': 'gzip, deflate',
10 | 'host': 'exp.host'
11 | },
12 | body: JSON.stringify({
13 | "to": token,
14 | "title": languageJSON.notification_title,
15 | "body": msg,
16 | "data": {"msg":msg,"title":languageJSON.notification_title},
17 | "priority": "high",
18 | "sound":"default",
19 | "channelId": "messages"
20 | }),
21 | }).then((response) => response.json())
22 | .then((responseJson) => {
23 | return responseJson
24 | })
25 | .catch((error) => { console.log(error) });
26 | }
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/common/key.js:
--------------------------------------------------------------------------------
1 | export const google_map_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/common/serverUrl.js:
--------------------------------------------------------------------------------
1 | export const cloud_function_server_url = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/common/styles.js:
--------------------------------------------------------------------------------
1 | import { StyleSheet } from 'react-native';
2 | import { theme } from './theme';
3 |
4 | export default StyleSheet.create({
5 | buttonBlue:{
6 | height:50,
7 | width:160,
8 | backgroundColor:theme.BUTTON_BLUE,
9 | },
10 | buttonYellow:{
11 | height:50,
12 | width:160,
13 | backgroundColor:theme.BUTTON_YELLOW,
14 | },
15 | buttonPrimary:{
16 | height:50,
17 | width:160,
18 | backgroundColor:theme.BUTTON_PRIMARY
19 | },
20 | buttonText:{
21 | fontFamily: theme.FONT_ONE,
22 | fontSize:theme.FONT_SIZE_BUTTONS,
23 | color:theme.BUTTON_TEXT
24 | }
25 | });
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/common/theme.js:
--------------------------------------------------------------------------------
1 | export const theme = {
2 | FONT_ONE:'Roboto-Bold',
3 | FONT_SIZE_BUTTONS: 18,
4 | BUTTON_BLUE:'#47668B',
5 | BUTTON_SKY: 'rgba(57,137,233,1)',
6 | BUTTON_YELLOW:'#F9C667',
7 | BUTTON_PRIMARY:'#1E81D3',
8 | BUTTON_TEXT:'#fff',
9 | };
10 |
11 | export const colors = {
12 | TRANSPARENT: 'transparent',
13 | WHITE: '#fff',
14 | BLACK: '#000',
15 | RED: 'red',
16 | SKY: '#1E81D3',
17 | DARK: "#070807",
18 | DEEP_SKY:"#0370bc",
19 | LIGHT_RED:"#FF2121",
20 |
21 | GREY: {
22 | default: '#243235',
23 | primary:"#f5f1f1",
24 | secondary: "#9b9b9b",
25 | btnPrimary:'#666666',
26 | btnSecondary: "#ababab",
27 | iconPrimary: "#c8c8c8",
28 | iconSecondary: "#3d3d3d",
29 | background: "rgba(22,22,22,0.8)",
30 | Smoke_Grey:"#dcdcdc",
31 | Trolley_Grey:"#808080",
32 | border:"#d6d6d6",
33 | Deep_Nobel:"#9f9f9f",
34 | whiteish:"#E5E3E3",
35 | },
36 | BLUE: {
37 | default: "blue",
38 | primary: "rgba(111, 202, 186, 1)",
39 | secondary: "#007aff",
40 | light: "#8ec4e6",
41 | dark: "#111b1e",
42 | sky: "#4a90e2",
43 | Deep_Blue:"#0386e1",
44 | },
45 | YELLOW: {
46 | primary: "#fda33b",
47 | secondary: "#ffe446",
48 | light: "#dbd6a0"
49 | },
50 | GREEN: {
51 | default: "green",
52 | background: "#2e342d",
53 | light: "#32db64",
54 | },
55 | }
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/components/Background.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | StyleSheet,
4 | ImageBackground
5 | } from 'react-native';
6 |
7 | export default class Background extends React.Component {
8 | render() {
9 | return (
10 |
13 | {this.props.children}
14 |
15 | );
16 | }
17 | }
18 |
19 | const styles = StyleSheet.create({
20 | imgBackground: {
21 | width: '100%',
22 | height: '100%',
23 | flex: 1
24 | },
25 | });
26 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/components/Button.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | StyleSheet,
4 | Text,
5 | TouchableOpacity,
6 | } from 'react-native';
7 | import { colors } from '../common/theme';
8 |
9 |
10 | export default class Button extends React.Component {
11 | render() {
12 | const { style, children, btnClick, buttonStyle } = this.props;
13 | return (
14 |
18 | {children}
19 |
20 | );
21 | }
22 | }
23 |
24 | const styles = StyleSheet.create({
25 | button:{
26 | alignItems: 'center',
27 | justifyContent:'center',
28 | padding: 10,
29 | borderRadius:5
30 | },
31 | textStyle:{
32 | color: colors.WHITE,
33 | width:"100%",
34 | textAlign: "center"
35 | }
36 | });
37 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/components/MapComponent.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import MapView, { PROVIDER_GOOGLE, Marker } from 'react-native-maps';
3 |
4 | export default class MapComponent extends Component {
5 | constructor(props) {
6 | super(props);
7 | this.state = {
8 | marginBottom:0,
9 | }
10 | }
11 |
12 | render() {
13 | const { mapRegion, mapStyle,nearby, onRegionChangeComplete } = this.props;
14 | return (
15 | this.setState({ marginBottom: 1 })}
26 | >
27 |
28 |
29 |
30 | {nearby?nearby.map((item,index)=>{
31 | return (
32 |
38 |
39 |
40 | )
41 | })
42 | :null}
43 | {/*}
44 | markerDrag(e.nativeEvent.coordinate)}
50 | tracksViewChanges={this.state.tracksViewChanges}
51 | >
52 |
53 | */}
54 |
55 | );
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/components/MaterialButtonDark.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | import { StyleSheet, TouchableOpacity, Text } from "react-native";
3 |
4 | function MaterialButtonDark(props) {
5 | return (
6 | {props.onPress()}}>
7 | {props.children}
8 |
9 | );
10 | }
11 |
12 | const styles = StyleSheet.create({
13 | container: {
14 | backgroundColor: "#212121",
15 | flexDirection: "row",
16 | alignItems: "center",
17 | justifyContent: "center",
18 | paddingRight: 16,
19 | paddingLeft: 16,
20 | elevation: 2,
21 | minWidth: 88,
22 | borderRadius: 2,
23 | shadowOffset: {
24 | height: 1,
25 | width: 0
26 | },
27 | shadowColor: "#000",
28 | shadowOpacity: 0.35,
29 | shadowRadius: 5
30 | },
31 | caption: {
32 | color: "#fff",
33 | fontSize: 14,
34 | fontFamily: "Roboto-Regular"
35 | }
36 | });
37 |
38 | export default MaterialButtonDark;
39 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/components/SideMenuHeader.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Text, View, Image,TouchableOpacity, Platform, StatusBar } from 'react-native';
3 | import { Icon } from 'react-native-elements'
4 | import { colors } from '../common/theme';
5 | //make a compontent
6 | const SideMenuHeader = ({headerStyle,userPhoto,userName,userEmail}) =>{
7 | return (
8 |
9 |
10 |
14 |
15 |
16 | {userName?userName.toUpperCase():""}
17 |
18 |
19 |
25 | {userEmail?userEmail.toLowerCase():""}
26 |
27 |
28 | );
29 |
30 | };
31 |
32 | const styles = {
33 | viewStyle:{
34 | backgroundColor:colors.BLUE.dark,
35 | justifyContent:'center',
36 | alignItems:'center',
37 | height:180,
38 | paddingTop:Platform.OS=='ios'?20:StatusBar.currentHeight,
39 | shadowColor:colors.BLACK,
40 | shadowOffset:{width:0,height:2},
41 | shadowOpacity:0.2,
42 | elevation:2,
43 | position:'relative',
44 | flexDirection:'column'
45 | },
46 | textStyle:{
47 | fontSize:20,
48 | color:colors.WHITE
49 | },
50 | headerTextStyle:{
51 | justifyContent:'center',
52 | alignItems: 'center',
53 | marginTop: 10
54 | },
55 | iconStyle:{
56 |
57 | },
58 | userImageView: {
59 | width: 84,
60 | height: 84,
61 | borderRadius: 50,
62 | overflow: 'hidden',
63 | borderWidth: 2,
64 | borderColor: colors.WHITE,
65 | justifyContent: 'center',
66 | alignItems: 'center',
67 | padding: 20
68 | },
69 | ProfileNameStyle:{
70 | fontWeight: 'bold',
71 | color: colors.WHITE,
72 | fontSize: 15
73 | },
74 | iconViewStyle:{
75 | width:150,
76 | justifyContent: 'center',
77 | flexDirection: 'row',
78 | alignItems: 'center',
79 | marginTop: 4
80 | },
81 | emailStyle:{
82 | color: colors.WHITE,
83 | fontSize: 13,
84 | marginLeft: 4,
85 | textAlign:'center'
86 | },
87 | imageStyle:{
88 | width: 80,
89 | height:80
90 | }
91 | }
92 | //make the component available to other parts of the app
93 | export default SideMenuHeader;
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/components/index.js:
--------------------------------------------------------------------------------
1 | import Background from './Background';
2 | import Button from './Button';
3 | import Registration from './register';
4 | import RideList from './ridelist';
5 | import MapComponent from './MapComponent';
6 | import EditUser from './EditUser';
7 | import PromoComp from './promoComponent';
8 | import WTransactionHistory from './WalletTransactionHistory'
9 | import TrackNow from './TrackNow'
10 | export {
11 | Background,
12 | Button,
13 | Registration,
14 | RideList,
15 | MapComponent,
16 | EditUser,
17 | PromoComp,
18 | WTransactionHistory,
19 | TrackNow
20 | };
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/constants/Layout.js:
--------------------------------------------------------------------------------
1 | import { Dimensions } from 'react-native';
2 |
3 | const width = Dimensions.get('window').width;
4 | const height = Dimensions.get('window').height;
5 |
6 | export default {
7 | window: {
8 | width,
9 | height,
10 | },
11 | isSmallDevice: width < 375,
12 | };
13 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/navigation/AppNavigator.js:
--------------------------------------------------------------------------------
1 | import { createSwitchNavigator,createAppContainer } from 'react-navigation';
2 | import { AuthStack, RootNavigator } from './MainNavigator';
3 | import { AuthLoadingScreen } from '../screens/AuthLoadingScreen';
4 |
5 | const AppNavigator= createSwitchNavigator({
6 | // You could add another route here for authentication.
7 | // Read more at https://reactnavigation.org/docs/en/auth-flow.html
8 | AuthLoading: AuthLoadingScreen,
9 | Auth: AuthStack,
10 | Root: RootNavigator,
11 | //DriverRoot: DriverRootNavigator
12 | },
13 | {
14 | initialRouteName: 'AuthLoading'
15 | }
16 | );
17 | const AppContainer = createAppContainer(AppNavigator);
18 | export default AppContainer;
19 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/screens/EditProfile.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {EditUser } from '../components';
3 | import {StyleSheet,View,StatusBar} from 'react-native';
4 | import * as firebase from 'firebase'
5 |
6 |
7 | export default class EditProfilePage extends React.Component {
8 | constructor(props){
9 | super(props);
10 | }
11 |
12 | //register button click after all validation
13 | async clickRegister(fname, lname, mobile, email) {
14 | // set data set for update user
15 | let regData = {
16 | firstName:fname,
17 | lastName:lname,
18 | mobile:mobile,
19 | email:email,
20 | }
21 |
22 | let curuser = firebase.auth().currentUser.uid;
23 | firebase.database().ref('users/'+curuser).update(regData).then(()=>{
24 | this.props.navigation.pop();
25 | })
26 |
27 | }
28 |
29 | render() {
30 | return (
31 |
32 | this.clickRegister(fname, lname, mobile, email, password)} onPress={()=>{this.clickRegister()}} onPressBack={()=>{this.props.navigation.goBack()}}>
33 |
34 | );
35 | }
36 | }
37 | const styles = StyleSheet.create({
38 | containerView:{
39 | flex:1,
40 | //marginTop: StatusBar.currentHeight
41 | },
42 | textContainer:{textAlign:"center"},
43 | });
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/screens/Registration.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {Registration } from '../components';
3 | import {StyleSheet,View} from 'react-native';
4 | import * as firebase from 'firebase'
5 |
6 | export default class RegistrationPage extends React.Component {
7 | constructor(props){
8 | super(props);
9 | this.state = {
10 | loading: false
11 | }
12 | }
13 |
14 |
15 | async clickRegister(fname, lname, email, mobile, viaRef,referralVia) {
16 | this.setState({loading: true})
17 | var regData = {
18 | firstName:fname,
19 | lastName:lname,
20 | mobile:mobile,
21 | email:email,
22 | usertype:'rider',
23 | signupViaReferral:viaRef,
24 | referarDetails:referralVia,
25 | createdAt:new Date().toISOString()
26 | }
27 |
28 | firebase.auth().currentUser.updateProfile({
29 | displayName:regData.firstName + ' '+ regData.lastName,
30 | }).then(()=>{
31 | firebase.database().ref('users/').child(firebase.auth().currentUser.uid).set(regData).then(()=>{
32 | this.props.navigation.navigate('Root');
33 | });
34 | });
35 | }
36 |
37 |
38 |
39 | render() {
40 | const registrationData= this.props.navigation.getParam("requireData");
41 | console.log(registrationData);
42 | return (
43 |
44 | this.clickRegister(fname, lname, email, mobile, password,viaRef,referralVia)} onPress={()=>{this.clickRegister()}} onPressBack={()=>{this.props.navigation.goBack()}} loading={this.state.loading}>
45 |
46 | );
47 | }
48 | }
49 | const styles = StyleSheet.create({
50 | containerView:{ flex:1 },
51 | textContainer:{textAlign:"center"},
52 | });
53 |
--------------------------------------------------------------------------------
/GrabCab_Code/GrabCabRider_code/src/screens/index.js:
--------------------------------------------------------------------------------
1 | import RideListPage from './RideListScreen';
2 | import MapScreen from './MapScreen';
3 | import FareScreen from './FareScreen';
4 | import BookedCabScreen from './BookedCabScreen';
5 | import RegistrationPage from './Registration';
6 | import DriverTripCompleteSreen from './driverTripComplete';
7 | import LoginScreen from './LoginScreen';
8 | import ProfileScreen from './ProfileScreen';
9 | import CardDetailsScreen from './CardDetails'
10 | import RideDetails from './RideDetails';
11 | import SearchScreen from './SearchScreen';
12 | import EditProfilePage from './EditProfile';
13 | import AboutPage from './About';
14 | import TrackNow from './TrackNow';
15 | import OnlineChat from './OnlineChat';
16 | import WalletDetails from './WalletDetails'
17 | import AddMoneyScreen from './AddMoney'
18 | import SelectGatewayPage from './SelectGatewayScreen'
19 | export {
20 | MapScreen,
21 | FareScreen,
22 | BookedCabScreen,
23 | DriverTripCompleteSreen,
24 | RegistrationPage,
25 | RideListPage,
26 | LoginScreen,
27 | ProfileScreen,
28 | RideDetails,
29 | SearchScreen,
30 | EditProfilePage,
31 | AboutPage,
32 | TrackNow,
33 | OnlineChat,
34 | CardDetailsScreen,
35 | WalletDetails,
36 | AddMoneyScreen,
37 | SelectGatewayPage
38 | };
--------------------------------------------------------------------------------
/Grabcab Database/grabcab-app-export.json:
--------------------------------------------------------------------------------
1 | {
2 | "About_Us" : {
3 | "contents" : "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting.\\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting.",
4 | "email" : "support@email.com",
5 | "heading" : "Who We Are",
6 | "phone" : "+91 9635xxxxxx"
7 | },
8 | "cancel_reason" : [ {
9 | "label" : "Unable to Contact Driver",
10 | "value" : 0
11 | }, {
12 | "label" : "Cab is not moving in my direction",
13 | "value" : 1
14 | }, {
15 | "label" : "My reason is not listed",
16 | "value" : 2
17 | }, {
18 | "label" : "Driver Denied duty",
19 | "value" : 3
20 | }, {
21 | "label" : "Cab is taking long time",
22 | "value" : 4
23 | } ],
24 | "offers" : {
25 | "offer1" : {
26 | "max_promo_discount_value" : 10,
27 | "min_order" : 10,
28 | "promo_description" : "Free $10 for everybody",
29 | "promo_discount_type" : "flat",
30 | "promo_discount_value" : 10,
31 | "promo_name" : "First ride bonus",
32 | "promo_start" : "20/11/2019",
33 | "promo_usage_limit" : 1000,
34 | "promo_validity" : "01/01/2021"
35 | }
36 | },
37 | "rates" : {
38 | "car_type" : [ {
39 | "convenience_fees" : 20,
40 | "image" : "https://dev.exicube.com/images/car0.png",
41 | "min_fare" : 15,
42 | "name" : "Economy",
43 | "rate_per_hour" : 9,
44 | "rate_per_kilometer" : 9
45 | }, {
46 | "convenience_fees" : 15,
47 | "image" : "https://dev.exicube.com/images/car1.png",
48 | "min_fare" : 10,
49 | "name" : "ShareTaxi",
50 | "rate_per_hour" : 20,
51 | "rate_per_kilometer" : 20
52 | }, {
53 | "convenience_fees" : 20,
54 | "image" : "https://dev.exicube.com/images/car2.png",
55 | "min_fare" : 25,
56 | "name" : "Exclusive",
57 | "rate_per_hour" : 200,
58 | "rate_per_kilometer" : 200
59 | } ]
60 | },
61 | "referral" : {
62 | "bonus" : {
63 | "amount" : 1,
64 | "id" : "bonus",
65 | "key" : "bonus",
66 | "updatedAt" : 1564495712585
67 | }
68 | },
69 | "settings" : {
70 | "braintree" : true,
71 | "cash" : true,
72 | "code" : "USD",
73 | "stripe" : true,
74 | "symbol" : "$",
75 | "wallet" : true
76 | }
77 | }
78 |
--------------------------------------------------------------------------------