
Plan and implement the rider home screen for the Uber clone, subdividing it into four segments and building the app bar and each segment step by step.
Create the Uber clone home screen with a stateful writer home screen, a custom app bar, and a rounded search area, using the sizer package in an MVC setup.
Implement the rider home screen's previous trip records using a tappable ListView.builder, showing address items with location icons and a forward arrow, navigating on tap to another screen.
Implement the home screen suggestions feature by building a row of image cards with titles like trip rentals, reserves, and intercity, using assets images and Flutter layout widgets.
Implement a promotion banner and a horizontally scrolling explore features section on the home screen with list view builders and asset images, and enable bouncing scroll physics.
Create a Flutter service screen for the Uber clone by building a stateful widget, a scaffold, and a padded list view with two rows of image tiles and titles.
Implement a trip history screen in a flutter Uber clone with a list view. Show ten items, each with a vehicle image and destination/time details, styled with app textiles.
Implement the account screen in Flutter by building a stateful account widget with a scaffold, safe area, profile row, avatar, top action buttons, and a scrollable list of account options.
Implement a bottom navigation bar in the rider view using a persistent bottom nav bar v2, with four items (home, services, activity, account) and provider-based state management to switch screens.
Implement a login screen for the Uber app using Flutter, featuring mobile number input with country code picker, a stateful widget, and a reusable elevated button.
Build a Flutter login screen by composing dividers, expanded widgets, and a list view of login options, then add 'find my account', privacy policy, terms, and a reCAPTCHA notice.
Present an otp screen for a flutter and firebase cab booking app, featuring a six-digit pin code field, countdown timer, and an auth provider for mobile number verification.
Build a common Flutter registration screen for drivers and riders, featuring a profile photo avatar, name, mobile, email fields, a driver vehicle type dropdown, and image selection via the avatar.
Implement a registration screen in flutter using a stateful widget, featuring text fields for name, mobile number, and email wired to controllers and configured with hints, keyboard types, and borders.
Implements a selectable user type on the registration screen, allowing users to choose between driver or partner (writer) with a tappable continue option, a check indicator, and state updates.
Explore building a registration screen for a cab booking app with flutter and firebase, switching between customer and partner flows with continue buttons, conditional fields, and a progress indicator.
Implement a Flutter partner registration screen with vehicle details—brand name, model, type, registration number, and driving license number—plus fields, using text fields, a vehicle type dropdown, and initState and dispose.
Set up Firebase for the Uber project in the Firebase console and configure Flutter Fire for Android and iOS; Install NodeJS and Firebase Tools, log in, and enable phone authentication.
Implement mobile authentication in a Flutter app using Firebase auth, including sending an OTP, handling the verification code, and navigating to an OTP screen.
Implement the mobile authentication flow by checking user status on launch and routing authenticated users to the home screen, while sending unauthenticated users to the login screen with OTP verification.
Set up Firebase real-time database and storage with test mode, implement a profile data model and image upload, and enable driver and rider registration that saves data to the database.
Implement authentication checks to verify a user is registered, route drivers to the driver home or riders to the rider home, and register new users to the database with profile image upload.
Fetches the user's current location using geolocator and retrieves latitude and longitude with best for navigation; then uses geocoding to return the formatted address.
Create an asynchronous function to fetch a location address from latitude and longitude using a geocoding api, returning a pickup location model with latitude, longitude, place id, and formatted address.
Implement a pickup and drop location screen in the rider section using a stateful widget with a custom app bar, two text fields, and right-to-left navigation from the where-to button.
Build a location provider to search pickup and drop addresses with the Places API, enable the API in Google Cloud Console, and update locations in the Flutter Uber clone.
Implement a Flutter ride-hailing app workflow by fetching the current address from lat long, updating the pickup location, and providing search results via a location provider.
Populate the account screen with real-time profile data by creating a profile data provider, fetching data from the database, and displaying the user's name and photo via a network image.
Implement the driver app screens with a bottom navigation bar, creating home, activity, and account screens, and adapt rider components with provider-based state management for drivers.
Display Google Maps on the driver home screen by enabling map SDKs for Android and iOS, creating a Maps provider, and animating the camera to the driver's current location.
Deploy a swipeable button on the driver home screen using the flutter swipe button package to toggle online and offline status; swiping toggles trip requests and push notifications accordingly.
Use the flutter geofire package to divide the map into grids and fetch nearby drivers within a radius. Configure firebase real-time database rules and update online driver locations.
Set up the geo fire package in pubspec.yaml, initialize geo fire, and implement online/offline status plus real-time driver location updates using Firebase.
Power geofire driven driver status in a Flutter app using a stream builder with Firebase real-time database to go online, go offline, and track location grids.
Build a write request (trip) model and direction model, wired to a provider. Call google maps direction api to obtain distance, duration, and polyline, and serialize the results for the trip.
Decode polylines from the direction model in the ride request provider. Integrate Flutter polyline points, update polyline fields, and configure pickup and drop icons.
Update pickup and drop locations with lat long coordinates by fetching them from place ids and update the ride request provider, then navigate to map to book a ride.
Navigate the book a ride screen to set pickup and drop locations, fetch current addresses and coordinates, and update the location provider for a seamless right-to-left transition.
Display a Google map on the book ride screen, build and render polylines from pickup to destination using direction details, and show markers with a bottom sheet price slider.
Implement pickup, destination, and car markers on the map, update markers asynchronously, handle null checks, and display ride fares for multiple Uber variants.
Implement a sliding up panel in a Flutter Uber clone to display vehicle types and fares, enable car type selection, and provide a continue action.
Implement ride request services in a flutter and firebase cab booking app, wire a sliding panel UI, and manage ride statuses from waiting for ride request to ride completed.
Learn to fetch nearby drivers from the pickup location using geo fire, manage a nearby drivers list, and dynamically update map markers as drivers enter, move, or exit the area.
Fix car rotation on the map by patching nearby drivers, updating the marker, and removing rotation and the for loop to show a single online car in the camera view.
Learn how to implement push notifications in a Flutter and Firebase app using Firebase Messaging, including foreground and background handling, token management, and ride request alerts.
Configure Firebase Cloud Messaging, initialize push notifications for both users, fetch and store the device token, and subscribe riders and partners to relevant notification topics.
Create a push notification dialog for ride requests in a Flutter Uber clone, integrating Firebase push notifications, playing a sound, showing car images and pickup and destination locations with swipe-to-accept.
Develop and refine driver ride request services for a Flutter and Firebase cab app, including accepting, canceling, availability checks, and status updates.
Learn how to set up Firebase Cloud Messaging for a Flutter cab booking app, obtain the server key, test push notifications to device tokens, and handle ride request notifications.
Handle push notifications when a driver accepts a ride by navigating to a map with polylines from the driver to the pickup and destination using Flutter and Firebase.
Show the driver's current location on a map with polylines. Build the driver trip screen with ride request provider, markers, pickup/drop location models, and OTP verification on ride acceptance.
Uncover how the driver trip screen updates direction details from current location to pickup, decodes polylines, and manages markers and push notifications to reflect live ride progress.
Discover how to build the driver trip screen in a Flutter and Firebase Uber clone, animate the map to the driver's location, update pickup and drop locations, and draw polylines.
Explains triggering the OTP flow on the driver trip screen, updating ride status, and map markers in a Flutter and Firebase Uber clone, including polyline decoding and push notifications.
End the trip by writing data to rider and driver ride histories in Firebase, generate a unique id, set end time, and return the driver to the home screen.
UBER Clone using Flutter and Firebase
This course is designed to be a complete reference guide to building a fully functional Uber clone app using flutter. 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, Mobile Authentication, Google Maps, Push Notification and much more.
Why Is This Course Right for Me?
Absolutely Yes, the best way to gain a good understanding of advanced concepts in Flutter is by practicing with real-life examples that implement these advanced concepts in ways you will probably use them while building your own custom app. So you will learn to build and design beautiful and Responsive real-life app from scratch.
Flutter provides a very fast and easy way to build functional apps that could run on both Android and iOS. So save yourself a lot of time by learning advanced concepts by building a really real world Cab Booking Application.
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 CTC 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?
What Should I Expect After this Course?
Build a Complete Ride-Sharing on iOS and Android Using Flutter
Good understanding of Firebase Database
How to build a real-world application in a very structured and organized manner
Other Things to Learn Includes
Flutter UI and Design Basics
Flutter Advanced State management techniques
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
Making Web Calls Using Rest API
Processing Task in Background (Thread & Async)
Loading and Displaying Data
Save Data Locally on your Device
Who this course is for:
Those with basic knowledge of building apps with flutter
People who want to take their Flutter knowledge to an advanced level
Those who want to build real world application using flutter