QuickChat (WhatsApp like chat) iOS9.1 and Swift 2

Create real time chat application from the scratch! Your own cool copy of whatsApp which will work offline and online
4.6 (105 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
384 students enrolled
$30
Take This Course
  • Lectures 133
  • Length 16.5 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 3/2016 English

Course Description

UPDATE: The course is updated to the latest Firebase!

This course will teach you how to building step-by-step a WhatsApp clone using Swift 2.0, 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.

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.

What are the requirements?

  • You need to know how your way around in xCode
  • The course is designed for people with some knowledge in iOS programming with Swift

What am I going to get from this course?

  • Learn to use Firebase backend
  • Dealing with JSON files
  • Learn how to send Push notifications
  • Learn Backendless backend service provider
  • Login with Social media account like Facebook
  • Integrate 3rd party code to your Applications
  • Bug fixing
  • Saving files on server and retrieving them
  • Offline application functionality
  • User Location management
  • Use the camera and photo library to take and store pictures
  • At the end of this course you will have a real world application ready to post it to Appstore with full functionality as you would expect from real application
  • More than 120 lectures taking you step by step from beginning to the end where we will have cool chat application!

What is the target audience?

  • iOS developers who want to learn more about backend providers, how to integrate 3rd party code to your project. Integrate new functionalities to your existing projects and many more cool staff!

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
08:12

We are going to build a chat application that has most of the functionality of WhatsApp.

After this course you will learn how to use other SDK's, 3rd party code in your application.

I will be covering very wide range of topics in this course. Its recommended that you have some experience with xCode, and iOS application building. If this is the first time you are trying to build app for iOS, you can take this course and you will learn many things from it, but I recommend you to take some beginner courses first.

Section 2: Setup
Info
Article
11:41

INSTALL COCOAPODS VERSION 0.39.0

sudo gem install cocoapods -v 0.39.0

pod 'JSQMessagesViewController', '~>7.3.3'  
pod 'IDMPhotoBrowser', '~> 1.8.4'
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'Backendless', '~> 3.0.29'
pod 'MBProgressHUD', '~> 0.9.2'


05:26

Note: this is a new video and its shot with different project name, dont pay attention to the project name or files inside it.


07:45

Note: this is a new video and its shot with different project name, dont pay attention to the project name or files inside it.

Download assets from this lecture!

Firebase rules!

{
    "rules": {
        ".read": true,
        ".write": true,
        "Recent": {
          ".indexOn": ["userId", "chatRoomID"]
      }
    }
}

ProgressHUD setup NEW, ignore the old setup of progressHUD in lecture 16
Preview
03:02
Section 3: Login and registration
11:11

Dear Students, please watch the lessons 111-114 before you continue. Also look at extra section of new firebase at the end of the course. Some firebase imports are different with new firebase.

Since the Backendless SDK changed, there is one small adjustment you need to do to the course, its not mandatory, the application will work as in the videos, but it will save you some time not to go back and do changes in all the files. Instead of currentUser use the backendless.userService.CurrentUser.

Login View Controller Setup Part 2
10:13
Login View Controller Setup Part 3
11:23
Register user part 1
14:43
Register user part 2
07:49
Login View Controller
09:56
Create Tab Bar Controller
10:15
Login User Authentication
05:45
Autologin Bug fix
04:19
Section 4: Creating Main part of our application
Progress HUD setup
11:23
Recent UI Setup
12:37
Custom TableviewCell for Recents
09:25
Recent Cell setup part 1
18:05
Recent cell part 2
08:26
Recent cell part 3
07:13
Setup Recent view
14:48
Choose user View Controller part 1
07:19
Choose user view controller part 2
15:28
Choose user view controller part 3
05:26
Choose user Delegate part 1
08:50
Setup Chat View Controller part 1
08:54
Choose User delegate part 2
04:05
Chat view controller part 2
05:02
Chat view controller part 3
09:02
Chat View Controller segue
03:21
Recent Part 1
15:35
Recent part 2
12:54
Recent part 3
11:15
Recent test run
01:46
Retrieve Recent item
11:34
Run the app (use offline saving)
06:36
Delete Recent
02:49
String compare explanation
06:18
Delete recent function
06:21
Restarting Chat
13:45
JSQMessages Data Source functions
14:26
Send Message
08:44
Outgoing message part 1
14:34
Outgoing message part 2
11:30
Update Recents
19:15
Send Text Message
11:18
Send first message
05:22
Load Messages part 1
12:23
Load Messages part
06:38
Incoming Message Class part1
11:03
Load Messages part 3
09:34
Location Manager Setup
10:04
02:20

Create new line in you Plist and add the following key value

key: NSLocationWhenInUseUsageDescription

Value: "your text here"

Create Location Manager Part 1
06:02
UIAlertController Setup
08:20
Check if we have access to Location
04:12
Send Location Message
01:26
Create Location Message Fuction
08:25
Show Location Message
03:30
Receive Picture Message Function
10:50
Create Camera Class Part 1
08:54
Create Camera Class Part 2
03:24
Create Camera Class Part 3
09:30
UIImagePickerDelegate function
06:38
Send Picture Message
07:26
Bug fixing
02:52
IDMPhotoBrowser Setup
10:41
Create MapViewController
05:49
Map View Setup
04:18
Map View Segue
05:13
Test Map View
00:56
Settings View Controller Part 1
11:37
Settings View Controller part 2
05:52
Settings View Controller part 3
06:25
Settings View Controller part 4
05:09
Save User Defaults
10:07
Change Avatar Image
06:21
Update Settings UI
07:31
Update Camera Class
05:51
Update Chat View Controller with camera class
05:21
Download and upload function
18:34
Upload Avatar image
07:51
Settings UI Update
04:54
Settings Test
01:22
Logout User
08:27
Show Login View after logout
02:16
Timestamp of chats
10:30
Status Bug fixing
01:52
Download and set avatar image part 1
14:57
Download and set avatar image part 2
18:08
Check if we have with User
05:07
Avatar bud fixing
06:19
Load user defaults in Chat View Controller
02:54
Check Dynamic Avatar function
05:10
Update Recents part 1
08:14

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

David Kababyan, Multimedia Developer

I have graduated from university in 2012 with BA in Multimedia. Since then I have taken various other courses for programming in PHP, Objective-C, Swift. I really love programming, its my passion.

I have been developing for iOS for more then  2 years now. I have worked on various other multimedia projects like movie shooting and editing, 3D modeling and animations, flash animations and website design and development.

I have taken some courses on Udemy and really liked the environment here so I decided to create my own courses and teach others to the things I have learned.

Ready to start learning?
Take This Course