iOS 14 & SwiftUI: Build Instagram-like app w Google Firebase

Learn how to build a complete social networking app from start to finish in Swift! [front-end + back-end]

4.85 (327 reviews)
Udemy
platform
English
language
Mobile Apps
category
instructor
1,597
students
14 hours
content
Feb 2021
last update
$89.99
regular price

What you will learn

How to build an Instagram-like app from scratch writing 100% in Swift!

Create beautiful screens using SwiftUI (front-end development)

Implement popular features such as liking & commenting on posts

Create a real database using Google Firebase Firestore (back-end development)

Manage user onboarding (Sign in with Apple + Google) and account creation

Build custom algorithms to download posts

Manage data efficiently using UserDefaults, image compression, image caches and multithreading

Optimize uploading and downloading tasks for a better user experience

Track user behavior using Firebase Analytics

Implement custom animations and haptics (vibrations)

Optimize screens for all iPhone sizes, in both light & dark mode

Implement alerts, action sheets, and other pop-ups to give users realtime feedback

Write safe and professional code to avoid crashes!

Description

Welcome to DogGram! This course is designed to cover everything you need to be able to CREATE YOUR OWN SOCIAL NETWORKING APP from scratch.

In the first section of the course, we will focus on building the front-end of the app. We will use SwiftUI to create 15+ screens, set up the navigation, and add beautiful animations to the app.

In the second section, we will focus on adding the back-end to our app. We will connect DogGram to Google Firebase and set up a live database. We will allow users to sign in, create accounts, customize their profiles, and then upload/download posts in real time.

This will be a complete app from start to finish!

We will begin with a blank Xcode project and build the entire app together, writing 100% in Swift. This is NOT a template course where we build screens that just look good! We are building a fully functioning app, where real people can actually sign in, create accounts, and upload photos. Users will be able to like, comment, share, and report each other's posts in REAL TIME!

BEAUTIFUL UI

  • Building for iOS 14 using SwiftUI 2.0

  • Creating 15+ screens

  • Adding custom animations

CORE FEATURES

  • Users can like, comment, share, and report posts in real time

  • Users can upload images from camera roll + photo library and add custom captions

REAL LIVE DATABASE

  • Connected to Google Firebase Firestore

  • We will manage uploading and downloading of data

  • Build algorithms to download posts

CUSTOM ONBOARDING FLOW

  • Sign In with Apple & Google

  • Fully customizable user profiles (display name, bio, profile picture)

DATA MANAGEMENT

  • UserDefaults to persist data

  • Image compression to manage data sizes

  • Image caches to save data locally

  • Multithreading to optimize app performance

SAFE & SMART CODING

  • Implement "if let" and "guard" statements to avoid all crashes

  • Handle user experiences using in-app pop-ups and alerts

EXTRAS

  • Adding Google Analytics to track user behavior

  • Adding haptics (vibrations) and extra animations

  • Additional Challenges for further learning

Thanks for checking out the DogGram course! This course is a complete and well-rounded course that is perfect for anyone who wants to build their own app from scratch. In this course, we DO NOT cut corners and we take extra precautions to code like professional developers would - as if this would actually be used in the App Store! The course is GREAT FOR ALL SKILL LEVELS, although a very basic understanding of Swift is preferred. During the videos, I will be explaining (as simply as I can) what we are doing and why we are doing it. It's my goal to have you comprehend and not just copy.

So welcome to DogGram, GET EXCITED, and I'll see you in the next video!


Content

Introduction

Introduction
Course Overview

SwiftUI: Creating the User Interface

Setting Up Xcode
App Icon & Launch Screen
Adding the tab bar (TabView)
Creating the Feed screen and a template for posts (FeedView & PostView)
Setting up a data structure for posts (PostModel)
Creating the Comments screen (CommentsView)
Creating subviews to display comments (MessagesView)
Creating the Browse screen (BrowseView)
Adding a custom grid to display posts (ImageGridView)
Creating the Upload screen (UploadView)
Uploading images from the camera and photo library (ImagePicker)
Create screen to upload a new post (PostImageView)
Creating the Profile screen (ProfileView)
Finishing the Profile screen (ProfileView)
Creating the Settings screen (SettingsView)
Creating a screen to edit user's name and bio (SettingsEditTextView)
Creating a screen to edit user's profile picture (SettingsEditImageView)
Creating a screen to funnel new users to sign up (SignUpView)
Creating a screen to sign in users (OnboardingView)
Adding a screen to create new accounts (OnboardingViewPart2)
Adding a custom heart animation to like posts (LikeAnimationView)
Adding the ability to share and report posts
Supporting Dark Mode!
User Interface: Section Complete!

Google Firebase: Creating & Implementing the Database

Connecting Google Firebase & Adding Cocoapods
Implementing Sign In With Apple
Implementing Sign In With Google
Authenticating users into Google Firebase
Moving Data Through the Onboarding Process
Begin: Creating a new user in our database
Uploading Images to Storage
Logging in a user into DogGram
Setting Up UserDefaults (@AppStorage)
Finish: Creating a new user in our database
Logging Out Users
Signing in again ; checking if a user already exists in our database
Uploading a post to the database
Downloading profile images
Downloading posts for a user's profile
Downloading post images
Downloading posts for the Feed and Browse tabs
Adding Extra Posts & Users (no coding!)
Adding a LazyView
Liking posts
Reporting posts
Uploading comments
Downloading comments
Updating profile statistics: post/like counts
Updating user's display name
Updating user's bio
Updating user's profile picture
BONUS: Multi-threading (optimizing app performance)
BONUS: Haptics (phone vibrations)
BONUS: Google Analytics (track user behavior!)
Google Firebase: Section Complete!

