Ios 13 Swift 5 Chat App With Firestore Mvvm

Real Time Chat App with Cloud Firestore & Swift 5

Last updated 2022-01-10 | 4.7

- How to build a real time message iOS application
- How to user Cloud Firestore as a backend
- How to implement the Model View ViewModel (MVVM) architecture

What you'll learn

How to build a real time message iOS application
How to user Cloud Firestore as a backend
How to implement the Model View ViewModel (MVVM) architecture
Advanced auto-layout and programmatic UI skills with Swift
Register and authenticate users using Firebase
Advanced UI/UX development to build a clean and visually appearing user interface
Advanced UITableView and UICollectionView skills
Advanced Swift techniques and architecture patterns
How to build a user profile

* Requirements

* Basic knowledge of Swift and Xcode is preferred
* A Mac computer

Description

What are we building?

In this course, you will learn how to build a real time chat application using Firestore and Swift, ready to be published on the App Store. Throughout the process, you will develop high level programming, app design and app development skills.  We will be building this without the use of storyboards, fully programmatically.


Why take this course? 

Learning advanced development skills should be taught using real world examples. This course will teach you how to build a fully functional messaging app, that's completely ready to integrate into any one of your iOS Applications. You will be learning advanced front and backend development skills, from a real life professional developer. You will learn how to code like a pro, writing clean, scalable and maintainable code.  This also makes for a great project to add to your portfolio, which you can use to show off to potential employers if you're trying to become a pro.


Prior Experience? 

Some programming and basic Xcode experience is preferred. The course will move a little fast if you're a complete beginner, but you will pick things up along the way.


What will you learn? 

  • How to build a fully functioning messaging interface 

  • Comprehensive knowledge and understanding of Swift 5 & Xcode 11

  • How to Implement Model View ViewModel (MVVM) architecture

  • Advanced level programming and app development skills

  • Advanced level User Interface Design

  • Advanced level back end engineering

  • How to authenticate and register users with Firebase

  • How to communicate with a database (read/write)

  • How to monitor events in a database

  • How to upload images to Firebase

  • How to structure data for optimum performance

  • How to programmatically construct views and controllers

  • How to parse incoming JSON data from database

  • How to use CocoaTouch classes, UIKit, UserNotifications and more 

  • How to use CocoaPods and custom third party APIs 

  • How to implement/use protocols 

  • How to implement custom subclasses for clean and reusable code

  • How to dynamically size collection view cells

  • How to create extensions and functions for clean and reusable code

Who this course is for:

  • Upper level beginner to intermediate

Course content

8 sections • 42 lectures

Configure Project & Setup Home Screen Preview 07:59

Setup Home Screen Navigation Bar Preview 05:18

Setup Messages TableView Preview 08:00

Setup Login Screen & Intro to AutoLayout Preview 15:56

Login Screen UI Preview 13:01

Login Screen UI Continued Preview 13:32

Input Container View Code Refactor Preview 17:10

Finish Login Screen UI Preview 07:38

Sign Up Screen UI Preview 11:35

Login View Model & Form Validation Preview 13:38

Selecting Profile Image & Sign Up Form Validation Preview 20:54

Setup Firebase Preview 14:08

Create A User Preview 22:15

Keeping A User Logged In Preview 09:55

Logging A User In Preview 07:24

API Code Refactor Preview 17:38

Progress HUD & Error Handling Preview 16:38

Setup NewMessageController Preview 08:42

Setup TableView & Navigation Bar Preview 09:47

UserCell UI Preview 10:18

User Data Model & Fetching User Info From Firestore Preview 09:09

Initializing User Object Preview 15:38

Populate TableView With Users Preview 07:31

Setting Up ChatController Preview 16:15

Custom Input Accessory View For Sending Messages Preview 19:58

Setting Up Message Cells Preview 12:47

Sending Test Messages & MessageViewModel Preview 15:22

Finishing Up MessageViewModel Preview 09:23

Message Model & Upload Message To Firestore Preview 14:43

Fetching Messages From Firestore Preview 14:41

Dynamic Cell Sizing & Finishing ChatController Preview 07:42

Upload & Fetch Conversations Preview 14:38

Populate TableView With Conversations Preview 15:53

User Profile UI Preview 16:13

Populate Header With User Data Preview 07:00

Profile View Model Preview 14:34

Setup Logout Button Preview 08:39

Action Handlers For Profile Options Preview 12:31

Searching For Users Preview 13:36

Bug Fixes Preview 16:20

Duplicate Messages Bug Fix Preview 06:14

Show Error Messages To User Preview 08:42