Instagram Clone App | Swift 4 +Firebase | Push Notifications

Create a complete working version of Instagram using Swift 4 and Firebase without the use of storyboards!

4.35 (323 reviews)
Udemy
platform
English
language
Mobile Apps
category
instructor
Instagram Clone App | Swift 4 +Firebase | Push Notifications
1,424
students
28.5 hours
content
Feb 2020
last update
$64.99
regular price

What you will learn

By the end of this course students will have a strong foundation in advanced mobile app development skills, as well as front and back end engineering

Description

** Source Code with updates for Swift 4.2 & Firebase 5 Available Now!! **

** Located in Lecture 1 Resources Section **

What are we building?

In this course, you will learn how to build a complete version of Instagram ready to be published on the App Store. Throughout the process, you will develop high level programming, app design and app development skills.  

Prior Experience? 

No prior programming experience is required! The course will move a little fast if you're a complete beginner, but you will pick things up along the way. We will be teaching you how to program from scratch, all the way from the absolute basics to high level programming techniques and best practices. 

Why take this course? 

Taking this course will give you the knowledge and skills you need to become a professional iOS Developer, and vital skills that you will need to be able to build your own mobile apps from the ground up. You're not just learning how to build Instagram, but rather learning how to become a full stack app developer. All of the techniques taught in this course will give you the foundation you need to become a successful advanced level programmer, whether it be as a freelancer, a professional, or both. This is also a great item to add to your portfolio or GitHub profile, its awesome to show off at interviews or have as code to send potential employers!

What will you learn? 

  • Comprehensive knowledge and understanding of Swift 4 & Xcode

  • Implement the Model View Controller system

  • Advanced level programming and app development skills

  • Advanced level User Interface Design

  • Advanced level back end engineering

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

  • How to monitor events in a database

  • How to structure data for optimum performance

  • How to build a fully functioning social network 

  • How to implement push notifications using Firebase Cloud Messaging

  • How to programmatically construct storyboards

  • How to parse incoming JSON data from database

  • How to build a direct messaging feature using Firebase 

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

  • How to use CocoaPods and custom third party softwares 

  • 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

What features are included?

  • Home feed with pagination

  • Search feed with posts and ability to search for users

  • Create users, make posts, like posts, comment on posts 

  • Hashtags and mentions

  • Direct messaging

  • In app notifications

  • Push notifications for likes, comments, follows and mentions

  • Follow/Unfollow users 

  • View followers/following users

  • Complete pagination of data using Firebase for scalability

  • Edit profile feature

  • Deleting posts 

  • Edit posts

  • Saved Photos 

  • Ability to see who has liked posts 

  • Logging in and logging out 


Content

Introduction

Introduction

Getting Started With Firebase

Log in User Interface
Log in User Interface Pt. 2
Sign Up User Interface
Getting Started With Firebase
Creating User with Firebase

User Authentication With Firebase & Constructing Main User Interface (UI)

Log In Using Firebase and Construct Main User Interface
Log User Out With Firebase, User Validation
User Profile UI
Create User Class, Model View Controller, Load Data from API
Load Images from API Using Image Cache

Following & Unfollowing Users

User Search UI
User Search Cell
Guest User Profile & Configure Edit Profile/Follow Button
User Follow/Unfollow Explanation (Missing Video)
User Profile Stats & Check If User Is Followed
Code Refactor using Protocol, Recap
View Following Users UI
Configure Follower Cells
Follow User Action In Follow Cell

Posts

Select Post Image UI
Import Photos from Library
Upload Post UI
Upload Post to Database
Create Post Class & Fetch Posts From Database
Load Posts In User Profile
Custom ImageView Class and Bug Fixes

Home Feed

Home Feed UI
Load Posts In Home Feed
Feed Actions and Custom Extension for Post Class
Click Post To View and Some Backend Theory
Updating User Feeds
Following/Unfollowing to Update User Feeds

Liking Posts

Liking A Post: Code & Backend Theory
Code Refactor For Like Function
Checking Post for Likes
Viewing Users That Have Liked A Post
Double Tap Post To Like & Section Recap

Post Comments

