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 80. Filter Photos, and Do It Fast.
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock