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

  • Course provided by Udemy
  • Study type: Online
  • Starts: Anytime
  • Price: See latest price on Udemy
Udemy

Course 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!


Who this course is for:

  • Designed for students of all levels!
  • Beginners with a basic understanding of Swift and who want to learn how to create a complete app from start to finish!
  • Front-end Swift developers who want to get better with SwiftUI
  • Back-end Swift developers who want to learn Google Firebase
  • Anyone who wants to be able to create their own social networking app
  • Anyone interested in full-stack Swift development

Instructor

iOS Developer
  • 4.8 Instructor Rating
  • 110 Reviews
  • 505 Students
  • 1 Course

What's up everyone! I'm Nick. I'm a self-taught iOS developer with several years of experience coding in Swift. In addition to teaching on Udemy, I run a YouTube channel @SwiftfulThinking where I teach Swift + SwiftUI.

In 2019 I co-founded an app development company that now has several published apps in the App Store, including a social network and a dating app.

Prior to learning Swift, I attended Penn State (We Are) and had a career in banking. During that time, I had a dream to launch my own app. After learning how expensive it would be to hire an app developer to to bring my idea to life, I set out on a mission to learn how to build it myself...

...and now I get the pleasure to teach others what I've learned.

I learned to code through online courses (just like you) and I know first-hand how frustrating it is when you are taking a course and it becomes hard to follow or understand. As you'll see in my videos, I always try to explain what we are doing, so that you are actually comprehending and not just copying the code! My goal is to make the learning process as easy and streamlined as possible for my students.

