What are we building?In this course, you will learn how to build an MVP version of Instagram with strictly Swift UI using the MVVM architecture. This is the only course on the market that builds a fully functioning app as complex as Instagram using nothing but SwiftUI. We will be building this completely from scratch, starting with the User Interface skeleton, and working our way up to integrating our API with Firestore and data models. This course WILL take your development skills to the next level, using the latest and greatest techniques in modern programming. We will be building all the core components of a social network. This includes following users, uploading/liking posts, a notification system, creating a user profile, and registering users. Throughout the process, you will develop high level programming, app design and app development skills. We will be building this without the use of storyboards, fully programmatically. Prior Experience? Some programming and basic Xcode experience is preferred. The course will move a little fast if you're a complete beginner, but you will pick things up along the way. Why take this course? Learning advanced development skills should be taught using real world examples. This course will teach you how to build a fully functional social network, from complete scratch. You will be learning advanced front and backend development skills, from a real life professional developer. You will learn how to code like a pro, and everything will be explained in detail along the way. This will teach you to build production ready applications, that are easily scalable and maintainable. This also makes for a great project to add to your portfolio, which you can use to show off to potential employers if you're trying to become a pro. What will you learn? How to build a fully functioning social network (likes, follow, posts, comments & notifications) with SwiftUIHow to build a complex User Interface with strictly SwiftUIHow to integrate a backend with a complex SwiftUI applicationHow to implement Model View ViewModel (MVVM) architectureHow to engineer a backend server using Cloud FirestoreHow to authenticate and register users with FirebaseHow to communicate with a database (read/write)How to monitor events in a databaseHow to upload images to Firebase StorageHow to structure data for optimum performance in Cloud FirestoreHow to programmatically construct views and controllersHow to parse incoming JSON data from databaseHow to use Swift Package Manager (SPM) and custom third party APIs How to work with Binding, Published and State variablesHow to implement custom subclasses for clean and reusable code How to create extensions and functions for clean and reusable codeAdvanced level programming and app development skillsAdvanced level User Interface DesignAdvanced level back end engineeringWhat features are included?NotificationsCreate usersCreate a user profile Authenticate users with FirebaseSearch for usersUpload tweetsHome feed with tweetsLike tweetsFollow/Unfollow users from profile Logging in and logging out