
Learn to build a production-ready onboarding and authentication flow with Firebase, covering sign up, login, and password reset using MVC architecture in Swift 5 and Xcode 11.
Credit the icon asset sources used in the project, noting flat eye contact call for images and pixels dot com, and inviting viewers to explore these resources.
Create a brand new Xcode project and outline a high level onboarding flow with a loading screen, a lock and sign up view, and a getting started collection view.
Implement loading view controller logic to route users by login status, directing new users to onboarding and returning users to the main tab bar.
Refactor the onboarding flow by extracting a global delay function into a helper file, replacing hard-coded strings with a constants struct, and centralizing storyboard and view controller identifiers for maintainability.
Add a logout button in the settings view controller to return to the onboarding screen via a navigation controller and bar button item. Use a cross-dissolve transition.
This lecture demonstrates general refactoring to remove duplicate code by creating a singleton present manager that centralizes presenting the onboarding and main tab bar controllers.
Learn how to add an image to the launch screen and a floating view controller by importing an asset, setting image views, centering with constraints, and enabling aspect fit.
Learn to enhance the onboarding view by adding a get started button, setting constraints, and wiring a transition from the onboarding view controller to the login/sign up pitch.
Learn to build an onboarding flow by configuring a horizontally paging collection view in the onboarding view controller, wiring data source and delegate, and populating test cells.
Create an onboarding collection view with a slides model, populate each cell with images from assets, configure the image view to fill the cell, and display the selected image.
Build a complete onboarding view controller that updates slide titles and descriptions as users swipe. Wire up labels and a page control to reflect the current slide captions.
refactor onboarding view controller to implement a dynamic page control by setting the number of pages through a setup page control function, enabling correct page indicators across multiple slides.
Create the login and sign-up user interface for the onboarding flow by configuring a login view controller, adding an image, a segment control, stacked text fields, and action buttons.
Enable login and sign-up toggling with a segmented control to show or hide email and password fields, password confirmation, and sign-up button.
Implement a delegate pattern to dismiss the login view controller from its onboarding parent and transition to the main tab bar controller via prepared segues.
Manage login errors by toggling an error label based on an optional error message. Learn to set an error message, update the label, and display 'your password is invalid'.
Install and integrate MBProgressHUD using CocoaPods, create and edit the Podfile, run pod install, and open the workspace to verify the library in your iOS project.
Shows MBProgressHUD animation during login and logout with a two-second delay, dismissing the indicator and returning to onboarding, while handling closures correctly.
Add top bar icons for home and settings by importing mono color assets, resizing to 75x75, 50x50, and 25x25, naming assets consistently, and testing in the iOS simulator.
Refactor and streamline the onboarding, login and sign-up flow by improving navigation, large titles, and user interface consistency across home and settings, with safer optional handling and reuse identifiers.
Address a UI bug in onboarding: tapping the Get Started button dismisses the keyboard and clears the email field focus before processing the request.
Install the firebase sdk into your iOS Swift project, download and add the config file, run port install, import firebase, and call FirebaseApp.configure() in app delegate to validate integration.
Add the google service plist to your gitignore to prevent exposing credentials. Use the terminal to edit and save the .gitignore, then commit the change.
Register a brand new user via the sign up flow using Firebase authentication with email and password, handling success, errors, and onboarding routing.
Implement sign up form validation in Swift for iOS, checking non-empty email, password, and confirmation, ensuring passwords match and handling Firebase 'email already in use' errors.
Demonstrates a complete onboarding sign-up flow with Firebase, including error handling, loading feedback, and navigating to the main tab bar while displaying the signed-in user's email on the home screen.
Implement logout by calling firebase off sign out in a do-catch block and navigate the user to the onboarding screen.
Implement Firebase authentication for email and password login, validate inputs, show and hide loading animations, handle errors, and navigate to the home view displaying the signed-in email.
Launch the app with the loading view controller to preserve sign-in state, using Firebase's current user to determine if the user is locked in and skip onboarding on relaunch.
Refactor your authentication by building an auth manager that wraps Firebase functions, implementing sign up and sign in with completion handlers and result-based success or error handling.
Refactor the logout flow by moving logout logic into a dedicated off manager with a result return, handling success by showing onboarding and failure with a toast error using Love.
Learn to implement a forget password flow using an alert controller with a text field to collect email, send a reset password link, and prompt users to check their email.
Test the onboarding and login flow using a disposable email to validate sign up and password reset in the Firebase-backed app.
Refactor authentication logic by moving the is user locked in check to the off manager, remove firebase off imports from view controllers, and streamline onboarding, loading, and settings flows.
Fix the onboarding text update bug by invoking show caption at index 0 to refresh the displayed sentence on the onboarding screen.
Learn to hide the login error label as users type by observing text field changes with the Combine framework, and implement a clear button in text fields.
Welcome to the iOS 13 & Swift 5: Build an Onboarding Login/Sign-up flow course with Firebase Authentication.
This course is designed for beginners (6 months of experience) who wants to acquire a core foundation on building an app skeleton end to end. The course provides you with the thought process and skillset to build a functional skeleton app that can be used for most types of apps that require an onboarding screen, login and sign up screen - all integrated with Firebase.