Expected Outcomes

  1. 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! Show more Show less Course content 4 sections • 67 lectures • 14h 7m total length Expand all sections Introduction 2 lectures • 6min Introduction Preview 01:55 Course Overview Preview 04:02 SwiftUI: Creating the User Interface 24 lectures • 5hr 56min Setting Up Xcode 08:56 App Icon & Launch Screen 08:37 Adding the tab bar (TabView) Preview 10:55 Creating the Feed screen and a template for posts (FeedView & PostView) 15:35 Setting up a data structure for posts (PostModel) 19:03 Creating the Comments screen (CommentsView) 07:23 Creating subviews to display comments (MessagesView) 21:15 Creating the Browse screen (BrowseView) Preview 21:17 Adding a custom grid to display posts (ImageGridView) 18:02 Creating the Upload screen (UploadView) 08:48 Uploading images from the camera and photo library (ImagePicker) 21:45 Create screen to upload a new post (PostImageView) 18:40 Creating the Profile screen (ProfileView) 12:44 Finishing the Profile screen (ProfileView) 12:21 Creating the Settings screen (SettingsView) 26:07 Creating a screen to edit user's name and bio (SettingsEditTextView) 11:51 Creating a screen to edit user's profile picture (SettingsEditImageView) 16:08 Creating a screen to funnel new users to sign up (SignUpView) 09:45 Creating a screen to sign in users (OnboardingView) 11:25 Adding a screen to create new accounts (OnboardingViewPart2) 14:06 Adding a custom heart animation to like posts (LikeAnimationView) Preview 17:59 Adding the ability to share and report posts 17:51 Supporting Dark Mode! 20:56 User Interface: Section Complete! Preview 04:35 Google Firebase: Creating & Implementing the Database 32 lectures • 7hr 53min Connecting Google Firebase & Adding Cocoapods 20:18 Implementing Sign In With Apple 21:38 Implementing Sign In With Google 15:58 Authenticating users into Google Firebase 13:19 Moving Data Through the Onboarding Process 06:35 Begin: Creating a new user in our database 25:25 Uploading Images to Storage 21:12 Logging in a user into DogGram 09:54 Setting Up UserDefaults (@AppStorage) 12:40 Finish: Creating a new user in our database 15:28 Logging Out Users 11:10 Signing in again ; checking if a user already exists in our database 17:49 Uploading a post to the database 28:08 Downloading profile images 20:25 Downloading posts for a user's profile 22:19 Downloading post images Preview 11:18 Downloading posts for the Feed and Browse tabs 11:10 Adding Extra Posts & Users (no coding!) 13:08 Adding a LazyView 10:29 Liking posts Preview 19:04 Reporting posts 14:12 Uploading comments 26:26 Downloading comments 15:56 Updating profile statistics: post/like counts 12:45 Updating user's display name 28:08 Updating user's bio Preview 05:34 Updating user's profile picture 11:03 BONUS: Multi-threading (optimizing app performance) 11:22 BONUS: Haptics (phone vibrations) 03:35 BONUS: Google Analytics (track user behavior!) 12:29 Google Firebase: Section Complete! 03:17 BONUS LECTURE: Continue Learning with FREE SwiftUI courses on my YouTube channel 00:43 Challenges: Continued Learning 9 lectures • 13min Challenges Introduction 01:50 Challenge #1 (EASY): Add Feedback 01:31 Challenge #2 (EASY): Segues to Onboarding 01:36 Challenge #3 (EASY): Unlike Animation 01:07 Challenge #4 (MEDIUM): Liking Comments 01:11 Challenge #5 (MEDIUM): Deleting Comments 00:54 Challenge #6 (MEDIUM): Deleting Posts 00:51 Challenge #7 (HARD): Adding Multiple Images in a Single Post 01:52 Challenge #8 (HARD): Deleting Accounts 02:05 Requirements Xcode 12.0 or higher (free to download on Mac) Google email account (free to create) Apple Developer Account (optional) 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! Who this course is for: Designed for students of all levels! Beginners with a basic understanding of Swift and who want to learn how to create a complete app from start to finish! Front-end Swift developers who want to get better with SwiftUI Back-end Swift developers who want to learn Google Firebase Anyone who wants to be able to create their own social networking app Anyone interested in full-stack Swift development Show more Show less Featured review ATTIC SOFTWARE DEVELOPMENT 12 courses 4 reviews Rating: 5.0 out of 5 6 months ago Excellent!. Clear explanations, good rythm. To my opinion perhaps a little intense for absolute beginners but not difficult at all if you have some experience already. Good information on how to solve integration with UIKit, SwiftUI wrappers, modifiers, etc. It helped me clarify several issues I had using urls, setting the launchscreen on the info.plist instead of using just a simple launchscreen storyboard even inside the SwiftUI life cycle setup. All done with SwiftUI on the front end side. Show more Show less Instructor Nick Sarno iOS Developer 4.8 Instructor Rating 110 Reviews 505 Students 1 Course What's up everyone! I'm Nick. I'm a self-taught iOS developer with several years of experience coding in Swift. In addition to teaching on Udemy, I run a YouTube channel @SwiftfulThinking where I teach Swift + SwiftUI. In 2019 I co-founded an app development company that now has several published apps in the App Store, including a social network and a dating app. Prior to learning Swift, I attended Penn State (We Are) and had a career in banking. During that time, I had a dream to launch my own app. After learning how expensive it would be to hire an app developer to to bring my idea to life, I set out on a mission to learn how to build it myself... ...and now I get the pleasure to teach others what I've learned. I learned to code through online courses (just like you) and I know first-hand how frustrating it is when you are taking a course and it becomes hard to follow or understand. As you'll see in my videos, I always try to explain what we are doing, so that you are actually comprehending and not just copying the code! My goal is to make the learning process as easy and streamlined as possible for my students. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677861d86ad3f3e3',m:'e03541cd4ab74f86a3334e0803cfec13d4a79c5f-1627750819-1800-AU8jDD+7aYdi0d7XFDHltpoviEV9zVt/AKMi1W0ckNgj+H8vPmIDUPNU8WqTSLYoHbEgZKSYhLSAqXU00Shs8eYIkmdFM87d2PHFNiBZR3eeCFxy/XS/pKnifyAdCtmJuqnBLinVQ7Ap2Reuoh8qPI4=',s:[0x006057b09a,0x931b4325f5],}})();
  2. 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! Show more Show less Course content 4 sections • 67 lectures • 14h 7m total length Expand all sections Introduction 2 lectures • 6min Introduction Preview 01:55 Course Overview Preview 04:02 SwiftUI: Creating the User Interface 24 lectures • 5hr 56min Setting Up Xcode 08:56 App Icon & Launch Screen 08:37 Adding the tab bar (TabView) Preview 10:55 Creating the Feed screen and a template for posts (FeedView & PostView) 15:35 Setting up a data structure for posts (PostModel) 19:03 Creating the Comments screen (CommentsView) 07:23 Creating subviews to display comments (MessagesView) 21:15 Creating the Browse screen (BrowseView) Preview 21:17 Adding a custom grid to display posts (ImageGridView) 18:02 Creating the Upload screen (UploadView) 08:48 Uploading images from the camera and photo library (ImagePicker) 21:45 Create screen to upload a new post (PostImageView) 18:40 Creating the Profile screen (ProfileView) 12:44 Finishing the Profile screen (ProfileView) 12:21 Creating the Settings screen (SettingsView) 26:07 Creating a screen to edit user's name and bio (SettingsEditTextView) 11:51 Creating a screen to edit user's profile picture (SettingsEditImageView) 16:08 Creating a screen to funnel new users to sign up (SignUpView) 09:45 Creating a screen to sign in users (OnboardingView) 11:25 Adding a screen to create new accounts (OnboardingViewPart2) 14:06 Adding a custom heart animation to like posts (LikeAnimationView) Preview 17:59 Adding the ability to share and report posts 17:51 Supporting Dark Mode! 20:56 User Interface: Section Complete! Preview 04:35 Google Firebase: Creating & Implementing the Database 32 lectures • 7hr 53min Connecting Google Firebase & Adding Cocoapods 20:18 Implementing Sign In With Apple 21:38 Implementing Sign In With Google 15:58 Authenticating users into Google Firebase 13:19 Moving Data Through the Onboarding Process 06:35 Begin: Creating a new user in our database 25:25 Uploading Images to Storage 21:12 Logging in a user into DogGram 09:54 Setting Up UserDefaults (@AppStorage) 12:40 Finish: Creating a new user in our database 15:28 Logging Out Users 11:10 Signing in again ; checking if a user already exists in our database 17:49 Uploading a post to the database 28:08 Downloading profile images 20:25 Downloading posts for a user's profile 22:19 Downloading post images Preview 11:18 Downloading posts for the Feed and Browse tabs 11:10 Adding Extra Posts & Users (no coding!) 13:08 Adding a LazyView 10:29 Liking posts Preview 19:04 Reporting posts 14:12 Uploading comments 26:26 Downloading comments 15:56 Updating profile statistics: post/like counts 12:45 Updating user's display name 28:08 Updating user's bio Preview 05:34 Updating user's profile picture 11:03 BONUS: Multi-threading (optimizing app performance) 11:22 BONUS: Haptics (phone vibrations) 03:35 BONUS: Google Analytics (track user behavior!) 12:29 Google Firebase: Section Complete! 03:17 BONUS LECTURE: Continue Learning with FREE SwiftUI courses on my YouTube channel 00:43 Challenges: Continued Learning 9 lectures • 13min Challenges Introduction 01:50 Challenge #1 (EASY): Add Feedback 01:31 Challenge #2 (EASY): Segues to Onboarding 01:36 Challenge #3 (EASY): Unlike Animation 01:07 Challenge #4 (MEDIUM): Liking Comments 01:11 Challenge #5 (MEDIUM): Deleting Comments 00:54 Challenge #6 (MEDIUM): Deleting Posts 00:51 Challenge #7 (HARD): Adding Multiple Images in a Single Post 01:52 Challenge #8 (HARD): Deleting Accounts 02:05 Requirements Xcode 12.0 or higher (free to download on Mac) Google email account (free to create) Apple Developer Account (optional) 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! Who this course is for: Designed for students of all levels! Beginners with a basic understanding of Swift and who want to learn how to create a complete app from start to finish! Front-end Swift developers who want to get better with SwiftUI Back-end Swift developers who want to learn Google Firebase Anyone who wants to be able to create their own social networking app Anyone interested in full-stack Swift development Show more Show less Featured review ATTIC SOFTWARE DEVELOPMENT 12 courses 4 reviews Rating: 5.0 out of 5 6 months ago Excellent!. Clear explanations, good rythm. To my opinion perhaps a little intense for absolute beginners but not difficult at all if you have some experience already. Good information on how to solve integration with UIKit, SwiftUI wrappers, modifiers, etc. It helped me clarify several issues I had using urls, setting the launchscreen on the info.plist instead of using just a simple launchscreen storyboard even inside the SwiftUI life cycle setup. All done with SwiftUI on the front end side. Show more Show less Instructor Nick Sarno iOS Developer 4.8 Instructor Rating 110 Reviews 505 Students 1 Course What's up everyone! I'm Nick. I'm a self-taught iOS developer with several years of experience coding in Swift. In addition to teaching on Udemy, I run a YouTube channel @SwiftfulThinking where I teach Swift + SwiftUI. In 2019 I co-founded an app development company that now has several published apps in the App Store, including a social network and a dating app. Prior to learning Swift, I attended Penn State (We Are) and had a career in banking. During that time, I had a dream to launch my own app. After learning how expensive it would be to hire an app developer to to bring my idea to life, I set out on a mission to learn how to build it myself... ...and now I get the pleasure to teach others what I've learned. I learned to code through online courses (just like you) and I know first-hand how frustrating it is when you are taking a course and it becomes hard to follow or understand. As you'll see in my videos, I always try to explain what we are doing, so that you are actually comprehending and not just copying the code! My goal is to make the learning process as easy and streamlined as possible for my students. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677861d86ad3f3e3',m:'e03541cd4ab74f86a3334e0803cfec13d4a79c5f-1627750819-1800-AU8jDD+7aYdi0d7XFDHltpoviEV9zVt/AKMi1W0ckNgj+H8vPmIDUPNU8WqTSLYoHbEgZKSYhLSAqXU00Shs8eYIkmdFM87d2PHFNiBZR3eeCFxy/XS/pKnifyAdCtmJuqnBLinVQ7Ap2Reuoh8qPI4=',s:[0x006057b09a,0x931b4325f5],}})();
  3. 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! Show more Show less Course content 4 sections • 67 lectures • 14h 7m total length Expand all sections Introduction 2 lectures • 6min Introduction Preview 01:55 Course Overview Preview 04:02 SwiftUI: Creating the User Interface 24 lectures • 5hr 56min Setting Up Xcode 08:56 App Icon & Launch Screen 08:37 Adding the tab bar (TabView) Preview 10:55 Creating the Feed screen and a template for posts (FeedView & PostView) 15:35 Setting up a data structure for posts (PostModel) 19:03 Creating the Comments screen (CommentsView) 07:23 Creating subviews to display comments (MessagesView) 21:15 Creating the Browse screen (BrowseView) Preview 21:17 Adding a custom grid to display posts (ImageGridView) 18:02 Creating the Upload screen (UploadView) 08:48 Uploading images from the camera and photo library (ImagePicker) 21:45 Create screen to upload a new post (PostImageView) 18:40 Creating the Profile screen (ProfileView) 12:44 Finishing the Profile screen (ProfileView) 12:21 Creating the Settings screen (SettingsView) 26:07 Creating a screen to edit user's name and bio (SettingsEditTextView) 11:51 Creating a screen to edit user's profile picture (SettingsEditImageView) 16:08 Creating a screen to funnel new users to sign up (SignUpView) 09:45 Creating a screen to sign in users (OnboardingView) 11:25 Adding a screen to create new accounts (OnboardingViewPart2) 14:06 Adding a custom heart animation to like posts (LikeAnimationView) Preview 17:59 Adding the ability to share and report posts 17:51 Supporting Dark Mode! 20:56 User Interface: Section Complete! Preview 04:35 Google Firebase: Creating & Implementing the Database 32 lectures • 7hr 53min Connecting Google Firebase & Adding Cocoapods 20:18 Implementing Sign In With Apple 21:38 Implementing Sign In With Google 15:58 Authenticating users into Google Firebase 13:19 Moving Data Through the Onboarding Process 06:35 Begin: Creating a new user in our database 25:25 Uploading Images to Storage 21:12 Logging in a user into DogGram 09:54 Setting Up UserDefaults (@AppStorage) 12:40 Finish: Creating a new user in our database 15:28 Logging Out Users 11:10 Signing in again ; checking if a user already exists in our database 17:49 Uploading a post to the database 28:08 Downloading profile images 20:25 Downloading posts for a user's profile 22:19 Downloading post images Preview 11:18 Downloading posts for the Feed and Browse tabs 11:10 Adding Extra Posts & Users (no coding!) 13:08 Adding a LazyView 10:29 Liking posts Preview 19:04 Reporting posts 14:12 Uploading comments 26:26 Downloading comments 15:56 Updating profile statistics: post/like counts 12:45 Updating user's display name 28:08 Updating user's bio Preview 05:34 Updating user's profile picture 11:03 BONUS: Multi-threading (optimizing app performance) 11:22 BONUS: Haptics (phone vibrations) 03:35 BONUS: Google Analytics (track user behavior!) 12:29 Google Firebase: Section Complete! 03:17 BONUS LECTURE: Continue Learning with FREE SwiftUI courses on my YouTube channel 00:43 Challenges: Continued Learning 9 lectures • 13min Challenges Introduction 01:50 Challenge #1 (EASY): Add Feedback 01:31 Challenge #2 (EASY): Segues to Onboarding 01:36 Challenge #3 (EASY): Unlike Animation 01:07 Challenge #4 (MEDIUM): Liking Comments 01:11 Challenge #5 (MEDIUM): Deleting Comments 00:54 Challenge #6 (MEDIUM): Deleting Posts 00:51 Challenge #7 (HARD): Adding Multiple Images in a Single Post 01:52 Challenge #8 (HARD): Deleting Accounts 02:05 Requirements Xcode 12.0 or higher (free to download on Mac) Google email account (free to create) Apple Developer Account (optional) 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! Who this course is for: Designed for students of all levels! Beginners with a basic understanding of Swift and who want to learn how to create a complete app from start to finish! Front-end Swift developers who want to get better with SwiftUI Back-end Swift developers who want to learn Google Firebase Anyone who wants to be able to create their own social networking app Anyone interested in full-stack Swift development Show more Show less Featured review ATTIC SOFTWARE DEVELOPMENT 12 courses 4 reviews Rating: 5.0 out of 5 6 months ago Excellent!. Clear explanations, good rythm. To my opinion perhaps a little intense for absolute beginners but not difficult at all if you have some experience already. Good information on how to solve integration with UIKit, SwiftUI wrappers, modifiers, etc. It helped me clarify several issues I had using urls, setting the launchscreen on the info.plist instead of using just a simple launchscreen storyboard even inside the SwiftUI life cycle setup. All done with SwiftUI on the front end side. Show more Show less Instructor Nick Sarno iOS Developer 4.8 Instructor Rating 110 Reviews 505 Students 1 Course What's up everyone! I'm Nick. I'm a self-taught iOS developer with several years of experience coding in Swift. In addition to teaching on Udemy, I run a YouTube channel @SwiftfulThinking where I teach Swift + SwiftUI. In 2019 I co-founded an app development company that now has several published apps in the App Store, including a social network and a dating app. Prior to learning Swift, I attended Penn State (We Are) and had a career in banking. During that time, I had a dream to launch my own app. After learning how expensive it would be to hire an app developer to to bring my idea to life, I set out on a mission to learn how to build it myself... ...and now I get the pleasure to teach others what I've learned. I learned to code through online courses (just like you) and I know first-hand how frustrating it is when you are taking a course and it becomes hard to follow or understand. As you'll see in my videos, I always try to explain what we are doing, so that you are actually comprehending and not just copying the code! My goal is to make the learning process as easy and streamlined as possible for my students. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677861d86ad3f3e3',m:'e03541cd4ab74f86a3334e0803cfec13d4a79c5f-1627750819-1800-AU8jDD+7aYdi0d7XFDHltpoviEV9zVt/AKMi1W0ckNgj+H8vPmIDUPNU8WqTSLYoHbEgZKSYhLSAqXU00Shs8eYIkmdFM87d2PHFNiBZR3eeCFxy/XS/pKnifyAdCtmJuqnBLinVQ7Ap2Reuoh8qPI4=',s:[0x006057b09a,0x931b4325f5],}})();
  4. 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! Show more Show less Course content 4 sections • 67 lectures • 14h 7m total length Expand all sections Introduction 2 lectures • 6min Introduction Preview 01:55 Course Overview Preview 04:02 SwiftUI: Creating the User Interface 24 lectures • 5hr 56min Setting Up Xcode 08:56 App Icon & Launch Screen 08:37 Adding the tab bar (TabView) Preview 10:55 Creating the Feed screen and a template for posts (FeedView & PostView) 15:35 Setting up a data structure for posts (PostModel) 19:03 Creating the Comments screen (CommentsView) 07:23 Creating subviews to display comments (MessagesView) 21:15 Creating the Browse screen (BrowseView) Preview 21:17 Adding a custom grid to display posts (ImageGridView) 18:02 Creating the Upload screen (UploadView) 08:48 Uploading images from the camera and photo library (ImagePicker) 21:45 Create screen to upload a new post (PostImageView) 18:40 Creating the Profile screen (ProfileView) 12:44 Finishing the Profile screen (ProfileView) 12:21 Creating the Settings screen (SettingsView) 26:07 Creating a screen to edit user's name and bio (SettingsEditTextView) 11:51 Creating a screen to edit user's profile picture (SettingsEditImageView) 16:08 Creating a screen to funnel new users to sign up (SignUpView) 09:45 Creating a screen to sign in users (OnboardingView) 11:25 Adding a screen to create new accounts (OnboardingViewPart2) 14:06 Adding a custom heart animation to like posts (LikeAnimationView) Preview 17:59 Adding the ability to share and report posts 17:51 Supporting Dark Mode! 20:56 User Interface: Section Complete! Preview 04:35 Google Firebase: Creating & Implementing the Database 32 lectures • 7hr 53min Connecting Google Firebase & Adding Cocoapods 20:18 Implementing Sign In With Apple 21:38 Implementing Sign In With Google 15:58 Authenticating users into Google Firebase 13:19 Moving Data Through the Onboarding Process 06:35 Begin: Creating a new user in our database 25:25 Uploading Images to Storage 21:12 Logging in a user into DogGram 09:54 Setting Up UserDefaults (@AppStorage) 12:40 Finish: Creating a new user in our database 15:28 Logging Out Users 11:10 Signing in again ; checking if a user already exists in our database 17:49 Uploading a post to the database 28:08 Downloading profile images 20:25 Downloading posts for a user's profile 22:19 Downloading post images Preview 11:18 Downloading posts for the Feed and Browse tabs 11:10 Adding Extra Posts & Users (no coding!) 13:08 Adding a LazyView 10:29 Liking posts Preview 19:04 Reporting posts 14:12 Uploading comments 26:26 Downloading comments 15:56 Updating profile statistics: post/like counts 12:45 Updating user's display name 28:08 Updating user's bio Preview 05:34 Updating user's profile picture 11:03 BONUS: Multi-threading (optimizing app performance) 11:22 BONUS: Haptics (phone vibrations) 03:35 BONUS: Google Analytics (track user behavior!) 12:29 Google Firebase: Section Complete! 03:17 BONUS LECTURE: Continue Learning with FREE SwiftUI courses on my YouTube channel 00:43 Challenges: Continued Learning 9 lectures • 13min Challenges Introduction 01:50 Challenge #1 (EASY): Add Feedback 01:31 Challenge #2 (EASY): Segues to Onboarding 01:36 Challenge #3 (EASY): Unlike Animation 01:07 Challenge #4 (MEDIUM): Liking Comments 01:11 Challenge #5 (MEDIUM): Deleting Comments 00:54 Challenge #6 (MEDIUM): Deleting Posts 00:51 Challenge #7 (HARD): Adding Multiple Images in a Single Post 01:52 Challenge #8 (HARD): Deleting Accounts 02:05 Requirements Xcode 12.0 or higher (free to download on Mac) Google email account (free to create) Apple Developer Account (optional) 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! Who this course is for: Designed for students of all levels! Beginners with a basic understanding of Swift and who want to learn how to create a complete app from start to finish! Front-end Swift developers who want to get better with SwiftUI Back-end Swift developers who want to learn Google Firebase Anyone who wants to be able to create their own social networking app Anyone interested in full-stack Swift development Show more Show less Featured review ATTIC SOFTWARE DEVELOPMENT 12 courses 4 reviews Rating: 5.0 out of 5 6 months ago Excellent!. Clear explanations, good rythm. To my opinion perhaps a little intense for absolute beginners but not difficult at all if you have some experience already. Good information on how to solve integration with UIKit, SwiftUI wrappers, modifiers, etc. It helped me clarify several issues I had using urls, setting the launchscreen on the info.plist instead of using just a simple launchscreen storyboard even inside the SwiftUI life cycle setup. All done with SwiftUI on the front end side. Show more Show less Instructor Nick Sarno iOS Developer 4.8 Instructor Rating 110 Reviews 505 Students 1 Course What's up everyone! I'm Nick. I'm a self-taught iOS developer with several years of experience coding in Swift. In addition to teaching on Udemy, I run a YouTube channel @SwiftfulThinking where I teach Swift + SwiftUI. In 2019 I co-founded an app development company that now has several published apps in the App Store, including a social network and a dating app. Prior to learning Swift, I attended Penn State (We Are) and had a career in banking. During that time, I had a dream to launch my own app. After learning how expensive it would be to hire an app developer to to bring my idea to life, I set out on a mission to learn how to build it myself... ...and now I get the pleasure to teach others what I've learned. I learned to code through online courses (just like you) and I know first-hand how frustrating it is when you are taking a course and it becomes hard to follow or understand. As you'll see in my videos, I always try to explain what we are doing, so that you are actually comprehending and not just copying the code! My goal is to make the learning process as easy and streamlined as possible for my students. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677861d86ad3f3e3',m:'e03541cd4ab74f86a3334e0803cfec13d4a79c5f-1627750819-1800-AU8jDD+7aYdi0d7XFDHltpoviEV9zVt/AKMi1W0ckNgj+H8vPmIDUPNU8WqTSLYoHbEgZKSYhLSAqXU00Shs8eYIkmdFM87d2PHFNiBZR3eeCFxy/XS/pKnifyAdCtmJuqnBLinVQ7Ap2Reuoh8qPI4=',s:[0x006057b09a,0x931b4325f5],}})();
  5. 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! Show more Show less Course content 4 sections • 67 lectures • 14h 7m total length Expand all sections Introduction 2 lectures • 6min Introduction Preview 01:55 Course Overview Preview 04:02 SwiftUI: Creating the User Interface 24 lectures • 5hr 56min Setting Up Xcode 08:56 App Icon & Launch Screen 08:37 Adding the tab bar (TabView) Preview 10:55 Creating the Feed screen and a template for posts (FeedView & PostView) 15:35 Setting up a data structure for posts (PostModel) 19:03 Creating the Comments screen (CommentsView) 07:23 Creating subviews to display comments (MessagesView) 21:15 Creating the Browse screen (BrowseView) Preview 21:17 Adding a custom grid to display posts (ImageGridView) 18:02 Creating the Upload screen (UploadView) 08:48 Uploading images from the camera and photo library (ImagePicker) 21:45 Create screen to upload a new post (PostImageView) 18:40 Creating the Profile screen (ProfileView) 12:44 Finishing the Profile screen (ProfileView) 12:21 Creating the Settings screen (SettingsView) 26:07 Creating a screen to edit user's name and bio (SettingsEditTextView) 11:51 Creating a screen to edit user's profile picture (SettingsEditImageView) 16:08 Creating a screen to funnel new users to sign up (SignUpView) 09:45 Creating a screen to sign in users (OnboardingView) 11:25 Adding a screen to create new accounts (OnboardingViewPart2) 14:06 Adding a custom heart animation to like posts (LikeAnimationView) Preview 17:59 Adding the ability to share and report posts 17:51 Supporting Dark Mode! 20:56 User Interface: Section Complete! Preview 04:35 Google Firebase: Creating & Implementing the Database 32 lectures • 7hr 53min Connecting Google Firebase & Adding Cocoapods 20:18 Implementing Sign In With Apple 21:38 Implementing Sign In With Google 15:58 Authenticating users into Google Firebase 13:19 Moving Data Through the Onboarding Process 06:35 Begin: Creating a new user in our database 25:25 Uploading Images to Storage 21:12 Logging in a user into DogGram 09:54 Setting Up UserDefaults (@AppStorage) 12:40 Finish: Creating a new user in our database 15:28 Logging Out Users 11:10 Signing in again ; checking if a user already exists in our database 17:49 Uploading a post to the database 28:08 Downloading profile images 20:25 Downloading posts for a user's profile 22:19 Downloading post images Preview 11:18 Downloading posts for the Feed and Browse tabs 11:10 Adding Extra Posts & Users (no coding!) 13:08 Adding a LazyView 10:29 Liking posts Preview 19:04 Reporting posts 14:12 Uploading comments 26:26 Downloading comments 15:56 Updating profile statistics: post/like counts 12:45 Updating user's display name 28:08 Updating user's bio Preview 05:34 Updating user's profile picture 11:03 BONUS: Multi-threading (optimizing app performance) 11:22 BONUS: Haptics (phone vibrations) 03:35 BONUS: Google Analytics (track user behavior!) 12:29 Google Firebase: Section Complete! 03:17 BONUS LECTURE: Continue Learning with FREE SwiftUI courses on my YouTube channel 00:43 Challenges: Continued Learning 9 lectures • 13min Challenges Introduction 01:50 Challenge #1 (EASY): Add Feedback 01:31 Challenge #2 (EASY): Segues to Onboarding 01:36 Challenge #3 (EASY): Unlike Animation 01:07 Challenge #4 (MEDIUM): Liking Comments 01:11 Challenge #5 (MEDIUM): Deleting Comments 00:54 Challenge #6 (MEDIUM): Deleting Posts 00:51 Challenge #7 (HARD): Adding Multiple Images in a Single Post 01:52 Challenge #8 (HARD): Deleting Accounts 02:05 Requirements Xcode 12.0 or higher (free to download on Mac) Google email account (free to create) Apple Developer Account (optional) 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! Who this course is for: Designed for students of all levels! Beginners with a basic understanding of Swift and who want to learn how to create a complete app from start to finish! Front-end Swift developers who want to get better with SwiftUI Back-end Swift developers who want to learn Google Firebase Anyone who wants to be able to create their own social networking app Anyone interested in full-stack Swift development Show more Show less Featured review ATTIC SOFTWARE DEVELOPMENT 12 courses 4 reviews Rating: 5.0 out of 5 6 months ago Excellent!. Clear explanations, good rythm. To my opinion perhaps a little intense for absolute beginners but not difficult at all if you have some experience already. Good information on how to solve integration with UIKit, SwiftUI wrappers, modifiers, etc. It helped me clarify several issues I had using urls, setting the launchscreen on the info.plist instead of using just a simple launchscreen storyboard even inside the SwiftUI life cycle setup. All done with SwiftUI on the front end side. Show more Show less Instructor Nick Sarno iOS Developer 4.8 Instructor Rating 110 Reviews 505 Students 1 Course What's up everyone! I'm Nick. I'm a self-taught iOS developer with several years of experience coding in Swift. In addition to teaching on Udemy, I run a YouTube channel @SwiftfulThinking where I teach Swift + SwiftUI. In 2019 I co-founded an app development company that now has several published apps in the App Store, including a social network and a dating app. Prior to learning Swift, I attended Penn State (We Are) and had a career in banking. During that time, I had a dream to launch my own app. After learning how expensive it would be to hire an app developer to to bring my idea to life, I set out on a mission to learn how to build it myself... ...and now I get the pleasure to teach others what I've learned. I learned to code through online courses (just like you) and I know first-hand how frustrating it is when you are taking a course and it becomes hard to follow or understand. As you'll see in my videos, I always try to explain what we are doing, so that you are actually comprehending and not just copying the code! My goal is to make the learning process as easy and streamlined as possible for my students. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677861d86ad3f3e3',m:'e03541cd4ab74f86a3334e0803cfec13d4a79c5f-1627750819-1800-AU8jDD+7aYdi0d7XFDHltpoviEV9zVt/AKMi1W0ckNgj+H8vPmIDUPNU8WqTSLYoHbEgZKSYhLSAqXU00Shs8eYIkmdFM87d2PHFNiBZR3eeCFxy/XS/pKnifyAdCtmJuqnBLinVQ7Ap2Reuoh8qPI4=',s:[0x006057b09a,0x931b4325f5],}})();
  6. 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! Show more Show less Course content 4 sections • 67 lectures • 14h 7m total length Expand all sections Introduction 2 lectures • 6min Introduction Preview 01:55 Course Overview Preview 04:02 SwiftUI: Creating the User Interface 24 lectures • 5hr 56min Setting Up Xcode 08:56 App Icon & Launch Screen 08:37 Adding the tab bar (TabView) Preview 10:55 Creating the Feed screen and a template for posts (FeedView & PostView) 15:35 Setting up a data structure for posts (PostModel) 19:03 Creating the Comments screen (CommentsView) 07:23 Creating subviews to display comments (MessagesView) 21:15 Creating the Browse screen (BrowseView) Preview 21:17 Adding a custom grid to display posts (ImageGridView) 18:02 Creating the Upload screen (UploadView) 08:48 Uploading images from the camera and photo library (ImagePicker) 21:45 Create screen to upload a new post (PostImageView) 18:40 Creating the Profile screen (ProfileView) 12:44 Finishing the Profile screen (ProfileView) 12:21 Creating the Settings screen (SettingsView) 26:07 Creating a screen to edit user's name and bio (SettingsEditTextView) 11:51 Creating a screen to edit user's profile picture (SettingsEditImageView) 16:08 Creating a screen to funnel new users to sign up (SignUpView) 09:45 Creating a screen to sign in users (OnboardingView) 11:25 Adding a screen to create new accounts (OnboardingViewPart2) 14:06 Adding a custom heart animation to like posts (LikeAnimationView) Preview 17:59 Adding the ability to share and report posts 17:51 Supporting Dark Mode! 20:56 User Interface: Section Complete! Preview 04:35 Google Firebase: Creating & Implementing the Database 32 lectures • 7hr 53min Connecting Google Firebase & Adding Cocoapods 20:18 Implementing Sign In With Apple 21:38 Implementing Sign In With Google 15:58 Authenticating users into Google Firebase 13:19 Moving Data Through the Onboarding Process 06:35 Begin: Creating a new user in our database 25:25 Uploading Images to Storage 21:12 Logging in a user into DogGram 09:54 Setting Up UserDefaults (@AppStorage) 12:40 Finish: Creating a new user in our database 15:28 Logging Out Users 11:10 Signing in again ; checking if a user already exists in our database 17:49 Uploading a post to the database 28:08 Downloading profile images 20:25 Downloading posts for a user's profile 22:19 Downloading post images Preview 11:18 Downloading posts for the Feed and Browse tabs 11:10 Adding Extra Posts & Users (no coding!) 13:08 Adding a LazyView 10:29 Liking posts Preview 19:04 Reporting posts 14:12 Uploading comments 26:26 Downloading comments 15:56 Updating profile statistics: post/like counts 12:45 Updating user's display name 28:08 Updating user's bio Preview 05:34 Updating user's profile picture 11:03 BONUS: Multi-threading (optimizing app performance) 11:22 BONUS: Haptics (phone vibrations) 03:35 BONUS: Google Analytics (track user behavior!) 12:29 Google Firebase: Section Complete! 03:17 BONUS LECTURE: Continue Learning with FREE SwiftUI courses on my YouTube channel 00:43 Challenges: Continued Learning 9 lectures • 13min Challenges Introduction 01:50 Challenge #1 (EASY): Add Feedback 01:31 Challenge #2 (EASY): Segues to Onboarding 01:36 Challenge #3 (EASY): Unlike Animation 01:07 Challenge #4 (MEDIUM): Liking Comments 01:11 Challenge #5 (MEDIUM): Deleting Comments 00:54 Challenge #6 (MEDIUM): Deleting Posts 00:51 Challenge #7 (HARD): Adding Multiple Images in a Single Post 01:52 Challenge #8 (HARD): Deleting Accounts 02:05 Requirements Xcode 12.0 or higher (free to download on Mac) Google email account (free to create) Apple Developer Account (optional) 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! Who this course is for: Designed for students of all levels! Beginners with a basic understanding of Swift and who want to learn how to create a complete app from start to finish! Front-end Swift developers who want to get better with SwiftUI Back-end Swift developers who want to learn Google Firebase Anyone who wants to be able to create their own social networking app Anyone interested in full-stack Swift development Show more Show less Featured review ATTIC SOFTWARE DEVELOPMENT 12 courses 4 reviews Rating: 5.0 out of 5 6 months ago Excellent!. Clear explanations, good rythm. To my opinion perhaps a little intense for absolute beginners but not difficult at all if you have some experience already. Good information on how to solve integration with UIKit, SwiftUI wrappers, modifiers, etc. It helped me clarify several issues I had using urls, setting the launchscreen on the info.plist instead of using just a simple launchscreen storyboard even inside the SwiftUI life cycle setup. All done with SwiftUI on the front end side. Show more Show less Instructor Nick Sarno iOS Developer 4.8 Instructor Rating 110 Reviews 505 Students 1 Course What's up everyone! I'm Nick. I'm a self-taught iOS developer with several years of experience coding in Swift. In addition to teaching on Udemy, I run a YouTube channel @SwiftfulThinking where I teach Swift + SwiftUI. In 2019 I co-founded an app development company that now has several published apps in the App Store, including a social network and a dating app. Prior to learning Swift, I attended Penn State (We Are) and had a career in banking. During that time, I had a dream to launch my own app. After learning how expensive it would be to hire an app developer to to bring my idea to life, I set out on a mission to learn how to build it myself... ...and now I get the pleasure to teach others what I've learned. I learned to code through online courses (just like you) and I know first-hand how frustrating it is when you are taking a course and it becomes hard to follow or understand. As you'll see in my videos, I always try to explain what we are doing, so that you are actually comprehending and not just copying the code! My goal is to make the learning process as easy and streamlined as possible for my students. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677861d86ad3f3e3',m:'e03541cd4ab74f86a3334e0803cfec13d4a79c5f-1627750819-1800-AU8jDD+7aYdi0d7XFDHltpoviEV9zVt/AKMi1W0ckNgj+H8vPmIDUPNU8WqTSLYoHbEgZKSYhLSAqXU00Shs8eYIkmdFM87d2PHFNiBZR3eeCFxy/XS/pKnifyAdCtmJuqnBLinVQ7Ap2Reuoh8qPI4=',s:[0x006057b09a,0x931b4325f5],}})();
  7. 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! Show more Show less Course content 4 sections • 67 lectures • 14h 7m total length Expand all sections Introduction 2 lectures • 6min Introduction Preview 01:55 Course Overview Preview 04:02 SwiftUI: Creating the User Interface 24 lectures • 5hr 56min Setting Up Xcode 08:56 App Icon & Launch Screen 08:37 Adding the tab bar (TabView) Preview 10:55 Creating the Feed screen and a template for posts (FeedView & PostView) 15:35 Setting up a data structure for posts (PostModel) 19:03 Creating the Comments screen (CommentsView) 07:23 Creating subviews to display comments (MessagesView) 21:15 Creating the Browse screen (BrowseView) Preview 21:17 Adding a custom grid to display posts (ImageGridView) 18:02 Creating the Upload screen (UploadView) 08:48 Uploading images from the camera and photo library (Im