Challenges: Continued Learning

Challenges Introduction
Challenge #1 (EASY): Add Feedback
Challenge #2 (EASY): Segues to Onboarding
Challenge #3 (EASY): Unlike Animation
Challenge #4 (MEDIUM): Liking Comments
Challenge #5 (MEDIUM): Deleting Comments
Challenge #6 (MEDIUM): Deleting Posts
Challenge #7 (HARD): Adding Multiple Images in a Single Post
Challenge #8 (HARD): Deleting Accounts

Screenshots

iOS 14 & SwiftUI: Build Instagram-like app w Google Firebase - Screenshot_01iOS 14 & SwiftUI: Build Instagram-like app w Google Firebase - Screenshot_02iOS 14 & SwiftUI: Build Instagram-like app w Google Firebase - Screenshot_03iOS 14 & SwiftUI: Build Instagram-like app w Google Firebase - Screenshot_04

Reviews

JJ
April 17, 2023
I got this course because I like Nick and his stuff from his SwiftfulThinking YouTube channel. I was disappointed that this course has not been updated and Nick is clearly no longer monitoring the course. A major chunk of these videos are antiquated and do not show you the best practices. Such as using the Swift Package Manager instead of using the Terminal to install CocoaPods. Also, none of the sign in methods work how the video shows so you'll have to figure that out from different sources.
Daniel
April 7, 2023
Still several incomplete parts. Ideally the Challenges shoud come with the answers to allow for a complete App to be created by the end of the course. Otherwise, a good tutorial for an almost complete working social media app.
Øystein
March 6, 2023
Very good teaching style! Everything is clear and concise, even for non native english speaking audiences.
Sagar
March 5, 2023
Bro Nick, Thank you so much for this exceptional memorable course. I am already following you on the youTube for Swiftful Thinking from beginner to advance level all vidoes. Your content is like the noble bible that acts as a lighthouse pathway showing the light in the darkness. Thank you so much from bottom of my heart for taking so much of time to prepare such a brilliant content to be the true helping hand.. :-) Keep Growing and Glowing.. Kudos and Best Wishes.. ;-) God Bless You !!!
Raul
January 31, 2023
Nick is hands down one of the best instructors online - very clear in explanations and makes sure to walk you through things that may seem confusing. He shows a lot of excitement. Very professional. If you see any course created by Nick - do yourself a favor and get it.
Giorgi
January 3, 2023
This is the best course I have passed so far, because it is bad, code in firebase section is out-dated so I had to figure out everything by myself and it gave me very deep knowledge of how databases work. Skills and experience this course gives you is magnificent, if you hit your head to wall every firebase video and to work things out. Thank you man you are LEGEND!
Tomas
December 11, 2022
Really learned a lot about writing clean code. Some of the Firebase methods were difficult but did not degrade the course. I also learned about using @escaping in swift which has always been really difficult for me to grasp. Over all, a great course and recommended for someone who has a basic understanding of Swift and SwiftUI
M4c3j
November 19, 2022
Nick is really great in explaining how things works. I would recommend this course to everyone that will learn yourself something about Firebase and SwiftUI at once. ??? Couple emojis to get Nick happy :)
Alexander
June 16, 2022
This is a good course but it's lacking one essential element which would make the end result what it should be. This app lacks the functionality of reloading the users data to the Browse and Feed Views after uploading.
Robert
May 30, 2022
My developer gave me my app files to upgrade from UIKit to SwiftUI. Plus, I really need help to move forward...
Matteo
April 23, 2022
One hour and a half into it and very pleased so far. The way Nick explains how to build UI Components is very clear and straight to the point. I really like the way he decided to organise the project's structure as it makes it easier to reason about your code.
Dumont
April 19, 2022
Very good course. Well structured, with the right methods. Nick's voice is pleasant to listen to, clear and in the right tempo! Looking forward to continuing the course! Thanks Nick!
Eddie
January 15, 2022
Absolutely frustrating! Go all the way to Firebase and you're on you're own from there. Code does not work. Loads of errors.
Dennis
December 8, 2021
A great course for those who are interested in learning how to use SwiftUI. As a more experienced developer myself I was hoping for more advanced techniques or clever coding practices (more usage of enums and computed variables, extensions, refactoring and clean coding style, etc.). I also think it was a bit inconvenient that the right side of your screen (in this case the simulator) wasn't always visible. Listening to an explanation but not being able to see the visual result on screen felt a bit strange. I do think that this course covers a lot of great content, all the way to connecting it a live database. It's clearly noticeable that you put a lot of time into this, so I will give you 4 out of 5 stars.
Droid
December 5, 2021
This course is very similar to live coding. The videos show only xcode editor with the author's a few explanations. If you don't know about SwiftUI(ex: @State, @Environment), you should take other courses before this one. If you know about these elements, you don't need to take this course.

Charts

Price

iOS 14 & SwiftUI: Build Instagram-like app w Google Firebase - Price chart

Rating

iOS 14 & SwiftUI: Build Instagram-like app w Google Firebase - Ratings chart

Enrollment distribution

iOS 14 & SwiftUI: Build Instagram-like app w Google Firebase - Distribution chart
3595740
udemy ID
10/27/2020
course created date
11/5/2020
course indexed date
Bot
course submited by