Instagram SwiftUI Clone | MVVM | Cloud Firestore
What you'll learn
- How to build an Instagram Clone with SwiftUI 2.0
- How to build a social network with posts, comments, likes notifications & followers
- Mastery of the MVVM Architecture Pattern
- How to create and interact with data models and APIs using SwiftUI
- How to engineer a back end from scratch with Cloud Firestore
- Fundamental programming and SwiftUI skills
Requirements
- Basic knowledge of Xcode & Swift is preferred but not required
- Macbook Computer
Description
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 SwiftUI
How to build a complex User Interface with strictly SwiftUI
How to integrate a backend with a complex SwiftUI application
How to implement Model View ViewModel (MVVM) architecture
How to engineer a backend server using Cloud Firestore
How to authenticate and register users with Firebase
How to communicate with a database (read/write)
How to monitor events in a database
How to upload images to Firebase Storage
How to structure data for optimum performance in Cloud Firestore
How to programmatically construct views and controllers
How to parse incoming JSON data from database
How to use Swift Package Manager (SPM) and custom third party APIs
How to work with Binding, Published and State variables
How to implement custom subclasses for clean and reusable code
How to create extensions and functions for clean and reusable code
Advanced level programming and app development skills
Advanced level User Interface Design
Advanced level back end engineering
What features are included?
Notifications
Create users
Create a user profile
Authenticate users with Firebase
Search for users
Upload tweets
Home feed with tweets
Like tweets
Follow/Unfollow users from profile
Logging in and logging out
Who this course is for:
- All levels of programmers looking to improve their skills and build an awesome application from scratch
Instructor
Stephan is a seasoned technology expert with a passion for software engineering and a remarkable journey of self-discovery. With a decade of hands-on experience in the field, Stephan has established himself as a distinguished figure in the world of software development.
Formerly a Senior Software Engineer at Meta (formerly known as Facebook), Stephan played an instrumental role in crafting innovative solutions that drove the company's technological advancements. His tenure at one of the tech industry's giants allowed him to gain deep insights into the intricacies of large-scale software systems and the ever-evolving landscape of modern technology.
What sets Stephan apart is his unconventional path to mastery. With a remarkable story of being entirely self-taught, he demonstrates the power of determination and relentless pursuit of knowledge. Starting from scratch, Stephan embarked on a journey to understand the inner workings of code, algorithms, and software architecture. Through countless hours of experimentation, learning from failures, and seeking out the best resources, he honed his skills to a professional level that caught the attention of industry leaders.
As an instructor, Stephan's unique blend of hands-on experience and self-taught expertise provides a refreshing perspective. He knows firsthand the challenges and triumphs that come with learning complex technical subjects without a traditional educational background. Stephan's teaching approach is not just about imparting knowledge; it's about instilling the belief that anyone with dedication and the right guidance can achieve mastery in software engineering.
Stephan Dowless is committed to helping others navigate the ever-changing realm of technology. His courses go beyond the textbook, offering practical insights, real-world examples, and a mentorship-like approach that empowers students to grasp complex concepts with confidence. Whether you're a beginner taking your first steps into coding or an experienced programmer aiming to elevate your skills, Stephan's guidance will undoubtedly inspire and catalyze your growth.
Join Stephan in his mission to bridge the gap between aspiration and accomplishment in the world of software engineering. Through his courses, you'll not only learn the technical aspects but also the mindset and strategies that propelled him to success in a competitive industry. Your journey to becoming a proficient software engineer starts here, under the guidance of an instructor who truly understands the path to mastery.