
Create a Flutter project for a ridesharing app named Cub Ryder, configure the Flutter SDK, package name, and main page, then run on Android and iOS simulators.
Test your flutter app on the iOS simulator by selecting the device and pressing play after configuring the flutter SDK; Flutter deploys to iOS and Android from one build.
Test your app on a physical android device by enabling developer options and usb debugging, connecting with a usb cable, and running it from Android Studio.
Test a Flutter app on a physical iOS device by configuring a provisioning profile and signing in Xcode, selecting a team, and building from Xcode and Android Studio.
Compare Firebase Realtime Database and Cloud Firestore, highlighting NoSQL structure, real-time synchronization, and query performance; the course guides choosing the Realtime Database and setting up Firebase Database and authentication.
Set up a Firebase real-time database and email/password authentication for your Uber clone app by creating a project, enabling the database in test mode, and configuring sign-in.
Learn to initialize a Flutter app with Firebase Realtime Database, register Android app, add Google services, install Firebase packages, and create a test connection button to write data.
Complete Firebase database setup for iOS by adding app, retrieving bundle ID, installing GoogleServices-Info.plist, and configuring API key, database URL, GCM sender ID, and Google app ID to verify connectivity.
Learn to import custom images and fonts into a Flutter project, configure pubspec.yaml, and apply a brand regular font across the app as you plan the login and registration screens.
Design a login screen in Flutter using scaffold, safe area, and a scrollable column featuring a logo, email and password fields, a rounded login button, and a sign-up option.
Design a flutter registration page by adapting the login scaffold, adding full name and phone number fields, and setting routes to login and registration pages.
Learn routing in a flutter app by defining named routes for registration, login, and main pages, setting an initial route, and using navigator push named with remove until.
Create a custom reusable taxi button widget in Flutter to avoid repetition and enable configurable title and color. Also support on-press actions on login and registration pages.
Register a new user with firebase authentication in a flutter app by wiring four text fields to controllers, implementing a register user method, and validating inputs with snack bar feedback.
Register users with firebase authentication and save full name, email address, and phone number to the firebase database under users/{uid}; handle errors and check connectivity before navigating to main page.
Implement login for existing users in a Flutter app using Firebase authentication with email and password controllers, basic input validation, and navigate to the main page after signing in.
Add a reusable progress dialog widget in Flutter to display a non-dismissible loading indicator during login and registration, showing status updates like logging you in or registering you.
Install the Google Maps Flutter package, enable Maps SDK for Android and iOS, and configure API keys in Google developers console to wire map widget with a controller in Flutter.
Design the bottom-aligned search destination panel on a Flutter map page, using a rounded container, Stack and Positioned widgets, and a search row with an icon.
Apply map padding in a Flutter app to keep Google logo and controls visible on Android and iOS, using platform-aware padding and dynamic height adjustments.
Retrieve the current location with the geo locator package, then animate the map to that position using a camera with zoom 14, while handling Android and iOS permissions.
Enable the Google Geocoding API in the Google Developers Console for the G Taxi project and use geocoding to convert coordinates into a formatted address for map integration.
Implement Google geocoding in a flutter app by creating an HTTP request helper, calling the Google Geocoding API with coordinates, and retrieving the formatted address.
Use the provider package to save and access location, address, and place data across the app with a data provider class powered by change notifier.
Create an address model with place name, latitude, longitude, place ID, and formatted address; save current location to a provider and update pickup address, notifying listeners to refresh text widget.
Create a search page in Flutter for the Uber clone, with navigation from the main page using material page route and text fields for pick up location and destination.
Prefill the pickup location text field on the search page with the current address and auto focus the destination field, using text editing controllers and a focus node.
Discover how the Google Places API retrieves place predictions and details such as name, address, and coordinates from a search query, and how to enable it in Google developers console.
Learn to build a place autocomplete request with the Google Places API, covering required input and key, optional session token and country component, and basic testing.
Learn to deserialize place prediction results into a prediction model and display main and secondary text in a list view, including place id extraction.
Design and implement a Flutter list view to display prediction results using a custom PredictionTile, extracting the widget and binding data from a destination prediction list with setState.
Select a predicted place and fetch its details using the place id and map key to obtain the name, address, and coordinates, then save the destination in app data.
Implement the Google Directions API to fetch routes, build the URL with origin, destination, mode, and API key, and extract distance, duration, and encoded points into a direction details model.
Retrieve directions from pickup to destination by fetching coordinates, calling direction details, retrieving encoded points, showing a progress dialog, and returning a get direction instruction to the main page.
Draw a polyline from pickup to destination on the map by decoding encoded points with the polyline points package, converting to lat/lon, and rendering a purple polyline with round joins.
Learn to fit a polyline on a map using LatLngBounds by calculating southwest and northeast corners, updating the camera, and testing with padding for a complete route visualization.
Add pickup and destination markers and circles on the map, configure markers with positions and info windows, and render them in the Flutter and Firebase Uber clone.
Design the ride estimates panel as a bottom detail sheet in Flutter to display the tip cost with a structured container, icons, and a taxi button.
Animate the switch between search sheet and right detail sheet in a Flutter and Firebase Uber clone, using animated size, platform-specific heights, and a 150 ms show detail sheet.
Develop a fare estimation flow using distance and duration from the Directions API details to compute base, distance, and time components, returning the total fare.
Add a back button to reset ride details and replace the menu icon. Implement a reset app function to clear polylines, markers, and circles and restore map and user interface.
Design and animate ride request panel for the Uber clone app with Flutter and Firebase. Assemble trip details and submit Firebase trip request, using typewriter animation from animated text kit.
Retrieve the current user's email, phone, and full name from Firebase by querying the user reference with the UID, then deserialize into a user model for use in trip requests.
Create a ride request on Firebase by assembling a ride map with pickup, destination, createdat, rider name, coordinates, and a waiting driver id saved under a generated ride reference.
Learn to cancel a ride request by deleting the Firebase ride reference, resetting the app, and hiding the requesting sheet to reveal the stat sheet.
Build an UBER Clone App Using Flutter and Firebase (2020)
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 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 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 real-life app from the ground up, we will teach you everything you need to know.
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 ridesharing 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 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?
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 with Listview
Save Data Locally on your Device