
Kick off the Android Firebase Firestore masterclass by building a complete shop app from scratch, then customize features and UI for your own use.
Create login and register flows and set up Firebase authentication, storage, and Firestore to manage users, products, carts, checkout, and orders.
Start from the beginning and work step by step to get the most out of this Android Firebase Firestore masterclass, using exercises, downloadable code, and Q&A to reinforce learning.
Discover how to use the course downloadable resources by downloading the my Shop version ten zip, opening it in Android Studio, and running through the progress dialog steps.
Set up the Android Firebase Firestore project, configure the splash screen, apply custom fonts, text views, and buttons for ui consistency, and begin the login screen.
Learn to create a custom Android app icon in Android Studio using adaptive and legacy launcher icons, with foreground and background layers, safe zone, and automatic scaling.
Design and implement a custom app icon in Android Studio by creating an adaptive launcher icon with foreground and background layers, updating mipmap resources, and testing on the emulator.
Set up the Firebase console for an Android app by obtaining the sha-1 key, creating a Firebase project, and configuring Gradle, Google services, Google Analytics, and Firestore.
Set up a splash screen displaying a drawable image, with a white color and defined dimensions, then navigate to the main activity after 2.5 seconds in portrait mode.
Create and reuse a custom bold text view to apply fonts and styling across your app, replacing manual text view configurations and enabling centralized design.
Add Montserrat bold font to assets, create a custom text view that applies a typeface from the asset, and reuse it across layouts for a consistent Android app design.
Build reusable UI components by creating MSP edit text and MSP button with a shared font. Define a color theme, gradient background, and a login activity across screens.
Set up the Android login screen with a gradient button, dark theme support, and a constraint-based XML layout using custom fonts, while outlining register and forgot password features.
Set up a register activity and layout in Android, linking login to register, with fields for first name, last name, email, ID, password, terms, and a register button.
Create a register screen with a back button to the login screen, validate first name, last name, and email, and display error or success snackbars via a base activity.
Learn Firebase authentication fundamentals and implement login and registration screens in a shop app, validating user data and integrating secure authentication.
Learn to implement Firebase authentication in Android using Kotlin, building login and register screens with email and password, integrating the Firebase console, Google services JSON, and main activity flow.
Enable Firebase authentication with email and password to register users in your app. Implement create user with email and password, handle oncomplete, and use uid for the user profile.
Add a progress dialogue during user registration to show background tasks, using a custom layout in a base activity and dismissing it after registration completes.
Coordinate the login flow by validating user entries, signing out after registration, and preparing onClick handlers with error snackbar feedback using Firebase Auth.
Log in users by validating non-empty email and password, then authenticate with Firebase using email and password. Show a progress dialog and display success or error messages.
Create a forgot password screen in an Android Firebase app and wire the login screen to open it. Use Firebase Auth to send a password reset email and show results.
Design the forgot password activity, wire navigation from login via an intent, configure the toolbar and layout, and prepare to trigger a password reset in the next video.
Implement forgot password using Firebase Auth to send a reset email after validating input. Show progress, then signal success with a toast and return to login, or show errors.
Set up Firestore to send and retrieve user information after authentication, and enable profile image upload to Firebase storage with Android permissions, leading to a finished profile screen.
Learn to set up Cloud Firestore for a many-to-many data model in an Android app using Kotlin, initialize the database, configure dependencies, and perform read and write operations.
Create a user model and store it in Firestore under a users collection using the Uid as the document ID. Merge data for future updates and handle success in registration.
Retrieve data from Firestore by obtaining the current user id from Firebase Authentication and reading the user's document from the users collection.
Store the username on the device with shared preferences to minimize Firestore reads, saving the logged in username under the my shop poll prefs key and displaying it.
Create a user profile activity with a scrollable form, toolbar, gradient header, and fields for first name, last name, email, mobile, and gender, plus manifest and resource setup.
design the user profile ui with a reusable Montserrat bold radio button and a gender selector, including a save button, and route first-time users to profile via Firestore profile_completed.
Learn to store complex user details on the device by parceling with shared preferences, using a parcelable user and passing it via intent extras to the profile screen.
Learn how to request and handle Android permissions in a starter app, including camera and location, by updating the manifest, calling ActivityCompat.requestPermissions, and processing onRequestPermissionsResult.
Learn to implement a permission flow to store a profile image on Android: request read external storage, handle permission results, and provide feedback with a snackbar or toast.
Implement a gallery image picker to load a user profile image from device storage, handling permissions, a request code, and updating the image view with the selected Uri.
Load a user profile image in Android with Glide by adding Gradle dependencies, creating a Kotlin Glide loader, and centerCrop loading a Uri into an image view with a placeholder.
Implement mandatory mobile number validation in the user profile: trim input, show an error snackbar if empty, and enable save only when details are valid before persisting to the cloud.
Update the user profile in firestore by building a hash map with mobile and gender, reading input, and updating the current user document with merge.
Learners will upload and retrieve files to Firebase storage, explore dashboard activity and fragments, expanding beyond login and profile screens to build a fuller app.
Learn how to upload and store images in Firebase storage for a shop app, including selecting images, handling permissions, and retrieving download URLs.
Learn to use Glide to load images in Android apps, from URI or URL, with placeholders, by adding dependencies and binding to image views in a Firebase Auth demo.
Upload a profile image to Firebase cloud storage, set secure storage rules, and manage the app's upload flow with mime type handling, storage references, and the download URL.
Learn how to store the uploaded image URL in Cloud Firestore and update the user profile with an image field, including validation and the image upload flow.
Update the user profile by adding a profile completed flag to Firestore, update the HashMap with one, and route login to the profile or main screen based on the flag.
Create a dashboard activity with bottom navigation to host dashboard, home, and notification fragments, using the navigation component and view models to manage text with live data.
Clean up the project by removing dashboard and home view models, set text views directly, drop lifecycle dependencies, implement double back to exit with a 2-second toast, and reorganize ui.
Refactor fragments to dashboard, products, and orders, rename related layouts and ids. Update bottom navigation, start destination, icons, and strings with a white theme on a gradient background.
Learn how to enhance the dashboard fragment with a gradient action bar, add a dashboard menu item for settings, inflate the onCreate options menu, and launch a dedicated settings activity.
Design the settings screen layout with addresses, edit options, and a logout button, and prepare the manifest and xml for a portrait, scrollable view.
Load profile data from Firestore into the settings activity by retrieving user details, showing a progress dialog, and updating the name, gender, email, phone, and user image with Glide.
Add logout with Firebase Auth and onClick listeners in settings; navigate to login with clear task flags, and pass user details to the profile activity for editing.
Learn to make profile screen editable by adding a back button in the action bar, handling complete vs edit states, and updating first name, last name, email, mobile, and gender.
Learn to add products, upload and display product images, and prepare products for an e-commerce app, following the same approach as the profile screen.
Set up the add product flow by adding an add button and vector asset, creating an add product menu, and navigating from the products fragment to the add product activity.
Design a complete add product activity in android: build a scrollable UI with image upload, title, price, description, quantity fields, back navigation, and submit action using manifest and vector assets.
Let users select a product image by tapping the image, request read external storage permission, show an image chooser, and load the result with glide into the product image view.
Validate all product details before submission to Cloud Firestore, checking image, title, price, description, and quantity, and display specific error messages for any missing field on the submit action.
Learn to upload product images to Firebase Cloud Storage from an Android app, using image type constants, progress dialogs, and snack bars, with distinct flows for product and user images.
Prepare the products page by upgrading the fragment layout, introducing a base fragment with a reusable progress dialog, and scaffolding a recycler view to display products loaded from cloud storage.
Fetch user-specific products from Firestore by querying the products collection with the current user ID, build a product list with IDs, and display it in a fragment-driven recycler view.
Build and configure a recycler view with a custom adapter and view holder to display items as a list or grid, switching layouts with a floating action button.
Create a product list in a recycler view by designing an item layout and adapter, loading images with Glide, and toggling visibility to show products or a no-products message.
Prepare the dashboard fragment by adding a no items found string, switching to a recycler view, and fetching all products from Firestore to display dashboard items with a progress dialog.
Create a dashboard items list adapter and a two-column recycler view to display products with images, titles, and prices, using glide for images and the item dashboard layout.
Implement a delete product feature in an Android Firestore shop app by adding a delete icon in the item layout and triggering server-side removal via the products fragment and Firestore.
Master deleting a product in Firestore by showing a confirmation alert dialog, handling progress and errors, and refreshing the product list in a shop app.
Wire the click action from the recycler view to display a product's details on the screen.
Add a new product details activity and layout, configure portrait orientation, and wire the product list to open details via an intent.
Pass product id from the products screen to the details screen via an intent extra, use a constant, send from the adapter, and log in the details activity for testing.
Retrieve product details from Firestore by querying the products collection with a product id, map to a product object, and populate the UI with image, title, price, description, and stock.
Configure a custom onClick listener in the dashboard items adapter to navigate to the product details screen, passing the selected product data via intent.
Implement an add to cart button on product details that appears only for non-owned items by passing extra product owner ID, comparing with the current user, and toggling visibility.
Learn to implement a cart item data model and wire up an add to cart action in the product details screen, using onClick and Firestore user data.
Learn to implement add to cart in Android with Firestore by creating a cart items collection, handling success and failure, and displaying product added to your cart.
Learn to add a go to cart button that appears only when the cart has items and the user doesn't own product, using Firestore checks and success or failure listeners.
Prepare the cart UI by building a cart list activity, adding a top-bar cart button, and wiring navigation from product details to the cart, including a no item found state.
Update the cart list activity to load and display user cart items from Firestore, using a base activity, progress dialog, and a back button with a setup action bar. Fetch cart items for the current user, convert documents to cart items, and prepare the item card layout and add/remove vectors for the upcoming adapter.
Build a cart list using a RecyclerView and cart items list adapter to display image, title, price, and quantity, and compute subtotal and total with a fixed shipping of $10.
Prepare the cart amount with stock checks to avoid exceeding stock and consider backorder options, while fetching all products from Firestore for accurate stock data.
Sync cart items with product stock by iterating product and cart lists. Hide the progress dialog on success and initialize the cart items with available quantity.
Apply stock checks in the cart by updating the cart items adapter to show out of stock, hide plus/minus, and delete items from Firestore with a success message.
Implement plus and minus buttons to adjust cart item quantities in Firestore, updating stock quantity and cart quantity, with out-of-stock and item removal on zero cart quantity.
Learn to create and manage multiple shipping addresses, define address types, and select the address for a product at purchase.
Create an address list activity to add and display addresses, with a recycler view, custom add address button, and navigation from settings via intents using a proper toolbar setup.
Design an add/edit address activity with fields for full name, phone, address, zip code, notes, and home/office/other radio group, linked from the address list, with portrait mode and back navigation.
Validate user entries in the add address flow, show an error snack bar for missing data, and prepare the address data model with type information and Firestore save workflow.
Create a new addresses collection in firestore and implement add address with merge options and error handling. Update the UI with progress dialogs and success toasts.
Fetch current user's addresses from Firestore by querying the addresses collection where user ID equals current user ID, and log results to prepare the address list UI.
Display user addresses in a RecyclerView by creating an item address layout and address list adapter, binding name, address, phone, and type from Firestore, with visibility and linear layout manager.
Master swipe to edit for address list items in a Kotlin Android Firestore app by wiring an edit swipe callback, passing address details to the add/edit address activity.
Load and display address details after swiping, then update or add the address in Firestore and show a success toast after edits.
Implement swipe to delete for addresses in a Firestore-backed shop app, adding a delete icon, a swipe-to-delete callback, and a refresh of the address list.
Implement checkout flow by enabling address selection in the cart, passing a select address boolean via intent, and using startActivityForResult to reload addresses after updates.
Prepare the checkout activity and integrate Firestore connections to enable product purchases, guiding you toward completing the shop app and moving to the next video.
Create a checkout activity with portrait orientation and no action bar, featuring a recycler view, address selection, and cash on delivery to place orders.
Display the selected address on checkout by passing the address model via intent from the list to the checkout activity, then populate type, name, address, notes, and mobile number.
Populate and sync the cart with stock quantity in the checkout activity using a recycler view, and control minus, plus, and delete button visibility.
Build an order data model, compute subtotal and total with shipping, and save the order to the Firestore orders collection, then navigate the user to the dashboard after success.
E-commerce is the future of commerce, and throughout this brand new course, we will learn how to build this future together.
This new course is specifically designed so you can build your own Firebase e-commerce application using simple technics and an easy step-by-step guide.
You probably already have some experience with Android Programming, but haven't worked with cloud solutions such as firebase yet? No problem at all! This course is suitable for everyone with the motivation to build his own application with a cloud database. I will give you simple explanations of the complex tools and will help you with every step.
In this course, you will learn how to build your own e-commerce app for Android using the Firestore database of Google Firebase
You will build the shop app MyShopPal which is an adjustable e-commerce application that you can use to create your own store or use it as a template to create an e-commerce app for your client. The code itself is worth hundreds if not thousands of dollars.
In this course we are covering such topics as
Firebase basics
How to upload and download data to and from an online database
Displaying Images from the Cloud in your app
Creating User Profiles
Uploading and displaying Products
Building a Cart System
Selecting images from your phone
After my step-by-step guidance, you will be able to
build your own Cloud Apps. Not only Shop apps but with the Firebase skills you will acquire, you will also be able to build Apps like Whatsapp, Instagram, or Tinder
We will build the application from scratch together. Starting with the login page and authentication, dashboard with your merchandise we will build the complete and finished app.
30-DAY FULL MONEY-BACK GUARANTEE
This course comes with a 30-day full money-back guarantee. Take the course, watch every lecture, and do the exercises, and if you feel like this course is not for you, ask for a full refund within 30 days. All your money back, no questions asked.
ABOUT YOUR INSTRUCTOR:
My name is Denis Panjuta and in my courses, I have taught over 150.000 students how to code. I have a Bachelor of Engineering at the University of Applied Sciences in Constance (Germany). I love teaching and creating high-quality courses. My mission is, to teach programming to over 10 M people!