Twitter iOS Clone | Swift 5/Firebase | No Storyboards | MVVM
What you'll learn
- Build a Twitter clone with iOS 13, Swift 5 & Firebase without the use of storyboards
- Use MVVM (Model-View-ViewModel) Framework
- Build a fully functioning social network
- Advanced backend development and architecture skills using Firebase
- Advanced auto-layout and programmatic UI skills with Swift
- Register and authenticate users using Firebase
- Advanced UI/UX development to build a clean and visually appearing user interface
- Build a custom slide up menu with custom actions
- Advanced UITableView and UICollectionView skills
- Advanced Swift techniques and architecture patterns
- Implement Hashtags & Mentions
- You should have a Mac computer
What are we building?
In this course, you will learn how to build a complete version of Twitter ready to be published on the App Store. 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.
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?
Comprehensive knowledge and understanding of Swift 5 & Xcode 11
Implement Model View ViewModel (MVVM) architecture
Advanced level programming and app development skills
Advanced level User Interface Design
Advanced level back end engineering
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
How to structure data for optimum performance
How to build a fully functioning social network
How to programmatically construct views and controllers
How to parse incoming JSON data from database
How to use CocoaTouch classes, UIKit, UserNotifications and more
How to use CocoaPods and custom third party APIs
How to implement/use protocols
How to implement custom subclasses for clean and reusable code
How to dynamically size collection view cells
How to create extensions and functions for clean and reusable code
Who this course is for:
- Beginners with some programming & Xcode experience
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.