
Explore the Xamarin iOS Uber clone overview, detailing driver and rider apps with login, registration, setting pickup and destination, fare estimates, live location updates, and ride requests.
Create a Xamarin iOS project on Mac with Visual Studio for Mac, set up a single view app named uber, and configure the organization and bundle identifiers via storyboard designer.
Learn how to run your Xamarin iOS app in the iOS simulator, switch between devices like iPhone 11 and iPhone 8, and observe the initial blank screen.
Connect a physical iPhone and deploy your Xamarin iOS app by creating a provisioning profile, configuring signing in Visual Studio Code, and trusting the developer on the device.
Set up firebase by creating a firebase project in the console, connect the app with the bundle identifier, download the configuration file, and enable the real-time database in test mode.
Install Firebase packages via the package manager, initialize Firebase in app delegates, and enable database persistence to connect your Xamarin iOS app to Firebase.
Set up a test button to save Connection is successful to the firebase database via a tests reference, and verify the connection in the simulator.
Design the login page by creating primary and sense color schemes, adding assets and UI elements (image view, email and password fields, login button), and aligning components for a screen.
Explore autosizing and alignment techniques across iPhone screen sizes, using pins to grow elements proportionally while keeping images fixed, and apply color tweaks for UI consistency.
Design a registration page for the Xamarin iOS Uber clone by adding full name and phone number fields, configuring storyboard elements, naming outlets, and previewing the interface on the device.
Implement return button and outside taps to dismiss the keyboard on login fields, ensuring it hides on a physical device and prevents the keyboard from covering inputs.
Prevent the keyboard from covering text fields by sliding the view with NotificationCenter when the keyboard shows or hides, handling email, full name, phone, and password inputs.
Enable Firebase authentication in the Firebase console and install the Firebase authentication package, then register users with email and password while validating name, phone, and email.
Save user information to Firebase database and locally. Create a dictionary of full name, email, and phone, and store it under the user id in the users table.
implement firebase authentication to log in users by validating email and password, signing in on button press, and transitioning to the main view controller with error handling.
Retrieve user information after login by querying Firebase with the user ID to obtain email, full name, and phone number, then save to user defaults and enter the main app.
Create a global static data helper class to retrieve full name, email, user id, and phone number from user defaults, with public get methods, and organize view controllers in folders.
Add a full-screen overlay progress indicator on login and registration screens in a Xamarin iOS app, featuring a centered activity indicator and a status label.
Wrap up the login and register flow by enabling user interaction and adding a tap gesture recognizer to navigate to the register screen via storyboard and back to login.
Set up a launch screen storyboard for a splash screen, add an image view that fills the screen with auto layout, and apply aspect fit for all sizes.
Learn how to implement automatic login by checking Firebase current user in AppDelegate and SceneDelegate, then load the main page or login screen via storyboard identifiers.
Design the pickup location and set destination bar on the main page with two buttons and a custom checkbox, add a dividing line and shadows ahead of google map integration.
Finish the main page by adding a location marker icon, importing the image assets, centering and sizing the image, and creating a 'favorite places' button with shadow and styling.
Enable the google maps api in the google developer console, generate an api key, and configure billing to ensure the map shows in the Xamarin iOS Uber Clone App.
Enable Google Maps in the Xamarin iOS project by installing the Google Maps package, configuring the API key, and adding a full-screen map view, downgrading to a version if needed.
Fetch and display the user's current location in a Xamarin iOS app by enabling location services, requesting authorization, handling updates, and zooming the map to the current coordinates.
Enable the Google Places API, initialize the Places client with an API key, and install the required packages in Visual Studio to support place search and predictions.
Configure the find places view controller by adding a search box and a full-screen table view, naming controls, and designing rows to display place names and addresses with auto layout.
Learn to fetch place predictions with the Places API autocomplete by building a json request with an api key and optional session token, and filter results by country.
Deserializes the place autocomplete response by creating a prediction data model and using Newtonsoft.Json to convert the json into a list of predictions, then prepares to populate the table view.
Set up a table view data source to display prediction results, create a places data source, configure cells with identifiers, and reload the table.
Enable table view selection to retrieve a selected prediction’s police i.d. by adding a custom click event and passing the prediction back to the find places view controller.
Use the place details API to retrieve a place's address, coordinates, phone, photos, and reviews with a place_id and API key, then serialize the data into a static C# class.
Enhance user experience by adding a centered activity indicator to show loading while fetching place predictions, hide the table view until results arrive, and toggle visibility as searches proceed.
Animate the map to the selected place using the places view controller, update pickup and destination bars, and move the camera to the place coordinates.
Enable the Google geocoding API and integrate reverse geocoding in the Xamarin iOS Uber Clone app to convert coordinates into a formatted address.
Fetch the address from latitude and longitude in a Xamarin iOS app, parse the JSON response to the first formatted address, and display it in the pickup location bar.
Implement Google directions API to fetch routes from origin to destination, decode polylines, draw the route on the map, and estimate arrival time and cost with an API key.
Decode the overview polyline points from serialized direction data with a direction parser, then draw a blue polyline from pickup to destination on the map and add markers.
Add pickup and destination markers from direction data, customize icons and titles, draw circles around both points, and fit the map to display them together.
Learn to estimate fares by calculating base, distance, and time components from pickup to destination, using distance in kilometers and duration in minutes.
Design a ride details panel by adding a new view controller in the storyboard, styling with auto sizing, colors, and images, and including labels for cash or card and eta.
Animate the display and hide of the ride details panel while updating the estimated fare range and ETA, disabling interactions, and adjusting map and UI elements during the process.
Reset the app state by clearing the map, resetting pickup and destination, and preparing the UI for a new trip using a stage flag in the main view controller.
Design a centered ride request dialog with an activity indicator, label, icon, and cancel button for the Xamarin iOS Uber clone, preparing the UI before integrating with Firebase.
Define a trip details class to aggregate pickup and destination addresses, coordinates, distance, duration, estimated fare, timestamp, and payment method for a Firebase ride request.
Create a ride request on Firebase by assembling destination address, pickup coordinates, destination coordinates, user id, name, phone, and timestamp into a dictionary, then save it to a Firebase reference.
Implement cancel ride request on firebase by removing the request reference, clearing observers, updating the UI overlay, and testing cancellation after creating a cab request.
Build iOS Uber Clone App with C# and Firebase (Xamarin.iOS)
This course is designed to be a complete reference guide to building a fully functional Uber clone app in Xamarin.iOS, search no further for a complete learning pack. The course content is very robust and covers several advanced concepts and topics ranging from Firebase Database and Authentication to Notifications and so much more.
Why Is This Course Right for Me?
Absolutely Yes, the best way to gain a good understanding of advanced concepts in Xamarin.iOS is by practicing with real-life examples that implement these advanced concepts in ways you will probably use them when building your own custom app. So you will learn to build and design beautiful real-life app from the ground up, we will teach you everything you need to know.
Not Convinced Yet?
This course will groom you to build your own app ideas, this comes in handy if you want to launch your own app and build a company around it. Modern-day business run on automation which is made possible with apps, somehow in your business, you will need a great functional app; and one way to achieve this without blowing your budget is by having hands-on experience on building a real-world functional application. you will literarily get most of the advanced knowledge you need for a price of cake.
Secondly, having built a fully complete and functional Ridesharing application will be a very huge addition to your portfolio if you intend to get a high paying job. The job market these days are getting pretty competitive, you really need to show your worth. What's the best way to showcase your worth if not by showing real-world applications you built?
The Topic Seems Complex, Can I Scale Through The Course?
The course was designed with the assumption that you know only the very little basics, most of the seemingly advanced concepts were over-explained using different scenarios in real life, hence you will easily understand. Even a 5-year-old could go through the course and understand every bit of it.
What Should I Expect After this Course?
Build a Complete Ride-Sharing on iOS using C# and Xamarin
Good understanding of Firebase Database
How to build a real-world application in a very structured and organized manner
Other Things to Learn Includes
iOS UI and Design Basics
Firebase Database Development
Firebase Authentication
Google Location services
Realtime Location Updates
Google Maps and Map styles
Calculating Distance and time difference between two points
Creating Local Notifications with Notification Channels
Making Web Calls Using Rest API
Processing Task in Background (Thread & Async)
Loading and Displaying Data with TableView
Save Data Locally on your Device