Android Instagram Clone Course

A step-by-step guide to build your own Instagram Clone

Watch it here: Instagram Clone Course


The course outline is still not "set in stone." I'll be building it in modules so you can have check points if you want to take a break and come back to it in the future. At this point I'm guessing there will be 30-50 videos.

We'll start by building almost the entire interface and then move onto the back-end.

The back-end will be almost 100% Firebase as that will make it simply for the purposes of this course.

If this were a real production app I would probably use:

  • Firebase for user management and authentication
  • Amazon Web Services to store images and videos
  • A server (website) SQL database for saving all other data. Take a look here for an outline of what the database would roughly look like if you did that. (SQLite is probably fine)

That would require a TON more code. Setting up the server/website alone would probably be another 20 videos or so. So to keep things simple and condensed I will just use Firebase for everything. After all this is an Android Course, not a web development course.

Lecture Source Code:

  1. Getting Started
  2. Toolbars and NavigationView
  3. Customizing the BottomNavigationView
  4. BottomNavigationView Activities
  5. Organizing Things and Tab-Prep
  6. SectionsPagerAdapter (Home Screen Tabs)
  7. Profile Toolbar and Menu
  8. Building the Profile Part 1
  9. Building the Profile Part 2
  10. Account Settings Layout
  11. Account Settings Navigation
  12. Account Settings Fragments
  13. EditProfile Fragment Layout
  14. Universal Image Loader Config
  15. Testing Images in the User Profile
  16. Square ImageView Widgets
  17. Login Layout
  18. Register Layout
  19. Get Started with Firebase
  20. Setup Firebase Authentication
  21. Testing Firebase Authentication
  22. Setup Register Activity Widgets
  23. Register New User with Firebase
  24. Firebase Database Structure (no source code)
  25. Check if Username Already Exists
  26. Insert New Data
  27. Email Verificaiton
  28. Enable User Signout
  29. Profile Fragment
  30. Profile Fragment Setup
  31. Retrieving User Data from Firebase
  32. Setting Profile Fragment Widgets
  33. Navigating to EditProfile Fragment
  34. Setting EditProfile Fragment Widgets
  35. Saving User Profile Changes
  36. Query Firebase Database
  37. Changing Firebase Authenticated Email (part 1)
  38. Changing Firebase Authenticated Email (part 2)
  39. Changing Firebase Authenticated Email (part 3)
  40. Update User Account Settings
  41. Verifying Permissions for Sharing
  42. ShareActivity Layout and Tabs
  43. Setup Gallery and Photo Fragments
  44. Camera Intent
  45. GalleryFragment Layout
  46. Phone Directories
  47. ShareActivity GridView
  48. Selected Image to Share
  49. NextActivity Setup
  50. How to upload images to Firebase Storage (no source code)
  51. Getting the Image Count
  52. Firebase Storage Reference
  53. Convert Bitmap to Byte Array
  54. Upload Photo to Firebase Storage
  55. Insert Photo into Firebase Database
  56. Changing Profile Photo
  57. Upload New Profile Photo to Firebase Storage
  58. Fixing the Navigation
  59. New Profile Photo Using Camera
  60. Share Photo using Camera
  61. Populating User Profile Gridview
  62. Activity Animations
  63. Post Viewing Layout (part1)
  64. Post Viewing Layout (part2)
  65. GridImage Selection Interface
  66. Retrieving Post Image From Bundle
  67. Image Post Date
  68. Query Photo Details
  69. Likes Toggle Part1
  70. Likes Toggle Part2
  71. Likes Toggle Part3
  72. Likes Toggle Part4
  73. Likes Toggle Part5
  74. Testing Instagram Likes
  75. Comments Layout
  76. Comments ListAdapter part1
  77. Comments ListAdapter part2
  78. Displaying the First Comment
  79. Inserting Comments
  80. Reading Comments
  81. Finishing Comments (IMPORTANT)
  82. Search Activity Layout
  83. Searching for Users
  84. Viewing User Profiles
  85. View Profile Fragment
  86. Following Users (part1)
  87. Following Users (part2)
  88. Fixing a Few Bugs
  89. Mainfeed ListAdapter (part 1/2)
  90. Mainfeed ListAdapter (part 2/2)
  91. Displaying Posts in the Main Feed (part 1/3)
  92. Displaying Posts in the Main Feed (part 2/3)
  93. Displaying Posts in the Main Feed (part 3/3)
  94. ListView Pagination and Bug Fixes
  95. End?!