Introduction to Firebase
  • Introduction
  • A little about me your future instructor
Installing and Configuring CocoaPods
  • What is Cocoapods and how do I install it
  • If you are having security problems installing CocoaPods
First Steps with Firebase
  • How to create a Firebase acccount
  • Firebase dashboard
Creating your first project with Firebase
  • How to create a Firebase application
  • Setup a Swift project using Firebase Pod
  • Setup a Swift project using Firebase Framework
First steps with Firebase and the Console
  • Creating a reference to Firebase and reading your first value
  • Writing a simple value to Firebase
Bring Firebase to the iPhone UI
  • Displaying the value in Firebase in a Label in realtime
  • Sending the value from a Text Field to Firebase
  • Creating more sophisticated nodes (Json) in Firebird
  • Creating a node users with string for the name and a boolean "isOnline" in Swift
  • Just send user when button is pressed
  • Set the text and the background color according to the user details in real time
  • Set the background color according to the user state in realtime
  • Design a simple but resizable (autolayout bonus material) Login/Sign Up screen
Creating our data structure
  • Connection textfields and buttons
  • Creating and authenticating a new user in Firebase
  • Presenting login and sign up the errors to the user
  • Segue to table view controller after authenticate user with Firebase
Data Structure
  • Understanding Firebase flattened architecture (NoSQL)
  • Creating a flattened structure to our data
  • Creating a UITextField inside an alertdialog to request the username
  • Adding new User Node
  • Keep the user logged in and logout functionality
Sending the Message
  • Create the modal ViewController to enter the message
  • Populating MessageViewController
  • Sending the message to Firebase
  • Receive new messages in real-time from Firebase
  • Displaying new messages in the tableView
Bonus: Now let's make This app even Better
  • What do you think could make this app better?
Bonus Section - Adding JSQMessage and making our app look like the iMessage app
  • Note - This section is currently under construction, read this!
  • Importing the JSQMessagesViewController pod to the project
  • "Refactoring" the segueways
  • A little debug trick that can come hand (always come hand)
  • Debuging the view and disabling the attachment button
  • Creating the Avatars and Message Bubble
  • Overriding the CollectionView delegates
  • Sending the first message
  • Sending the messages up to Firebase
  • Receiving the old messages from Firebase
  • Receiving the real time messages
  • Retrieving users username
  • Creating Avatar to all Users
Displaying Online and Offline Users
  • Setting user online when first login to Firebase
  • Dealing with losing connections
  • Setting user offline when the application is closed
  • Check if we have the user data before unwrap the data
  • Adding observers for the users
Sending Photo as Message
  • Unhidding the Acessory button
  • Creating the ActionSheet to select between Camera and Galery
  • Open the Camera or the Gallery picker if pressent
  • Implement the delegate method to Get the Image or Cancel Operation​​
  • Creating a Static Helper Class to resize the Image
Understanding Security and Rules when using Firebase
  • Overview of Firebase security tools
  • Rule Type .Read and .Write what it is and how to use
  • .Validate - How to validate strings for length, use operator such as and and or
  • Security and Rules Inheritance
  • How to authorise read and write only for authenticate user or specific users
Tell us what you learned
  • Time for the true
Resources
  • Files / Links / Resources
  • Share your GitHub repository and/or projects
  • Apps Created by the Students and Published in the Apple Store
Students Q & A
  • Paul- EXC_BAD_INSTRUCTION Problem
Bonus tracks
  • GitHub, How to use directly from Xcode (no extra software, no terminal)
  • More to come...
Others
  • Feedback on the new Promo Video
  • Swift Quick Reference eBook
  • Find the best deals here
Claim your discount here
  • 50% OFF new Firebase course