Autoplay
Autocomplete
Toggle Sidebar
Previous Lesson
Complete and Continue
Build Instagram
Code Updated to Firebase 5
Update Code to Swift 4.2 and Firebase 5 (2:17)
See Lecture 96 for Updating Code to Firebase 5.
Rough layout
Lecture 1. Get Familiar with Xcode 8 (10:51)
Lecture 2. Add Sign In Scene (12:03)
Lecture 3. Add Sign Up Scene. (11:48)
Lecture 4. Add Auto Layout and StackView (19:41)
Lecture 5. Add TabbarViewController (21:56)
Lecture 6. Customize TabbarViewController and add NavigationViewController (11:14)
Lecture 7. Storyboard References Part 1 (6:28)
Lecture 8. Storyboard References Part 2 (6:43)
Lecture 9. Customize Sign In, Sign Up Scenes (20:34)
Email Sign Up and Log In with Robust Error Checking.
Lecture 10. Introduction Firebase, and How to Integrate Firebase SDK to Our App (7:55)
Lecture 11. Authentication with Firebase - Sign Up New Users part 1 (7:51)
Lecture 12. Authentication with Firebase - Sign Up New Users part 2 (16:50)
Lecture 13. Authentication with Firebase - Sign Up New Users part 3 (28:37)
Lecture 14. Authentication with Firebase - Validate TextField (15:33)
Lecture 15. Authentication with Firebase - Signing In User (8:18)
Lecture 16. Log Out and Auto Sign In. (11:11)
Lecture 17. Best Coding Practices 1: Create Modular Services for Specific Tasks. (36:52)
Lecture 18. Dismiss Keyboard and Show Authentication Progress. (7:36)
Share Posts
Lecture 19. Design The Camera Tab. (5:11)
Lecture 20. Upload Photos to Firebase and Design Efficient Database: Don't Include Users in Posts. (19:31)
Lecture 21. Share posts. (16:46)
New Feeds
Lecture 22. Start Building The News Feed. (11:48)
Lecture 23. Grab Post Data from Firebase Database: Don't Show Data on Views Directly. (6:01)
Lecture 24. Model - View - Controller (MVC): Build A Model to Encode Post Data. (13:49)
Lecture 25. Best Coding Practices 2: Construct a Good Model. (11:11)
Lecture 26. Design the Home View. (16:26)
Lecture 27. Show Fake Data on News Feed and Use Dynamic Cells to Display Long Content. (13:23)
Lecture 28. Efficiently Display Real Post Data on the News Feed: A Model-View-Controller Approach. (14:00)
Lecture 29. Show User Profiles on News Feed: The Inefficient Way That Everyone Teaches You. (16:39)
Lecture 30. Shows User Profiles On News Feed: A Scalable Way That Everyone Fails to Teach You. (15:00)
Lecture 31. Enhance User Experience: Show A Loading Indicator. (3:51)
Comment
Lecture 32: Design The Comment View: Add Table View to Show Comments. (11:03)
Lecture 33. Design The Comment View: Add Comment Input Text Field and Send Button. (7:27)
Lecture 34. Send Comments: Design Scalable Comment Databases. (10:52)
Lecture 35. Tie Up Posts and Comments on The Database The Right Way: Scalably. (11:40)
Lecture 36. Fast and Efficiently Display Comments for A Single Post. (13:20)
Lecture 37. Show Keyboard, Type Comments, Hide Keyboard, and All That. (9:26)
Lecture 38. Fast and Efficiently Display Comments for ANY Post. (12:08)
Lecture 39. Best Coding Practices 3: Write Your Own APIs to Conveniently Observe Data. (17:39)
Like Posts The Scalable Way: We Can Let Thousands of Users Like A Post at The Same Time.
Lecture 40. Like Posts: The Common (and NOT Scalable) Database Design That Everyone Teaches You. (4:30)
Lecture 41. Like Posts: The Unscalable Way Everyone Copying from Each Other. (11:48)
Lecture 42. Like Posts: A Scalable Way That No One Was Able to Teach You. (26:11)
Lecture 43. Improve The Like Feature: Smoothly Update Like When Scrolling View. (2:20)
Design Profile View and Display User Information
Lecture 44. Design and Auto Layout a Good Looking Profile View. (10:25)
Lecture 45. Feed Fake Data to The Profile View. (10:47)
Lecture 46. Best Coding Practices 4: Views Should Not Work With Database. (6:39)
Lecture 47. Who Post What? Efficiently Design Matching Database and Retrieve Posts for Users. (12:01)
Lecture 48. Display Posts on User Profile, and Arrange Them Nicely. (11:02)
Lecture 49. Best Coding Practices 5: Factor Your Code Completely with Model-View-Controller. (26:11)
Follow, Unfollow, and All That
Lecture 50. Discover Users to Follow: Design a Clean UI. (9:47)
Lecture 51. Discover Users to Follow: Efficiently List Discovered Users (9:27)
Lecture 52. Follow and Unfollow A User: Start with A Good Database Design. (11:06)
Lecture 53. Follow and Unfollow The Right Way: It's All About Talking To Your Database. (20:17)
Lecture 54. Observe Database Properly to Smoothly Update Follow States When Scrolling View. (5:42)
Like and Follow The Best Way: An MVC Approach.
Lecture 55. A Clever Trick to Update Follow and Unfollow Information. (2:43)
Lecture 56. Smartly Update Like Information. (4:58)
News Feed: Show Your Posts and Those by Followed Users
Lecture 57. It's All about Cleverly Designing A Good Database. (11:26)
Lecture 58. Your News Feed Is Then Merely A Projection of Your Feed Database. (15:49)
Search
Lecture 59. Build Search View and Get Search Text for Realtime Query. (14:18)
Lecture 60. Search As You Type: Realtime Query Users. (15:09)
Lecture 61. Search As You Type: Display Research Results on View in Realtime. (10:42)
Lecture 62. Check Out User Profile When Tapping Username (14:00)
Lecture 63. Best Coding Practice 6: Writing Self-contained Code with Protocol and Delegate (9:00)
Everything You Need to Know about Visiting A User Profile
Lecture 64. Who Is This? Visit User Profiles From Home, Comment, and Search Views. (15:22)
Lecture 65. Follow and Unfollow Users in Their Profiles. Be careful. Other Places Need Updated Too. (19:31)
Lecture 66. Grab and Display Post Count, Following Count, and Follower Count in Realtime. (10:44)
Setting
Lecture 67. Design a Nice Looking Setting View. (16:04)
Lecture 68. Retrieve and Display User Information on Setting. (5:10)
Lecture 69. Edit User Profile The Right Way. (25:49)
View Post Details When Tapping a Post
Lecture 70. Design Detail View; Switch to Post Detail View When Tapping a Post. (9:59)
Lecture 71. Display Post Detail; Visit Comments and Users from Post Detail View (10:21)
Lecture 72. Visit Posts from User Profiles (5:51)
Display Photos Based on Their Sizes Using Dynamic Heights.
Lecture 73. First, The App Needs to Know Photo Sizes. (6:35)
Lecture 74. Then Adjust Photo Height Accordingly (4:27)
Share Video Posts
Lecture 75. Pick Videos from Library and Generate Video Thumbnails (12:24)
Lecture 76. Push Video Data to The Firebase Server (14:29)
Lecture 77. Download Videos from Server and Play Them in The App. (17:08)
Lecture 78. Mute and Unmute Videos; Automatically Mute Videos When Scrolling View. (22:55)
Filter Photos.
Lecture 79. Show The Filter View after Picking A Photo. (12:11)
Lecture 80. Filter Photos, and Do It Fast. (26:07)
Lecture 81. Filtering Might Distort Photos; Let's Fix That. (5:09)
Hashtags and User Mentioning.
Lecture 82. Extract Hashtags from Captions and Save Them to The Database. (9:36)
Lecture 83. Highlight Hashtags and Make Them Respond to User Taps. (7:41)
Lecture 84. Show Posts for Each Hashtag. (21:22)
Lecture 85. Mention Users. (4:50)
Lecture 86. Handle Hashtags in Comments. (2:16)
Timestamps for Posts
Lecture 87. Create Timestamps When Sharing Posts, and Attach Them to The Posts. (4:35)
Lecture 88. Show Timestamp for Each Post.mp4 (8:51)
Notifications
Lecture 89. Design The Activity View (8:29)
Lecture 90: Upload Activities to Firebase (11:07)
Lecture 91: Display Data on The Activity View (7:26)
Lecture 92. Checkout Post Details from Notification When Someone Shared A New Post. (9:48)
Lecture 93. Someone Followed Me: Checkout Their Profiles from Notifications.
Walkthrough
Lecture 94. Design Walkthrough Scene using UIPageViewController (4:44)
Lecture 95. Switch Walkthrough Pages. (14:30)
Update Code to Firebase 5
Lecture 96. Cleverly Update Code to Firebase 5. (9:10)
Extended Part of the Course: Practically Advanced Features.
Lecture 97. Order Posts on Feed Based on Anything You Want: Time, Trending, and All That. (We'll publish them in Swift 4 after updating the entire project to Swift 4) (7:04)
Lecture 98. Build A Beautiful Custom Camera. (8:47)
Lecture 99. News Feed Revisited: Don't Load Millions of Posts at Once. Load Some Posts First; Load More If Needed. A Scalable Way That No One Was Able to Teach You. (Part 1) (10:43)
Lecture 100. News Feed Revisited: Don't Load Millions of Posts at Once. Load Some Posts First; Load More If Needed. A Scalable Way That No One Was Able to Teach You. (Part 2) (12:43)
Lecture 101. News Feed Revisited: Pull To Refresh
Lecture 102. Source code
Lecture 54. Observe Database Properly to Smoothly Update Follow States When Scrolling View.
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock