
Build a cross-platform social app for Android and iOS using Ionic and Firebase, with authentication, data in Cloud Firestore, storage, messaging, and Cloud Functions.
Ionic enables cross-platform mobile apps for Android, iOS, and Windows using HTML and JavaScript, while Cordova wraps web apps into native apps with Angular, TypeScript, and progressive web apps.
Install Node.js and npm, verify versions, and install the Ionic CLI with Cordova; set up Visual Studio Code to begin building your first Ionic app.
Learn to run an ionic app on android emulator by using Android Studio to create a virtual device and deploy with ionic cordova run android to emulator or device.
Learn to build and run an Ionic app for iOS by adding the iOS platform, installing Xcode, and deploying with Ionic Cordova run iOS on a Mac, with simulator testing.
Design the wireframes for the login and sign up pages of the Feedly Ionic app, connect them to Firebase authentication, and enable users to sign up and log in.
Design a signup page in an Ionic app by generating the page, wiring it into the app module, and enabling login-to-signup navigation with the navigation controller.
Enable Firebase authentication and sign up users with email and password in an Ionic app, binding name, email, and password with ngModel and updating display name in the user profile.
Implement login with Firebase Authentication by signing in with email and password, binding inputs, and handling success and errors to connect the pages to Firebase authentication.
Polish login and signup experience in Ionic apps with Firebase by adding toast and alert messages that display success and error feedback.
Design the feed page by placing an end-position logout icon in the navigation bar and arranging components in a row: icon button, input, and icon button, with borders.
Design a responsive Ionic feed card with a post item showing the owner name, post text, and a bottom bar for likes, comments, and time, using Firebase.
Order posts by the created field in descending order to show latest polls on top, and display time since creation in a human readable form using moment.
Implement pull-to-refresh using ion refresher to fetch the latest posts via the gatepost function, reset the post array, and re-enable infinite scroll for a seamless feed refresh.
Learn to receive real-time updates from Cloud Firestore in an Ionic app by using onSnapshot to react to added, modified, or removed documents.
Improve user experience in the Ionic Firebase app by adding a loading indicator, clearing post input after submission, displaying a success toast, and implementing logout with login redirection.
Learn to upload images to Firebase storage from an Ionic app by capturing photos with the device camera using Cordova plugins and the Ionic Native camera wrapper.
Import the Ionic native camera module, configure it as a provider, inject it into the feed page, and prepare to invoke the device camera in the app.
Learn to launch the device camera in an Ionic app via the Cordova camera plugin and ionic native wrapper, configure capture options, and obtain a base64 image for Firebase upload.
Run Ionic Cordova app with Firebase on an Android emulator, use Chrome remote debugging to inspect logs, test a camera plugin, and work with base64 image data for Firebase storage.
Upload images to Firebase Storage in Ionic app by converting base64 data, saving under post images with a unique file name, and tracking progress via the upload task state changed.
Display a loading overlay during image uploads to Firebase storage, updating the upload percentage via bytes transferred and total bytes, using a loading controller.
Explore cloud functions in Firebase to power real-time like and comment features in an Ionic app, hosting secure, scalable code on Google infrastructure and responding via simple HTTP requests.
Explore implementing likes and comments in Ionic apps with Firebase using Cloud Functions, storing comments in a collection with per-post comments count and a like count via a likes array.
Install the firebase cli as a node module, log in to your Firebase account, and initialize a project with cloud functions using TypeScript.
Learn to create and deploy a basic Firebase cloud function with the Firebase CLI, invoke it via browser, and view logs, preparing to update likes in Firestore.
Create a cloud function update like count that reads post id, user id, and action from the request to update the post's likes in Cloud Firestore and return status 200.
Deploy the Firebase cloud function update like count, then test it with Postman to verify per-post like counts update and track user like state.
Implement a like toggle in an Ionic app with Firebase, binding a like button to a cloud function that sends post id, user id, and action.
Enable real-time like updates in an Ionic app by wiring Firestore document changes to the UI, displaying live like counts via interpolation and zero defaults when the field is missing.
Enhance user experience by implementing real-time like updates with Firebase and Cloud Firestore, and use a toast controller to show updating and like updated for three seconds.
Implement a comments feature by storing new comments in the comments collection and automatically updating the related post's comment count via a Firebase cloud function triggered on new documents.
Learn to update a post’s comments count automatically with a Firestore cloud function triggered on new comments in the comments collection, with real-time updates in the app.
Create a comments modal to view all comments for a post using a generated comments page and the modal controller, passing the post data to display comments.
Dismiss the modal with the close button and the Ionic view controller, display human-readable comment times using moment, and order comments by created time with a composite index in Firebase.
Firebase cloud messaging provides a cross-platform solution to notify post owners about events, such as likes or comments, on their posts.
Configure firebase for android and ios, register app packages and SHA-1, download google-services files, then install cordova plugins and ionic native wrappers for firebase cloud messaging.
Install the Firebase Cordova plugin and Ionic Native wrapper, register users with Firebase Cloud Messaging, obtain and store device tokens in Cloud Firestore, enabling push notifications for likes and comments.
Register users for firebase cloud messaging only when logged in, fetch the token with the ionic cordova firebase wrapper, and merge token updates in the cloud firestore user document.
Automate push notifications for post owners using Firebase Cloud Functions, sending alerts on new likes or comments via device tokens and Firebase Cloud Messaging.
Test firebase cloud functions and automated push notifications in an Ionic app with Firebase cloud messaging, validating that likes and comments trigger notifications to post owners on Android emulator.
Ionic Apps with Firebase is a complete course that will teach you two leading app development technologies - Ionic Framework and Firebase. In this course, you will learn all about Ionic and Firebase while working on a real world social application. At the end of the course, you can publish your app.
We start by learning the basics of Ionic and Firebase. Once introduced to both the technologies, you will learn about building the front-end of the mobile app using the Ionic Framework and the back-end will be taken care of by Firebase. The code for each lecture is available for students to refer to in an easy to use and organised way. A repository will be shared with each student and the code for each lecture is available on a separate Git branch. You can clone the repository as well.
You will be building a Social Mobile App using Ionic and Firebase - Feedly.
You will learn about
So, what are you waiting for? Start learning and build your own real world social mobile app with the Ionic Framework and Google's Firebase.