Course provided by Udemy

Study type: Online

Starts: Anytime

Price: See latest price on Udemy

Overview

What are we building?

In this course, you will learn how to build an MVP version of Twitter 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 Twitter 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 tweets, direct messaging, 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? 

  • Comprehensive knowledge and understanding of SwiftUI & Xcode 11

  • 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 build a fully functioning social network (likes, follow, tweets, messaging)

  • 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

  • Advanced level programming and app development skills

  • Advanced level User Interface Design

  • Advanced level back end engineering

What features are included?

  • Direct Messaging

  • 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 

Expected Outcomes

  1. How to build a full scale application with SwiftUI 2.0
  2. How to use the MVVM framework with in depth explanations
  3. How to build a complex UI with animations using SwiftUI
  4. How to create and interact with data models and APIs using SwiftUI
  5. How to engineer a back end from scratch with Cloud Firestore
  6. Fundamental programming and SwiftUI skills
  7. How to upload and download data from an API
  8. How to use SwiftPackageManager instead of CocoaPods