
Learn how to refactor a login UI by creating reusable extensions for text fields and input containers, reduce copy-paste, and assemble components with a vertical stack view.
Finish the login UI by adding a login button and a sign up button below, and introduce a UIColor extension to create and reuse a main blue tint for styling.
Configure a programmatic sign up UI for the Uber clone app, adding email, password, full name, and a rider/driver account type segmented control in a stack-based layout.
Register a new user with Firebase using email and password. Save the user's full name, email, and account type under a unique user id in the real-time database.
Set up the home controller as the app’s entry point, check Firebase authentication to present the login controller when needed, and implement sign out with a main thread UI update.
Implement and test the login and signup flow to present the home controller, dismiss the login screen on success, and configure a full-screen map view for authenticated users.
Check the completed source code for the updates on how to request location from the user
Develop a location input activation view to present a header, show safe locations, support place typing with nearby results, select a location, and generate a polyline to request an Uber.
Build a programmatic table view for a home controller, create a custom location cell, register and configure data source, and animate the location input view for a slick show‑and‑hide UX.
Set up table view cells for location entries with a title and address in a vertical stack, animate input view removal after alpha animation, and prepare two sections with headers.
Fetch drivers from database within a radius, construct a custom MKAnnotation subclass for drivers with a unique id, and display and update driver annotations on the map in Swift.
Render a custom driver annotation on the map by implementing MKMapViewDelegate and viewForAnnotation, using a custom driver annotation with a unique identifier, and updating coordinates in real time via observe.
Prevent duplicate driver annotations on a live map by using a computed visibility check, and update the driver's position in real time with dynamic coordinates in a Swift / Firebase Uber clone.
Type in a text field to trigger a delegate and execute a search, then populate the table view with MK local search results as place marks.
Animate the ride action view to show after a destination is selected and hide when animations finish, using a show/hide function with a height constant and zero point three seconds.
Implement a custom zoom to fit annotations in a programmatic Uber clone app, adding a map extension to compute a zoom rectangle with edge padding for your ride action view.
Learn to implement ride requests in a programmatic Uber clone by uploading trips with a delegate, using pickup and destination coordinates and tracking status from in-progress to accepted to completed.
Fetch driver trips and observe new ones using a child added observer, construct trip objects, and trigger the pickup screen when a trip is available.
Learn to build a driver pickup controller UI for a ride-hailing app, featuring a circular map view, cancel and accept trip controls, and trip-based initialization.
Configure the map in the programmatic Uber clone app to show pickup coordinates by setting a 1000-meter region, adding an MKPointAnnotation, and selecting it.
Learn to accept a trip in a programmatic Uber clone app. Update the trip state to accepted and attach the driver id, using a delegate to refresh the home controller.
Fully Programmatic Uber Clone | Swift 5 | Firebase | No Storyboards | iOS 13
Welcome! In this course you will learn how to build a fully functioning clone of the famous Uber application. We will be building this app from the ground up, fully programmatically without the use of storyboards.
In addition, we will be using Firebase for our backend database, which we will engineer completely from scratch. Along the way, you will learn all kinds of advanced programming techniques, best practices, professional architecture, and more!
*BASIC KNOWLEDGE OF SWIFT AND XCODE IS ASSUMED
WHY TAKE THIS COURSE?
Learning advanced development skills should be taught using real world examples. In this course you're going to learn to code from a real life, professional developer. You will learn how to code like a pro, and everything will be explained in detail along the way. This will teach you to build production ready applications, that are easily scalable and maintainable.
Here are some of the things you'll be able to do after taking this course:
Understand advanced Firebase backend development
Work fluently with iOS & Firebase
Apply to jr iOS development jobs
Work as an iOS contractor
Who this course is for:
People who want to build advanced iOS apps!
Those who want to create their own startup
Those looking to get a full time job as a developer
Business owners
Students & teenagers
People who want to make money building apps
WHAT YOU WILL LEARN:
Major focus on user experience, using advanced animations and a clean UI
Engineering a database from scratch using Firebase
Integration Cocoa Pods
Custom CocoaTouch View Subclasses
UIView extensions
UIViewController extensions
Creating a sliding menu
Creating a settings page
Searching for locations
Displaying locations on map
Firebase sign in and authentication
Location Services & Geolocation
Saving and showing real time driver annotations on the map
Using Firebase for real time user requests
MapViews
And much more!
Who this course is for:
If you have basic experience with iOS development take this course
If you have basic experience with iOS or mobile development then take this course