Building Comment UI
Comment Class & Backend Theory
Fetching Comments From Database
Dynamic Cell Sizing & Section Wrap Up

In-App Notifications

Notifications UI
Likes & Backend Theory
Notification Class & Comments/Follow
Configure Notification Cells
Notification Cell Actions
Sorting By Date & UIButton Extension
Checked Notifications & Wrap Up

Search Feed

Posts & Filtering Users

Direct Messaging

Messages User Interface
Constructing A New Message
Message Class & Presenting Chat Controller
Completing Chat Controller UI
Sending A Message
Configure Message Inbox
Configure Chat Controller
Messages Wrap Up

Hashtags & Mentions

Active Label Install & Hashtags
Loading Posts For Hashtags
Hashtags & Mentions For Comments
Section Wrap Up

Pagination

Home Feed Pagination
User Profile Pagination
Search Feed Pagination
Followers/Following & Likes Pagination
Notifications Pagination

Home Feed Completion, Edit Profile & Adding Refreshers

Deleting A Post
Adding Refreshers
Editing A Post
Post Date & Time
Edit Profile UI
Edit Profile Backend & Completion

Comment Controller Refactor

Comment Input Accessory View

Push Notifications

Getting Started With Push Notifications
Push Notification Functions
Sending Push Notification To Device via HTTP Request
Push Notification From User Follow
Push Notifications From Likes & Comments

Reviews

