🔴 Build Instagram With an Ex-Meta Engineer | SwiftUI + Firebase
ฝัง
- เผยแพร่เมื่อ 5 ส.ค. 2024
- Let's Build Instagram with SwiftUI!
🔴 Become a member to access Exclusive Content & Source Code :
www.stephancodes.com/plans-pr...
🔴Navigation Stacks:
• This NEW SwiftUI Featu...
🔴Async/Await:
• How to Network Like A ...
🔴@State vs @Binding video:
• NEVER Confuse @State v...
🖥️ ONLINE COURSES & APPS
👉 Pro Courses:
www.stephancodes.com/videos
👉 FREE UBER SwiftUI Course
• 🔴 Let's Build UBER wit...
👉 iOS App Templates:
www.stephancodes.com/shop
👉 FREE Twitter SwiftUI Course
• 🔴 Let's Build Twitter ...
Social Media:
Instagram - @stephan.dowless
Features:
Login / Sign Up
Image Uploading / Downloading
Post Feed
User Profile
User Search
Edit Profile
Firebase backend
🕐 TIMESTAMPS:
00:00 - Intro & App Demo
02:22 - Project Setup
06:04 - Tab Bar Setup
10:06 - Profile View UI
36:16 - Feed View UI
52:01 - Explore Page UI
52:01 - Explore Page UI
59:39 - Login UI
1:13:23 - Registration UI
1:35:00 - User Data Model
1:56:50 - Post Data Model
2:14:48 - Upload Post View
2:39:06 - Firebase Setup
2:47:41 - Authentication Service
3:00:20 - Register User With Firebase
3:19:13 - Log In / Log Out
3:28:43 - Upload User Data To Firestore
3:36:26 - Fetch Current User Data
3:52:18 - Fetch All Users
4:06:33 - Profile Action Button
4:12:56 - Edit Profile View
4:30:02 - Update User Data
4:41:25 - Update Profile Image
4:52:49 - Fetch / Display Images From Firebase Storage
4:30:02 - Update User Data
5:11:40 - Upload Post
5:22:20 - Fetch Feed Posts
5:41:12 - Fetch User Posts - วิทยาศาสตร์และเทคโนโลยี
one of the best tuts on TH-cam! Real, genuine, and cool - all at once. Not only does it teach Swift but it also teaches sensational tutorial techniques. You'd make a great media coach!
You've literally helped me so much! I love all your videos! You do such a good job walking us through making real world apps instead of something useless.
This was so much fun to follow. Learned a lot. Definitely going to check out the full version on your site. Thanks!
This was fun to code along to! Thanks for taking the time to do it.
Thank You so much, Stephan, for a such rich tutorial. I love the way you make your tutorials and explain each step of the way you are taking throughout the code. Keep up the amazing work! I'm excited to see what you are going to bring next to us. =]
really you did awesome and your teaching style is more essential that actually needed for every beginner programmer. love it man :)D
You're an absolute stud for making these videos bro. So appreciated for this video and all the resources you create man.
Thank you man!
You are a brilliant human being and deserve all the best things in life. Thank you so much.
Absolute Banger!! Thank you so much for those videos!❤
Incredible tutorial!! Thank you so much for teaching us so well about SwiftUI
Hi, I'm really excited of your videos. Thank you so much!
Thank you so much for the tutorial!! I learned so much - you made it so easy to understand.
Hands down the best instructor on TH-cam 🙌🏾🙏🏾
Really thanks for this video, It's awesome. English is my second language, but your accent is so easy to understand, thanks bro.
Man, great video. Love learning this stuff.
Amazing work! Haven't got to tackle this yet but I plan to this weekend. Thanks for this gem, keep up the quality content.
It's amazing content like these are up here accessible to everyone. Thank you
Finally finished it! Thank you bro I appreciate it
If I can sit down with one person and stuck on one island, I'll pick you mate and learn Code with you all night long. I toss my hat to you on how you get me back in Programming!
So amazing and solid work! Thanks!
Thank you very much this was absolutely amazing!
Hey man thank you for the awesome video. Seriously this is yet another app that has been added to my portfolio. I really appreciate you man. Some feedback: The text in your xcode is pretty small. Maybe zoom in or make the text slightly bigger? Thanks again, keep the videos coming! 💪🏻
good stuff man! Takes lots of effort.
The fact that you took the time to do this says a lot. Thank you for creating this. You've created a loyal supporter in the process. Looking forward to more content and happy to support you along the way.
Thanks a lot Stephan, it's a fantastic tutorial! ❤
Thanks a lot. Great resource! Well done.
Great video like always!
Awesome. Thanks for this great video.
This is so soooo good. Will definitely purchase the PRO course. Mostly, I'm loving the description/implementation of architecture
pls messeging on this video pls add messeging systeme pls pls pls pls pls i love you so much
Keep up the hard work!
Thank you for the awesome video!
Excelent App you´re the best! keep sharing content!
Regards From Mexico!
Thankyou sir , this course was awsome
perfect timing! I just finished your twitter clone tutorial a few hours ago. Thanks!
I am definitely buying this pro course
hello, man you helped me a lot thank you 💜
great tutorial, thank you!
You’re welcome! The pro version is available now! Check it out to keep learning!
Thank you so much
MIND BLOWING. Easily the best Swift tutorial I've ever done. Thanks.
First of all i would like to thank you for this amazing course
when next part of this course launched
thanks
Come back of legend✊
Awesome video. I am wondering how I can go about making the UI scale up to different screen sizes?
thanks for the video
Thanks!
thanks for all
Hey, great video thanks for sharing this! Something for @2:37:56, when you say it redraws the whole view of UploadPostView, I think it's only redrawing the image part because the ViewModel is a StateObject right?
+1 for thumbnail
Thank you.
It's possible to use markdown to get more one style on the same Text without using multiple of theme.
4:50:30
when i try to upload a photo i get an error
DEBUG: Failed to upload image with error unknown("An unknown error occurred, please check the server response.")
you are awesome bro
Thanks for great tutorial, i have a short question.
Can we use swift ui contentView with uikit in ios 11 project?
At the 5:40:30 mark it seems like it's "looping" though the posts twice. The first time is in the form of the compactMapping and then the second time is the actual for loop. I just started learning Swift so I don't know too much about what's going on under the hood but would it not be more efficient to do only one for loop through the snapshot.documents? You could get each user's info when their post is in the loop could you not? This content is straight fire btw 🙏🏼
Just a heads up coders:
In Firebase Firestore you can’t ‘listen’ to updates when you add or change data in your app using async / await (hopefully they will update this feature soon) ….but can do it using completion handlers
Also:
If you import FirebaseFirestoreSwift in your files you can access ‘Date()’ instead of changing it to Timestamp
Thanks Stephan for these videos!
I’m having problems with my images displaying at first they were but not anymore could this be the issue
@@noequalmusic1113 my fullname and profile image is not displayed, what should i do?
@@anggakusuma250I’d have to see your code to know what could be the issue
@@anggakusuma250did you get it solved I also had the same issue I solved it
@@Soleusgaming still having that issue
Bro please continue this series we want all remaining feature like story, chat, follow/unfollow, like/dislike, comment.
can you do some av foundation and ARKit stuff that would be cool!
If you want to make a similar app but with other images in the "tabs" view - how do you change to other icons?
U r the best
What's the difference between this and the pro course version?
Hi Stephan this code in after the post keep giving me error, anything I can do to fix it. thanks
How to use webrtc with swiftui for video calling?
Is it suitable for beginner level?
Why am I having trouble logging into my account on your website, keeps saying wrong password or email even after changing my password.
how can we addd buttons for blocking and reporting users or posts if someone puts an inappropriate post
5:31:00 - Type "Post" does not conform to protocol "Encodable"
Type "Post" does not conform to protocol "Equatable"
Type "Post" does not conform to protocol "Hashable" when I add var user: User?
Thanks for the tutorial! I found there is a bit glitches when first opening keyboard after tapping on a text field in the login view. There seems to be a constraint warning which is presumably causing this. Do you know how can we fix it? Thanks! @AppStuff
can someone help me please ..
i have a SWIFTUI application with a flow as follows: A(landscape orientation)->B(landscape)-C(portrait)->D(portrait). also when I navigate back from C to B it should turn back to landscape as B is in landscape. (I am using NavigationLink in my application to navigate)How do I achieve the portrait lock in swiftUI.
i tried the .onAppear{} and .onDisappear{} method.. (firstly it is no longer available on ios 16 and secondly it gives a choppy animation where the view does not expand fully to take the new rotated screen size; there is white space after it rotates)
Today I can´t set the timestamp property as Timestamp, any sugestion?
I've been struggling a bit with the registration process despite your video showing that everything works fine. It's really frustrating to encounter issues when everything seems to be in order. Perhaps there's something I'm overlooking, or there's something specific to my situation causing the error. I'd love to hear if anyone else has experienced similar problems and found a solution. Thanks for the video!
Hello, please, I have a problem. I hope you can help me. I was with you step by step but in the end when I finished the program a problem appeared in the FeedView file. I did not know how to solve the problem because no error appeared and this error did not appear in the posts
Your video is very good. Thanks.
What does the PRO version include?
Additional features like commenting, likes, following, notifications etc.
I'm keen to keep learning and bought the extended course from your website for the Instagram Clone, but it appears it's a much older version and isn't the extension of THIS course. Have you made the extended version of this course?
I’m currently filming that now!
I loved your video! The explanation was great, but I think it would be even better if you flipped the order of explanation in some most difficult places. Start with some diagrams to explain the concept, and then go into the code. This would make it easier for viewers to understand what's going on and why you're doing it.
I disagree. If you want to show someone how to use a screwdriver, show them first. Then explain how it works later
Can you make a app in which user can fill a reservation form (calendar option to select date and time) with firebase.
Form can be use in any department like trucking load booking, doctor appointment.
Contact me at appstuffmobile@gmail.com and I can help you build this
Why didn't the validation show?
Anyone else running into trouble near the end when uploading a post? I'm getting several errors and the caption isn't getting stored.
Hey man, how can I get the assets and the source code. I can't find them on your website even after subscribing... :(
can you explain Task keyword?
Is there any major differences between this course and the instagram 2.0 course on the website? I am just finishing this one up and have discovered a new 2.0 one is available on the website
Yes! The pro course has many additional features. Post likes, comments, following/unfollowing, performance enhancements, notifications, and more! It’s a much more comprehensive and advanced build
Is there a way for the fullname/bio to show up as soon as you click save without having to close the app and opening it back up?
Yes. Multiple ways. You could either do an api call to fetch information again once update completes. Or you could update the information clients side with a binding or environment object
3:16:15 it's a pretty cool comment due 😀
2:50 gratidão pela oportunidade avanco social vocês são os melhores para as redes sociais
Thank you for your amazing Tutorial. I have just completed it. But I have errors. First : where file( AuthService ): @Published var userSession : FirebaseAuth.User?. The error message is ' No type named 'User' in module 'FirebaseAuth' '. Second : where file is same, self.userSession = nil. the error message is ' 'nil' requires a contextual type'
Your project will still build and run.
These are not real errors, it’s and issue with Xcode and/or Firebase
For some reason when I’m trying to encode the user data to upload it, Xcode says encoder is not a member of firestore, any thoughts on what’s going wrong? Love the videos btw !
import FirebaseFirestoreSwift
Just had to update the packages 🎉
I'm still watching the video, so you may have figured this out by the end, but if you moved up the NavigationStack up to the tab view, you'd have a much DRY'er situation without navigation issues.
Apple doesn’t recommend wrapping TabViews within NavigationStacks
5:35:30 you can modify posts: for var post in posts
Thank you for this! I work in the Salesforce space as a Tech Lead, but am venturing into iOS Coding (I have very rudimentary knowledge of coding. All of my projects have delevopers, so I can speak the lingo to a degree) as I have an app/business that I am starting on the side.
This video has been SO beneficial to helping me apply the knowledge I've obtained in other courses (100 Days of SwiftUI, Angela Yu on uDemy, Design + Code) and actually apply it in a real world setting. Everything you cover in this video has given me the foundation to start coding my actual app from my Figma designs.
One question - At the 4:52:00 mark you discuss AsyncImage vs Kingfisher and that AsyncImage doesn't support caching. Is it expected that Apple will enhance AsyncImage to cache images in the future? I know in my day job that you don't want to rely on 3rd party packages unless there are absolutely no other options for a host of reasons.
Thank you so much for the awesome feedback!
I hope they add cache support. You could always add your own caching layer, it’s not very difficult. But I’ve seen third party frameworks used in big production apps all the time. Even more so with MVPs and basic apps
@@appstuff5778Absolutely! Thanks for the response. This is reassuring. I’m aiming to get my MVP done by EOY if not sooner. I’ll do some more research, but it’s reassuring that Production Apps utilize this functionality.
Thanks for all the great content!
Insanely valuable info. Will be subbing over on your site once I've finished with the yt stuff haha. Thanks 🙏
Hey, does the Pro courses include pagination?
Yes it does!
@@appstuff5778 Just subscribed. Thanks
if someone wrote the code please send me the link
i need rells features in this tutorial bro you missed up
What are the differences between Pro courses and these youtube courses?
The Pro Courses have a lot more features included, like likes, comments, following, notifications etc
Thanks for your video, this is great. Could you teach us how to use CoreData in a real app
You should make an Airbnb App Clone
That’s coming soon! Messenger clone is next, then AirBnb :)
🙏
It's definitely not MVVM, what kind of architecture is that?
Lol how is that not MVVM? We have Models, Views and ViewModels
Ending is not much nice.
Your fetching owner(use) details inside Posts For Loop.
imaging you have a 1000 post. that mean your querying 1001 one time(1 for posts fetching and 1000 for user fetching)
This is a free version. The Pro version of the course is built to solve these problems
study 36:16 ward
Can you please make a TikTok clone with Firebase?
That is on my to do list!
@@appstuff5778 ok thanks 😊
I can’t believe that a several billions worth app can be made in several hours by one smart man 😵💫
Well this is just a very simple version lol
@@appstuff5778It's still amazing 🤩 Thank you so much for your work. I'm literally became a junior by watching your tutorials. Thank you!