Cruise is an mobile ride sharing app build with Read Native. It allows the driver to look for passengers in real time or passengers to request a ride.
For a portion of the app it uses google maps to render the map. This require quite a bit of configuration to set up(Only for IOS), android will not have this problem the default map uses google maps. To use google maps as default for ios platform look at documents here * React-Native-Maps. The pod file listed on react-native maps page requires alot of dependecies. The one listed in this this project ios/Podfile is minify.
Xcode is require for ios testing
Cocoapods installing and managing the depencies for swift/Objective-C apps
node server back-end
mongo-db database
Clone repo
cd cruise/ios
pod install ( install pod congifuration, recommend reading the https://github.com/react-native-community/react-native-maps for more indept guide and trouble shoot
npm install or yarn install (App directory)
cd express-backend npm install or yarn install
cd socket.io-backend npm install or yarn install
The api files in .gitignore at home directory needs to be create (mongodb, jwt, googleapi)
For running the app on ios simulator use the command.
react-native run-ios --simulator "iPhone 6" .
react-native run-ios --simulator "iPhone SE"
There is performance issue running the ios sim with a newer iPhone simulation model e.g iPhone X.
The database is currently hosted through MongoDB Atlas. The express-server and socket.io are both hosted on heroku.
- node - Node.js for back-end
- MongoDB-Atlas - Database
- Cocoapods - Dependecies manager for xcode and Objective-C projects
- socket.io - real time communication
- react-native - Use to build native ios/android apps
- react-native-maps React Native Mapview component for iOS + Android
- express-js backend server
- Mongoosejs database model for MongoDb
- Jsonwebtoken for authentication
- bcrypt for hashing password