Chat App (SwiftUI)

This chat app will introduce you to working with the users Address Book, interesting Firestore database queries, storing and retrieving images using Firestore Storage and more!

What You'll Learn

  • SMS Authentication

    You'll learn how to use Firebase Phone authentication. This allows users to create an account by sending an SMS message to their phone.

  • Real Time Chat

    You'll learn how to establish a real time connection to your database so you can receive data as it is posted. This is essential for a chat or message app!

  • Address Book

    You'll learn how to request for permission and access the user's Address Book so that you can retrieve contact details.

  • Firebase Storage

    You'll learn how to upload and retrieve images from Firebase Storage. This will enable users to set profile images and post images to chat!

  • Firestore Database

    You'll learn how to structure the database while considering the scenarios that we need to query.

  • Custom Designed UI

    This app will feature a UI from our designer and you'll learn the design side of the app as well as how to translate it to code in Xcode.

Course curriculum

  • 1


    • Before You Start This Course

    • Resources

    • Where to Get Help?

  • 2

    Module 1: Design

    • Lesson 1: Introduction

    • Lesson 2: Plugins

    • Lesson 3: Setting Requirements

    • Lesson 4: Wireframing

    • Lesson 5: UI Design - Color, Typography, Illustrations

    • Lesson 6: UI Design - Creating the Onboarding Experience

    • Lesson 7: UI Design - Designing the Chat List

    • Lesson 8: UI Design - Designing the Chat UI

    • Lesson 9: UI Design - Designing the Contact List

    • Lesson 10: Bonus Challenge

  • 3

    Module 2: Development

    • Lesson 1: Introduction

    • Lesson 2: Setting up the Xcode Project

    • Lesson 3: Overview of the App Architecture

    • Lesson 4: Creating a Custom Tab Bar

    • Lesson 5: Setting Up the Firebase Project

    • Lesson 6: Building the UI for the onboarding sequence

    • Lesson 7: Fetching the User's Contacts

    • Lesson 8: Uploading the Profile Image

    • Lesson 9: Firebase Phone Authentication

    • Lesson 10: Securing the Database

    • Lesson 11: Creating the Contacts List View

    • Lesson 12: Building the Contacts Row

    • Lesson 13: Building the Conversation UI

    • Lesson 14: Chat Data in the Database

    • Lesson 15: Chat Data Database Operations

    • Lesson 16: Dynamic Conversation and Chat List

    • Lesson 17: Dynamic Conversation and Chat List (Part 2)

    • Lesson 18: Styling the Chat List

    • Lesson 19: Real Time Chatting

    • Lesson 20: Cleaning Up Bugs

    • Lesson 21: Photos in Chat

    • Lesson 22: New Chat Message UI

    • Lesson 23: New Chat Message Functionality

    • Lesson 24: Group Chat Functionality

    • Lesson 25: Group Chat Functionality (Part II)

    • Lesson 26: Settings View

    • Lesson 27: Dark Mode

    • Lesson 28: Delete Account

    • Lesson 29: Handling Deleted Users

    • Lesson 30: Bug Fixing (Part I)

    • Lesson 31: Bug Fixing (Part II)

Enroll in CWC+ to access all of our courses

When you join CWC+, you'll get access to this course along with many others! No matter what your goal is; whether it's to start an iOS career, become a freelancer, build an app business, make apps for income... we'll help you get there!

Join CWC Plus