
Install CocoaPods and verify the version, sign in to Firebase, create the QuickChat 2.0 project, download the Google services file, and add it to your project.
if you have problems in lecture 8 (after this lecture) watch this video.
Request location permission and privacy in the welcome view, then build a login screen with email and password fields, a login button, and a register action wired to code.
Register a new user by validating email, username, and password, optionally uploading an avatar to the backend and obtaining its image link, then log in after success and handle errors.
Explore managing privacy and permissions for camera and media library. Build a Camera class that handles photo library access, image picking, and a delegate-driven camera workflow.
Create a custom friends table view cell by connecting outlets for avatar and name label, rounding avatar corners, setting a default placeholder image, and dynamically sizing the name label.
Create a date formatter utility that converts the current date into a string for file naming. Use a year-month-day-hour-minute-second format to ensure unique avatar image names.
Fetch a friend’s user data by id, query the backend for the matching user in the users table, and download and display the avatar in the friend cell.
Refactor the avatar image upload process during registration to ensure reliable avatar handling, create image folders on upload, and test the flow end-to-end in the QuickChat 2.0 app.
Implement a load users function that queries the backend for all users except the current user using the object id, then refresh the table and wire the search controller.
Create recent items for private chats by passing user and room parameters, create two user reasons with id and username, and save dictionaries after existence checks.
Implement restart recent and update recent to manage recent chats for private and group conversations, updating the last message in firebase and creating recents for other users when needed.
Develop an update recent item function that refreshes the latest chat entry with last message, date, and counter, updating all relevant recents in a chat room and saving to firebase.
Explore the chat view controller and its send message function, managing text and media messages with text, picture, location, video, and audio parameters.
Create an outgoing message class that generates and sends messages through five initializers: text, location, picture, meet, and audio, using a mutable dictionary for sender, date, and type.
Learn to send a message in the chat view controller by validating input and passing text and date; configure the chat controller with sender id, display name, and chat room.
Send your first message in a QuickChat 2.0 chat app by debugging the outgoing message flow, converting dates to strings, and saving text messages in a firebase-backed chat room.
Display messages from a real-time database in a swift 3 iOS app, see new messages appear instantly when sent, and implement the load earlier messages function.
Implement a load more messages feature triggered by the load earlier button, updating the collection view, calculating message counts, and inserting new messages at the beginning to preserve order.
Demonstrate implementing a chat accessory button that presents an action sheet with camera, photo library, video library, audio message, and share location options via an alert controller.
Implement sending a location message in a chat view controller by retrieving latitude and longitude from the location manager, building an outgoing location message, and saving it to Firebase.
Implement a function to update a message status from delivered to read by navigating Firebase paths for messages, chat rooms, and message IDs.
Log in as user one, view location-based chat messages on the map, and enable picture messages, while reviewing Firebase status and the last message updates, noting the color red.
Implement message time stamps and read/delivered status in a chat user interface by computing last message indices, handling outgoing vs incoming messages, and displaying appropriate status labels.
Implement upload and download functions for video messages in a WhatsApp-like chat app, generating unique file names, showing progress, and handling callback responses with video and thumbnail URLs.
Learn to send video messages by extracting the video, generating a 320 square thumbnail, uploading media, and sending an outgoing message with the video link after upload.
If you are looking to learn how to build real world application, you have come to the right place.
This course is different from other Udemy course. I dont teach you to build 10 useless apps in 2 hours, If you are after quantity and not quality, this course is not for you.
This course is 27+ hours long in debt (every single step is covered) on how to build only 1 app. and that is a copy of Whatsapp Chat. After you finish this course you will have an app that can replace your messaging app and can be uploaded to App Store.
THIS IS NOT A BEGINNER LEVEL COURSE!
If you dont know your way around in xCode, how to make simple debuging, or this is your first tutorial, I strongly suggest you to take a beginner level course first before you take this course.
The QuickChat was updated to 2.01 version to work without backendless.
New update includes:
Overall the app became much faster, more responsive and easier to use. Offline functionality has improved as well. Push notifications work much better now.
This is not just update to existing QuickChat, QuickChat 2.0 its standalone course that has all the content of QuickChat and plus the extra functions, and its written in latest Swift 3 language. More than 20 hours of HD video material that will teach you have to build whatsapp clone, fully functional chat application with end to end encryption and call function.
This is not a beginner level course, you need to have programming experience in xCode and iOS programming in general.
This course will teach you how to building step-by-step a WhatsApp clone using latest Swift, xCode, Firebase and Backendless backend service.
We will be using Firebase as backend for our chat and Backendless for user login management, Push Service and File Storage.
Integrate App to App calling
The cool thing about Firebase is that its a real time backend, what does this mean? We dont have to constantly query for new messages, Firebase will push each new message to us automatically with no additional code required. This is very efficient on code writing and on network usage.
The application will work online and offline, Firebase will keep local datastore and will sync with online datastore ones the device gets internet connection.
We will use Facebook Login as well as user registration on Backendless.
The course will teach you how to integrate 3rd party libraries to your project, how to combine the Objective-C and Swift libraries.
I will teach you how to send and receive Push notifications to keep your users notified when they receive messages.
The application is build in a way that its very easy to modify to integrate to other applications as well, also you can continue building the app to a stage that you can post it to appstore as ready fully functional chat application.