최재권
October 3, 2022
Garbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the riverGarbage over the top of the river
Андрей
June 21, 2021
Это отвратительный Курс с отвратительным подходом преподавания. Материалы лекции не подготовлены, код покрыт ошибками, качество видео попадается совсем жутким для просмотра и маленьким. Человек в место того что бы пошагово объяснять, исправляет свой же не работающий код, лекции пропущена после которого совсем не возможно разобраться что делать , его исходный проект не запускается... вообщем это безграмотный преподаватель... не тратье деньги! Код, грязный ... обучение не построено эффективно! На 18 мину видео вы тратите 2 - 4 часа что бы у вас что то получилось и работало... я прошел до середины курса и просто на столько пожалел что его купил .. для меня это был ад дикое испытание обучатся по его курсу, это полное говно вам будет казаться что вы прям реально сделаете инстаграм, но это не так ((((
Ron
January 16, 2021
This has a lot of bugs and there isn't updates to the source code to explain how to them. I bought another course of his and it was the same issue.
Keishan
June 2, 2019
thanks very much for this course... was the best course i ever took..this course brings your skills up if you are a beginner
Koki
May 27, 2019
I just finished watching all lectures in this course and trying them in my mac by myself. It took around 2 months to go through all the way and I definitely got really useful experience. Each lecture was so good and I was able to learn so many valuable techniques from it. One thing it was especially really great for me was that Stephan showed us how to develop the whole app without using the interface builder (main storyboard) at all. I know that the interface builder is so easy to use at the beginning; but on the other hand, once the program got larger, it suddenly becomes really annoying (xcode becomes super slow and starts causing many troubles). I was so surprised how it is comfortable to develop everything without using the interface builder. Some of the courses I watched explains how to add button / label without using the interface builder but I didn't think I can develop everything without using it at all and also didn't think it is so comfortable. In addition, he showed us so many examples about how to develop a real word application using firebase through this course. Many courses teach just a surface of firebase but this course show us how we can use it in the real world. In most lectures in this course, I was able to run the code successfully in my mac / iphone. Because of the difference of the swift version, I sometimes needed to adjust the code but it was not that difficult with updated code he attached on the course resources of the lecture 1. I had a couple of questions during the course which were not roadblocks to move forward but wanted to make it clear for my future understanding and posted those questions on Q&A of this course. Looking forward to get replies. Actually, I always take a look at Q&A posted by other students as well because those are also very valuable information. It was impressive that he were replying those Q&A one by one which should be a lot of work. I also hope he has a time to make more courses in Udemy. Especially, if he made a course about real life app using firestore, I will definitely take it. Overall, this was one of the best online course I have ever taken. I highly recommend everyone who are interested to develop an app / learn about firebase to take this excellent course.
Casey
May 10, 2019
This was a great course. I was able to learn how to programmatically code user interfaces as well as an introduction into push notifications. I look forward to using what I have learned as well as more courses by the author. thank you.
Didar
April 14, 2019
This course is amazing and very helpful for beginners firebase users! Thank you for this course Stephan!)
Michael
April 10, 2019
Update 1: I’m about halfway done with the course. My experience is that I’ve taken a few other iOS courses on Udemy, about 75% through all of them, and they all user interface builder. I have had no experience working completely programmatically before this, and was a little intimidated when considering grabbing this class. I’m so glad I did! It was a pretty rough start for me, and I’m not sure how well I would have understood most of these concepts with pure code if I wasn’t already familiar with how to do them with interface builder, but the fact is that when you do have a little experience under your belt, this class will be exactly what you need to give more depth to your knowledge. For one, working programmatically has clarified the confusion of using Autolayout in a way that working visually in interface builder has never clicked for me! I find myself using constraints and stackviews without giving it much thought which was never the case even when I could visually see what was SUPPOSED to be happening. I say supposed to because it never worked out the way I’d planned. The same with using extensions and protocols. This course so far, has teached me how to organize my code in a way that my other Udemy courses have only touched on a bit when showing off MVC! I still have a bit to go, so I’ll give another update when I’m finished, but I’ll end it for now with saying that one thing I never expected was how much better Xcode runs when not using storyboards! I’m loving it so far, take the programmatic leap guys, or at least try it to have a better understanding of both ways of coding!
Дмитрий
April 6, 2019
It is the one best courses that I've ever had. Very good explanation for beginners in programming. Thanks for the giving a chance to become a better developer and for the way to get closer to advanced level.
Fred
March 12, 2019
I've taken most of the popular courses on Udemy. I'm not being conceited when I tell you that you should heed my advice. This is as close as you're going to get to a real-world production level app course. Stephan's support is also fantastic. All of you know the other popular instructors with thousands of students and 4/5 star ratings right? Well, let me tell you, their content is pretty good, but their support sucks. Also their apps are not production quality apps. Most of them are tutorial projects at best. All the other courses teach you Swift basics or give you half-completed apps you have to spend months on StackOverflow trying to complete. Stephan's app are complete. One minor issue. The Firebase RTDB responses seem a bit slow. I believe this is one of the drawbacks of using DBaaS like Firebase. The design and functionality of this app is top-notch.
Eddie
February 21, 2019
Awesome course. Very detailed explanations, professional code, and super cool techniques! Highly recommend.
Mark
February 19, 2019
This is a very well done course. It's great and refreshing to have an IOS course that teaches you how to build a real world application programmatically! This was a complete programmatic approach to creating EVERYTHING for the app. That's terrific. Also the instructor is incredibly responsive to questions. I got same day answers to my questions and they are always helpful. The instructor considers feedback and has even shown a willingness to add videos per student's requests for additional learning. Love that!
Chris
February 14, 2019
I think a new developer could follow it and get to the end with a working clone, but not 100% sure they would understand 'why' for all the elements in it. For me, as a 'intermediate' it was great though, covered the elements I needed at a pace that suited me. Would come back for more.
Jeroen
February 7, 2019
When you have some experience, these videos are a great way to further improve on your swift knowledge. Stephan teaches you professional swift 4 programming in a simple very clear way. Especially the Push Notifications section in the end is very useful if you want to learn how to do that. Thanks Stephan!
Let
January 10, 2019
Compared to other Udemy courses and teachers, it's moving too fast without really explaining the reason behind the actions, but rather explains with "OK?" assuming we fully understood the action. Would be good if the teacher took some seconds explaining further, so we don't end up just copying the work without comfortably understanding what we're doing.

Charts

Price

Instagram Clone App | Swift 4 +Firebase | Push Notifications - Price chart

Rating

Instagram Clone App | Swift 4 +Firebase | Push Notifications - Ratings chart

Enrollment distribution

Instagram Clone App | Swift 4 +Firebase | Push Notifications - Distribution chart
1513140
udemy ID
1/16/2018
course created date
2/8/2020
course indexed date
Bot
course submited by