The Ultimate 60+ Hours Ios Development Bootcamp
Published 5/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 29.12 GB | Duration: 61h 33m
Published 5/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 29.12 GB | Duration: 61h 33m
Beginner to Senior Developer! SwiftUI, MV Pattern, Core Data, SwiftData, Vapor, MapKit, Testing, Combine and much more!
What you'll learn
Master the modern declarative UI framework provided by Apple to create beautiful and responsive user interfaces effortlessly.
Understand and implement the Model-View design pattern to structure iOS apps for scalability, maintainability, and reusability.
Unlock the potential of Core Data to efficiently manage complex data models and enable seamless data persistence within iOS applications.
Utilize Swift's powerful features to manipulate data effectively, including sorting, filtering, and querying.
Integrate MapKit into iOS apps to provide immersive and interactive mapping experiences, including annotations, overlays, and geolocation.
Learn best practices for testing iOS applications, including unit tests, integration tests, and UI tests, to ensure reliability and quality.
Explore Firebase services such as Firestore, Authentication, and Cloud Messaging to enable real-time data synchronization and user authentication in iOS apps.
Dive into server-side Swift development using Vapor to build robust web APIs and backend services, including RESTful APIs, authentication, and database interact
Requirements
Familiarity with programming concepts such as variables, loops, conditionals, and functions in any programming language.
Some prior experience or knowledge of Swift programming language basics would be beneficial, although not mandatory.
Access to a Mac computer running macOS, as iOS development primarily requires Xcode, which is only available on macOS.
Installation of the latest version of Xcode, Apple's integrated development environment (IDE) for iOS app development, available for free on the Mac App Store.
A strong willingness to learn and dedication to completing the course exercises and projects to reinforce understanding and skills development.
Description
Welcome to "The Ultimate iOS Development Bootcamp," where your journey into the world of iOS app development begins. This comprehensive course, spanning over 60 hours of high-definition content, is meticulously crafted to guide you from novice to expert in the art of building powerful and intuitive iOS applications.What You'll Learn:1. SwiftUI Fundamentals:Dive into the modern declarative UI framework provided by Apple, SwiftUI. Learn how to create beautiful and responsive user interfaces with ease, leveraging SwiftUI's intuitive syntax and powerful features.2. Model-View Design Pattern:Understand the importance of architectural design patterns in iOS development and master the Model-View pattern. Explore how to structure your apps for scalability, maintainability, and reusability.3. Combine Framework: Learn how to use Apple's Reactive Framework, Combine in your applications. 4. Core Data:Unlock the potential of Core Data, Apple's framework for persistent data storage. Discover how to seamlessly integrate Core Data into your apps to manage complex data models efficiently.5. SwiftData Manipulation:Harness the power of Swift to manipulate data effectively within your iOS applications. Explore advanced techniques for data handling, including sorting, filtering, and querying.6. MapKit Integration:Learn how to integrate MapKit into your apps to provide immersive and interactive mapping experiences. Explore features such as annotations, overlays, and geolocation to create location-aware applications.7. Testing Methodologies:Master the art of testing in iOS development to ensure the reliability and quality of your applications. Discover best practices for writing unit tests, integration tests, and UI tests to validate your app's behavior.8. Firebase Integration:Explore Firebase, Google's comprehensive platform for app development, and learn how to integrate it into your iOS projects. Discover how to leverage Firebase services such as Firestore, Authentication, and Cloud Messaging for real-time data synchronization and user authentication.9. Server-Side Swift with Vapor:Dive into server-side Swift development with Vapor, a powerful framework for building web APIs and backend services. Learn how to create RESTful APIs, handle authentication, and interact with databases using Swift on the server side.Course Structure:- Structured Curriculum: Follow a carefully designed curriculum that progresses from foundational concepts to advanced topics, ensuring a seamless learning experience.- Expert Instruction: Benefit from expert instruction from industry professionals with years of experience in iOS development, who will guide you every step of the way.Who Is This Course For?Whether you're a complete beginner eager to dive into iOS development or an experienced programmer looking to enhance your skill set, this bootcamp is for you. With its comprehensive coverage of iOS development topics, this course caters to learners of all levels. Embark on this exhilarating journey into the world of iOS app development and unlock your potential to create innovative and impactful applications. Join us in "The Ultimate iOS Development Bootcamp" and take the first step towards building a successful career as an iOS developer.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Exercise Files
Section 2: SwiftUI Fundamentals: Getting Started
Lecture 3 Hello SwiftUI
Lecture 4 Customizing Text and Combining Views Using Stacks
Lecture 5 Displaying Images
Section 3: SwiftUI Fundamentals: Building List and Navigation
Lecture 6 Displaying Hikes in a SwiftUI List
Lecture 7 Adding Navigation
Lecture 8 Implementing Hike Detail Screen
Lecture 9 Adding Tap and Zooming Animation
Section 4: SwiftUI Fundamentals: Understanding State and Binding
Lecture 10 Introduction to @State
Lecture 11 More Examples of @State
Lecture 12 List and SwiftUI
Lecture 13 Filtering List Using Searchable
Lecture 14 Understanding and Implementing @Binding
Lecture 15 Understanding @EnvironmentObject (Pre iOS 17)
Lecture 16 Using @Environment
Section 5: SwiftUI Fundamentals: Implementing Weather App Using Web API and MV Pattern
Lecture 17 What we will be building?
Lecture 18 Register with OpenWeatherMap Service
Lecture 19 Implementing Client Models or Data Transfer Objects
Lecture 20 Implementing Endpoints
Lecture 21 Implementing GeocodingClient
Lecture 22 Implementing WeatherClient
Lecture 23 Refactoring and Displaying Weather on the Screen
Section 6: MV Pattern: Getting Started
Lecture 24 Understanding MVVM Pattern
Lecture 25 MVVM in WPF vs SwiftUI
Lecture 26 Limitations of MVVM in SwiftUI
Lecture 27 Resources
Lecture 28 Consuming JSON and Displaying Products on Screen Using MVVM
Lecture 29 Consuming JSON and Displaying Products on Screen Using MV Pattern
Section 7: MV Pattern: Validation
Lecture 30 Simple Form Validation
Lecture 31 Form Validation with Error Messages and LoginFormError
Lecture 32 Form Validation with View Model
Lecture 33 Form Validation with Summary Messages
Section 8: MV Pattern: Coffee Order App - Getting Started and Displaying Orders
Lecture 34 What we will be building?
Lecture 35 Understanding the App Architecture
Lecture 36 Tour of the Server
Lecture 37 Resource: TEST Server Endpoints
Lecture 38 Resource: PROD Server Endpoints
Lecture 39 Implementing Webservice and Order Model
Lecture 40 Implementing CoffeeModel Aggregate Root
Lecture 41 Displaying All Coffee Orders
Section 9: MV Pattern: Coffee Order App - End to End Testing and Adding New Coffee Orders
Lecture 42 Configuring App Environment for Testing
Lecture 43 Writing End-to-End Testing for No Orders Found
Lecture 44 Implementing Webservice to Place an Order
Lecture 45 Implementing Add New Order View
Lecture 46 Validating New Order
Lecture 47 Placing an Order
Lecture 48 Writing End-to-End Test for Placing an Order
Section 10: MV Pattern: Coffee Order App - Updating and Deleting Orders
Lecture 49 Implementing Delete Order
Lecture 50 Writing End-to-End Test for Deleting an Order
Lecture 51 Implementing Update Order Webservice and CoffeeModel
Lecture 52 Implementing OrderDetailView
Lecture 53 Implementing Update Order User Interface
Lecture 54 Writing End-to-End Test for Updating an Existing Order
Section 11: MV Pattern: Budget App - Setting Up Core Data and Adding Budget Categories
Lecture 55 What we will be building?
Lecture 56 Creating Core Data Models
Lecture 57 Setting Up the Core Data Manager
Lecture 58 Adding a New Budget Category
Lecture 59 Displaying Budget Categories
Lecture 60 Implementing BudgetListView
Lecture 61 Deleting a Budget Category
Lecture 62 Preview, Dismiss and Refactoring
Section 12: MV Pattern: Budget App - Adding Transactions
Lecture 63 Creating the Transaction Core Data Model
Lecture 64 Implementing BudgetDetailView
Lecture 65 Saving a Transaction
Lecture 66 Displaying All Transactions
Lecture 67 Displaying Remaining and Overspending Amounts
Section 13: MV Pattern: Budget App - Editing Budget Categories and Deleting Transactions
Lecture 68 Deleting a Transaction
Lecture 69 Resources
Lecture 70 Implementing Sheet Action
Lecture 71 Updating the Budget Category
Lecture 72 Refactoring and Completing the App
Section 14: Combine Framework: Introduction
Lecture 73 What is Reactive programming?
Lecture 74 Overview of Combine Framework
Lecture 75 Key concepts: Publishers, Subscribers, Operators, and Subjects
Section 15: Combine Framework: Publishers and Subscribers
Lecture 76 Creating and working with Publishers
Lecture 77 Subscribing to Publishers
Lecture 78 Handling subscription lifecycles
Lecture 79 Error handling and completion
Section 16: Combine Framework: Operators
Lecture 80 Transformation operators (map, flatMap, merge, etc.)
Lecture 81 Filtering operators (filter, compactMap, debounce, etc.)
Lecture 82 Combining operators (combineLatest, zip, switchToLatest, etc.)
Lecture 83 Error handling operators (catch, replaceError, retry, etc.)
Section 17: Combine Framework: Subjects
Lecture 84 Understanding Subjects in Combine (PassthroughSubject and CurrentValueSubject)
Lecture 85 Creating custom Subjects
Lecture 86 WeatherClient Using Subjects
Section 18: Combine Framework: Networking
Lecture 87 Making network requests with Combine
Lecture 88 Error handling and retries
Lecture 89 Combining multiple network requests
Section 19: Combine Framework: UIKit
Lecture 90 Registering for OMDB API
Lecture 91 Tour of the starter project
Lecture 92 Implementing Movie Model
Lecture 93 Implementing HTTPClient
Lecture 94 Implementing MovieListViewModel
Lecture 95 Integrating MovieListViewModel with MoviesViewController
Lecture 96 Setting up search publisher
Section 20: Combine: SwiftUI
Lecture 97 Tour of the starter project
Lecture 98 Building the User Interface and passing httpClient as dependency
Lecture 99 Setting up publisher and loading movies
Section 21: Combine: Custom operators, debugging and testing combine code
Lecture 100 Custom operators
Lecture 101 Custom operators with parameters
Lecture 102 Combining operators
Lecture 103 Debugging Combine code
Lecture 104 Testing Combine code
Lecture 105 Testing Combine code (HTTPClient)
Section 22: Core Data - Getting Started
Lecture 106 What is Core Data?
Lecture 107 Core Data Stack
Lecture 108 Core Data Models
Section 23: Core Data: Data Management
Lecture 109 What we will be building?
Lecture 110 Creating the TodoItem Model Using Core Data Editor
Lecture 111 Implementing CoreDataProvider
Lecture 112 Resource: Core data | automatically generated String and Date attributes are opt
Lecture 113 Creating and Saving Data
Lecture 114 Fetching Data
Lecture 115 Marking TodoItem Complete and Incomplete
Lecture 116 Updating Title of TodoItem Using In-Place Editing
Lecture 117 Using ContentUnavailableView
Lecture 118 Deleting Data
Section 24: Core Data: Budget App - Setting Up and Adding Budget Categories
Lecture 119 What are we building?
Lecture 120 Setting Up Core Data Stack
Lecture 121 Adding Budget Category Model
Lecture 122 Building the User Interface
Lecture 123 Configuring Data for the Previews
Lecture 124 Saving Budget
Lecture 125 Displaying All Budgets on Screen
Section 25: Core Data: Budget App - Adding Expenses Relationship
Lecture 126 Understanding One to Many Relationship
Lecture 127 Adding Expense Entity and Configuring One to Many Relationship
Lecture 128 Implementing BudgetDetailScreen
Lecture 129 Adding Expense to a Budget
Lecture 130 Displaying Expenses
Lecture 131 Displaying Total and Remaining
Lecture 132 NOTE: Refactoring Total and Remaining
Lecture 133 Deleting Expense
Section 26: Core Data: Budget App - Adding Tags Relationship
Lecture 134 Understanding Many to Many Relationship
Lecture 135 Implementing Tag Model
Lecture 136 Seeding Tags into the Database
Lecture 137 Implement TagsView to Display and Select Tags
Lecture 138 Assigning Tags to Expense
Lecture 139 Displaying Tags for Expenses
Section 27: Core Data: Budget App - Filtering
Lecture 140 Filtering by Tags
Lecture 141 Adding Expenses for Xcode Previews
Lecture 142 Filtering by Price
Lecture 143 Filtering by Title
Lecture 144 Filter by Date
Lecture 145 Implementing Sorting
Lecture 146 Refactoring
Lecture 147 Navigating to Filter Screen, Total Budget and Adding ContentUnavailableView
Section 28: Core Data: Migrations
Lecture 148 What are Migrations?
Lecture 149 Simple Migration
Lecture 150 FIX - Budget Spent Property
Lecture 151 Custom Migration (Understanding the Scenario)
Lecture 152 Custom Migration (Performing Migration)
Lecture 153 Rollback Changes
Section 29: Core Data: Updating Expenses
Lecture 154 Updating Expenses Option 1
Lecture 155 Updating Expenses Options 2
Lecture 156 Updating Expenses Option 3
Section 30: Syncing Core Data with CloudKit
Lecture 157 Configuring iCloud
Lecture 158 Fixing Issues and Following iCloud Requirements for Core Data Models
Lecture 159 Checking Expense Title is Unique
Lecture 160 FIX - Expense Exist Function
Lecture 161 Demo of iCloud Integration on iPhone and iPad
Section 31: Core Data: Transformable Types
Lecture 162 Understanding the Starter Project
Lecture 163 Adding the Data Model
Lecture 164 Saving Room
Lecture 165 Implementing Transformer
Lecture 166 Displaying all Rooms
Section 32: SwiftData Getting Started
Lecture 167 Saving a Movie
Lecture 168 Fetching and Displaying Movies
Lecture 169 Debugging SwiftData
Lecture 170 Deleting a Movie
Lecture 171 Updating a Movie
Lecture 172 Resources
Section 33: SwiftData: One-to-Many Relationship
Lecture 173 NOTE: Xcode 15 Beta 6 Changes
Lecture 174 Understanding One-to-Many Relationship
Lecture 175 Adding Review Model and Configuring Relationship
Lecture 176 Saving Review
Lecture 177 NOTE: context.save vs context.insert
Lecture 178 Displaying all Reviews for a Movie
Lecture 179 Deleting Review
Lecture 180 FIX: Deleting Review
Section 34: SwiftData: Many-to-Many Relationship
Lecture 181 Understanding Many-to-Many Relationship
Lecture 182 Adding Actor Model and Configuring Relationship
Lecture 183 Saving a New Actor
Lecture 184 Displaying All Actors
Lecture 185 Selecting Actors When Adding a New Movie
Lecture 186 Displaying Actors for a Movie
Lecture 187 Allowing Existing Actors to Select their Movies
Lecture 188 FIX - Adding Movie After Deleting Causes an Error
Section 35: SwiftData: Understanding Queries
Lecture 189 IMPORTANT: Xcode 15 Updates for @Relationship and @Query
Lecture 190 Understanding @Query Property Wrapper
Lecture 191 Implementing Enum Based Sheets
Lecture 192 Creating the User Interface to Support Filter Screen
Lecture 193 Filter by Movie Title
Lecture 194 NOTE: Update about @Transient Macro
Lecture 195 Using @Transient Macro to Display Actors and Reviews Count for a Movie
Lecture 196 Filter by Reviews Count
Lecture 197 Filter by Actors Count
Section 36: SwiftData: Versioning/Migrations
Lecture 198 What is Versioning?
Lecture 199 Xcode 15 Beta 5 - Changes
Lecture 200 Custom Migration (Unique Constraint on Movie Names)
Lecture 201 Lightweight Migration (Changing Property Names)
Section 37: SwiftData: Persisting Genre and Performing Filters Based by Genre
Lecture 202 Understanding the Starter Project
Lecture 203 Implementing Genre Model
Lecture 204 Saving Genre
Lecture 205 Filtering Movies Based on Genre (Discovering Issues with Genre Enum)
Lecture 206 Filtering Movies Based on Genre (Using GenreId for Filter)
Lecture 207 Filtering Movies and Persisting State of the Filters
Section 38: SwiftData: Persisting and Displaying Transformable Properties in SwiftData
Lecture 208 What we will be building?
Lecture 209 Implementing the Room Model
Lecture 210 Implementing UIColorTransformer
Lecture 211 Setting Up User Interface (ColorSelector)
Lecture 212 Persisting Room Using SwiftData
Lecture 213 Displaying All Rooms
Section 39: SwiftData: Testing
Lecture 214 Understanding the Starter Project
Lecture 215 Setting Up Test Project and Writing Your First Test
Lecture 216 Writing Tests to Calculate Budget Total and Remaining Amount
Lecture 217 Setting Up Project for End-to-End Testing
Lecture 218 Writing End-to-End Test for BudgetCategory and Transaction Flow
Section 40: SwiftData: Syncing Data with iCloud Using CloudKit
Lecture 219 What we will be building?
Lecture 220 Persisting and Displaying Vegetables
Lecture 221 Adding Notes Relationship
Lecture 222 Managing Xcode Previews and Displaying Notes for Vegetable
Lecture 223 Configuring CloudKit
Lecture 224 Resolving CloudKit Errors
Lecture 225 Live Syncing for Vegetables and Notes
Section 41: SwiftData: Integrating SwiftData with UIKit Applications
Lecture 226 Apple's Documentation on Using Non SwiftUI Framework
Lecture 227 Tour of the Starter Project
Lecture 228 Setting Up the Model Container
Lecture 229 Adding a New Todo Item
Lecture 230 Displaying Todo Items
Section 42: SwiftData: Storing Binary Data Using SwiftData
Lecture 231 Tour of the Starter Project
Lecture 232 Saving Binary Data (Images)
Lecture 233 Displaying Images
Lecture 234 Behind the Scenes (Debugging SwiftData)
Lecture 235 Credit for Images
Section 43: MapKit: Getting Started
Lecture 236 Displaying Map
Lecture 237 Adding Marker to the Map
Lecture 238 Adding Custom Annotation to the Map
Lecture 239 Configuring Different Map Styles
Section 44: MapKit: User Location
Lecture 240 Displaying User's Current Location
Lecture 241 Refactoring
Lecture 242 Zooming into the Current User's Location
Lecture 243 NOTE: Errors in the Output Window
Lecture 244 Configuring App for Always Authorization
Lecture 245 Dynamically Setting the Camera to Different Positions
Lecture 246 Adding UserLocationButton, Compass and ScaleView to the Map
Lecture 247 Simulating Locations in iPhone Simulator
Lecture 248 FIX: Implementing CLLocationManager Authorization Event
Section 45: MapKit: NearMe App - Finding User's Location and Setting Up Interface
Lecture 249 What we will be building?
Lecture 250 Adding Map and Search TextField
Lecture 251 Implementing LocationManager
Lecture 252 Implementing LocationError
Lecture 253 Displaying User's Location
Lecture 254 Zooming into User's Location
Section 46: MapKit: NearMe App - Finding Places Nearby Using MKLocalSearch
Lecture 255 Adding MKLocalSearch Function to Search Nearby Places
Lecture 256 Displaying Search Results on the Map
Lecture 257 Displaying Search Results in a List
Lecture 258 Previewing MapItem Data
Section 47: MapKit: NearMe App - Showing Place Details & Drawing Route on Map
Lecture 259 Implementing SearchOptionView
Lecture 260 Refactoring
Lecture 261 Sorting Places Based on Distance
Lecture 262 Displaying Distance Values in PlaceView
Lecture 263 Selecting MapItem and Implementing Display Modes
Lecture 264 Implementing SelectedPlaceDetailView
Section 48: MapKit: NearMe App - Routing, ActionButtons and LookAroundPreview
Lecture 265 Selecting MapItem Using PlaceListView
Lecture 266 Implementing LookAroundPreview
Lecture 267 Adding Route
Lecture 268 Hiding the LookAroundPreview Based on Selected Presentation Detent
Section 49: MapKit: NearMe App - Adding Action Buttons
Lecture 269 Adding ActionButtons to the SelectedPlaceDetailView
Lecture 270 Opening Destination in Apple Maps
Lecture 271 Implementing Call Button
Lecture 272 Resource: Hiding the Call Button When Phone Number is Not Available
Section 50: MapKit: Restroom Finder - Setup and Displaying Annotations on the Map
Lecture 273 What we will be building?
Lecture 274 Refuge Restrooms API
Lecture 275 Downloading the Starter Project
Lecture 276 Implementing Restroom Model
Lecture 277 Implementing HTTP Client
Lecture 278 Adding HTTP Client to Environment Values
Lecture 279 Displaying Markers on the Map
Lecture 280 Mocking HTTP Client
Lecture 281 Displaying Custom Annotations on the Map
Lecture 282 Searching Restrooms based on Region
Lecture 283 Implementing RestroomDetailView
Lecture 284 Showing Amenities for Restrooms
Lecture 285 Open Maps for Directions
Section 51: MapKit: Region Monitoring Using CLMonitor
Lecture 286 Understanding the Starter Project
Lecture 287 Creating Regions Using MapCircle
Lecture 288 Start Monitoring Regions
Lecture 289 Updating User Interface When Entered into Region
Section 52: Machine Learning - Getting Started and Image Detection
Lecture 290 What is Machine Learning?
Lecture 291 What is Create ML?
Lecture 292 Downloading CoreML Model
Lecture 293 Testing the Model
Lecture 294 Implementing the User Interface
Lecture 295 Predicting the Image
Lecture 296 Displaying Probabilities
Lecture 297 Resources
Section 53: Machine Learning: Image Recognition Project - Cats vs Dogs
Lecture 298 What are you building?
Lecture 299 Downloading Image Dataset from Kaggle
Lecture 300 Training and Evaluating Model
Lecture 301 Integrating Model in an iOS Application
Lecture 302 Selecting Photo from Photo Library
Lecture 303 Taking Photo from the Camera
Lecture 304 Resources
Section 54: Machine Learning: Sentiment Analysis Project - News
Lecture 305 What is Sentiment Analysis?
Lecture 306 Downloading the Dataset from Kaggle
Lecture 307 Training and Creating Model Using Xcode Playgrounds
Lecture 308 [Optional] - Extracting Data into Folders Using Python
Lecture 309 [Optional] - Training Using Create ML
Lecture 310 Integrating Model into a SwiftUI Application
Lecture 311 Resources
Section 55: Machine Learning: Object Detection - Integrating an Existing Model
Lecture 312 What is Object Detection?
Lecture 313 Downloading Object Detection Model from Apple Website
Lecture 314 Tour of the Starter Project
Lecture 315 Understanding Vision Framework
Lecture 316 Performing Object Detection Using YOLOv3Tiny Model Through Vision Framework
Lecture 317 Displaying Observations on the Screen
Lecture 318 Displaying the Bounding Boxes
Section 56: Machine Learning: Object Detection - Custom Models
Lecture 319 What we will be building?
Lecture 320 Using Visio ML to Annotate Images
Lecture 321 Training the Object Detection Model
Lecture 322 Integrating TrafficLightObjectDetector
Section 57: Machine Learning: Tabular Data Project: Predicting Car Prices Using Carvana Data
Lecture 323 Downloading Carvana Dataset from Kaggle
Lecture 324 APIs to Handle Tabular Data
Lecture 325 Creating ML Model Using DataFrame
Lecture 326 Creating ML Model with Specific Criteria
Lecture 327 What we will be building?
Lecture 328 Exporting List of Cars as JSON
Lecture 329 Displaying Predicted Car Prices
Lecture 330 Resources
Section 58: Test Driven Development: Getting Started
Lecture 331 What is TDD?
Lecture 332 Why should you use TDD?
Lecture 333 What you should test and what you should not?
Lecture 334 When should you use TDD?
Lecture 335 Common misconceptions about TDD?
Lecture 336 Rules of writing good test
Section 59: Test Driven Development: Writing Your First Unit Test
Lecture 337 Understanding the App
Lecture 338 Setting Up Unit Test Project
Lecture 339 Implementing Test to Calculate Tip
Lecture 340 Writing Test to Check for Thrown Exceptions
Lecture 341 Integrating TipCalculator to the SwiftUI App
Section 60: Test Driven Development: Tip Calculator - Writing UI Tests
Lecture 342 Setting Up User Interface Test Project in Xcode
Lecture 343 Writing Unit Testing When Content View is Shown
Lecture 344 Refactoring Tests
Lecture 345 Writing UI Tests For Calculating Tip
Lecture 346 Writing UI Tests for Invalid Input for Total
Lecture 347 Implementing PageObject Pattern
Section 61: Test Driven Development: Recording User Interface Tests and Code Coverage
Lecture 348 How to Record a UI Test Using the Recording Tool?
Lecture 349 What is Code Coverage?
Lecture 350 Code Coverage Demo
Section 62: Test Driven Development: Mocking
Lecture 351 What is Mocking?
Lecture 352 Understanding the Starter Project
Lecture 353 Writing Test to Validate Required Fields
Lecture 354 Writing Test Confirm User Navigation to Dashboard Upon Authentication
Lecture 355 Implementing MockedWebService
Lecture 356 Writing Test to Display Message for Invalid Credentials
Lecture 357 Implementing PageObjects Design Pattern
Section 63: Test Driven Development: Todo App - End to End Testing
Lecture 358 Tour of the App
Lecture 359 Resource: Core Data Debug Tag
Lecture 360 Writing Test to Save Task to Database
Lecture 361 Deleting App Before Running Each Test Using Springboard
Lecture 362 Writing Test to Check Duplicate Task Titles are Not Allowed
Lecture 363 Writing Test to Make Sure Task is Deleted Successfully
Lecture 364 Writing Test to Make Sure Updating Task Favorite Works as Expected
Section 64: Test Driven Development: Quiz App - Unit Testing the Domain
Lecture 365 Architecture Overview
Lecture 366 Understanding Starter Project and Quiz Stories
Lecture 367 Writing Test to Make Sure Quiz Points are Calculated Correctly
Lecture 368 Writing Test to Grade Exam Based on Score
Lecture 369 Write Test to Grade Exam Based on User's Submission
Section 65: Test Driven Development: Quiz App - User Interface Testing
Lecture 370 Writing Test to Display Available List of Quizzes
Lecture 371 Writing Test to Navigate to Questions Screen
Lecture 372 Writing Test to Make Sure Error Message is Displayed When No Choices Selected
Lecture 373 Writing Test to Display Grade for the User
Section 66: Firebase: Getting Started
Lecture 374 Creating Project on Firebase Console
Lecture 375 Integrating Firebase into an iOS App
Lecture 376 Initializing Firebase
Section 67: Firebase: Authentication
Lecture 377 Signing Up User
Lecture 378 Updating Display Name
Lecture 379 Update Display Name in Model
Lecture 380 Authenticating User
Section 68: Firebase: Groups and Navigation
Lecture 381 Structuring the App Using MainView
Lecture 382 AppState and Navigation
Lecture 383 FIX - Going to LoginView After Successful SignUp
Lecture 384 Building Add Groups User Interface
Lecture 385 Adding Group to Firestore Database
Lecture 386 Resource: Map Cloud Firestore data with Swift Codable
Lecture 387 Fixing Scene Configuration Warning
Lecture 388 Displaying Groups
Section 69: Firebase: Chat Messages
Lecture 389 Saving Chat Message to a Group
Lecture 390 Adding Chat Message Struct
Lecture 391 Listen for Chat Messages
Lecture 392 Displaying Chat Messages
Section 70: Firebase: Chat Bubbles and Overlays
Lecture 393 Chat Bubble Implementation Part 1
Lecture 394 Chat Bubble Implementation Part 2
Lecture 395 Auto Scrolling to Latest Messages
Section 71: Firebase: User Profile
Lecture 396 Creating the Interface
Lecture 397 Implementing ImagePicker
Lecture 398 Using ImagePicker
Lecture 399 Resizing Images
Lecture 400 Resource: Resizing Images in Swift
Lecture 401 Uploading Image to Firebase Storage
Lecture 402 Update Display Name & All User Messages
Section 72: Firebase: Improving User Interface
Lecture 403 Adding Photos with Chat Messages
Lecture 404 Implementing ChatMessageInputView
Lecture 405 Developing the User Interface for Selecting Photos
Lecture 406 Uploading Photos to Firebase Storage and Inserting Photos in Chat Messages
Lecture 407 Previewing Image
Lecture 408 Displaying Attachment in Messages List
Section 73: Firebase: ErrorView & LoadingView
Lecture 409 Implementing & Displaying LoadingView
Lecture 410 Implementing & Displaying ErrorView
Section 74: Vapor: Full Stack Development
Lecture 411 What is Full Stack Development?
Lecture 412 What is Vapor?
Lecture 413 Resources
Section 75: Vapor: Getting Started
Lecture 414 IMPORTANT: Swift Tools Version
Lecture 415 Installing Vapor
Lecture 416 Hello Vapor
Lecture 417 Folder Structure
Section 76: Vapor: Routing
Lecture 418 Basic Routes and Route Parameters
Lecture 419 Strongly Typed Route Parameters
Lecture 420 Returning JSON
Lecture 421 POST Requests (JSON)
Lecture 422 Query Strings
Lecture 423 Route Groups
Section 77: Vapor: Controllers
Lecture 424 Understanding MVC Design Pattern
Lecture 425 Creating Controllers
Section 78: Vapor: Middleware
Lecture 426 What is a Middleware
Lecture 427 Creating a Basic Middleware
Lecture 428 Creating Middleware Extracting Tokens from Headers
Section 79: Vapor: Quick Tour of Vapor with Postgres Database
Lecture 429 What is Fluent?
Lecture 430 Setting Up Postgres Database on ElephantSQL
Lecture 431 UPDATE: Postgres Configuration
Lecture 432 Adding Fluent Package
Lecture 433 Creating Movie Model
Lecture 434 Creating Tables Using Migration
Lecture 435 Saving Movie
Lecture 436 Get All Movies & Get Movie By Id
Lecture 437 Deleting Movie
Lecture 438 Updating Movie
Section 80: Vapor: Grocery App - Project Setup
Lecture 439 What we will be building?
Lecture 440 Creating Vapor Project and SwiftUI Project
Lecture 441 Adding Dependencies to the Vapor Project
Lecture 442 Setting Up Postgres Database Locally
Lecture 443 Downloading Beekeeper Studio for Database Management
Lecture 444 Resource: Downloading Beekeeper Studio Community Edition
Lecture 445 Connecting Beekeeper Studio to Local Postgres Database
Section 81: Vapor: Grocery App - User Registration (Server Side)
Lecture 446 Creating Users Table Through Migration
Lecture 447 Creating the User Model
Lecture 448 Implementing Register Route
Lecture 449 Testing User Registration Using Postman
Section 82: Vapor: Grocery App - User Login (Server Side)
Lecture 450 Understanding JWT Authentication Flow
Lecture 451 Implementing Login Route
Lecture 452 Implementing Authentication Payload
Lecture 453 Creating and Returning the JWT Token
Lecture 454 Testing User Login Using Postman
Section 83: Vapor: Grocery App - User Registration
Lecture 455 Implementing the Registration Screen
Lecture 456 Implementing Generic HTTPClient Part 1
Lecture 457 Implementing Generic HTTP Client Part 2
Lecture 458 FIX - Removing the HTTP Response Status Check
Lecture 459 Implementing the Aggregate Root GroceryModel
Lecture 460 Using GroceryModel from View to Register a New User
Lecture 461 FIX - Displaying Error Message on the Screen
Section 84: Vapor: Grocery App - User Login
Lecture 462 Creating the Login Screen
Lecture 463 Implementing the Login in GroceryModel
Lecture 464 Adding Global Navigation
Lecture 465 Performing Programmatic Navigation
Section 85: Vapor: Grocery App - Creating a Swift Package for Sharing DTOs
Lecture 466 Creating Grocery App Shared DTO Package
Lecture 467 Publishing the Grocery App Shared DTO Package to GitHub
Lecture 468 Adding GroceryAppSharedDTO Package to SwiftUI and Vapor Projects
Section 86: Vapor: Grocery App - Saving Grocery Category (Server Side)
Lecture 469 Creating Grocery Category Table by Using Migration
Lecture 470 Implementing Grocery Category Model
Lecture 471 Setting Up Grocery Controller
Lecture 472 Implementing GroceryCategoryRequestDTO and GroceryCategoryResponseDTO
Lecture 473 Saving Grocery Category
Lecture 474 Testing Grocery Category Using Postman
Section 87: Vapor: Grocery App - Saving Grocery Category (SwiftUI App/Client)
Lecture 475 Building the User Interface for Adding Grocery Category
Lecture 476 Implementing Save Grocery Category in GroceryModel
Lecture 477 Updating AddGroceryCategoryScreen to Use GroceryModel
Lecture 478 Adding Extension to UserDefaults to Easily Access UserId
Section 88: Vapor: Grocery App - Fetching and Displaying Grocery Categories
Lecture 479 Fetching Grocery Categories by User (Server)
Lecture 480 Updating Grocery Model to Get Categories by User (Client)
Lecture 481 Displaying Grocery Categories
Lecture 482 Deleting Grocery Category (Server)
Lecture 483 Deleting Grocery Category (Client)
Lecture 484 Navigating to AddGroceryCategoryScreen from GroceryCategoryListScreen
Section 89: Vapor: Grocery App - Saving Grocery Items (Server)
Lecture 485 Creating Grocery Items Table By Using Migration
Lecture 486 Implementing GroceryItem Model
Lecture 487 Saving Grocery Item - Part 1
Lecture 488 Saving Grocery Item - Part 2
Lecture 489 Testing Add Grocery Item Using Postman
Section 90: Vapor: Grocery App - Saving and Displaying Grocery Items
Lecture 490 Implementing Grocery Detail Screen Container Screen
Lecture 491 Creating User Interface for AddGroceryItemScreen
Lecture 492 Updating GroceryModel to Support Adding Grocery Items
Lecture 493 Navigating to Grocery Detail Screen and Testing Saving Grocery Items
Section 91: Vapor: Grocery App - Fetching and Displaying Grocery Items
Lecture 494 Fetching Grocery Items (Server)
Lecture 495 Display Grocery Items on the Screen
Lecture 496 Deleting Grocery Item (Server)
Lecture 497 Deleting Grocery Item (Client)
Section 92: Vapor: Grocery App - Error Handling, Routing and Authentication Middleware
Lecture 498 Updating Screen Routing & Implementing Sign out
Lecture 499 Implementing ErrorWrapper and ErrorView
Lecture 500 Implementing Authentication Middleware
Lecture 501 IMPORTANT - Updating Client to Send Authentication Headers
Lecture 502 Presenting GroceryCategoryListScreen for Authenticated Users
Lecture 503 OPTIONAL - Returning All Grocery Items with Grocery Categories
Section 93: Vapor: Grocery App - Deployment
Lecture 504 Resource: Vapor Heroku Deployment
Lecture 505 Setting Up Heroku Account & Installing Heroku CLI
Lecture 506 Adding Environment Variables
Lecture 507 Configure Procfile, Buildpack and Swift Version
Lecture 508 Setting Up Postgres Database and Running Migrations
Lecture 509 Updating the SwiftUI App
Section 94: Vapor: Quick Tour of MongoDB
Lecture 510 Setting Up MongoDB on MongoDB Atlas Cloud
Lecture 511 Configuring MongoDB Packages and Connecting to MongoDB Server
Lecture 512 Creating a Movie Model
Lecture 513 Saving a New Movie
Lecture 514 Implementing Get All Movies and Get Movie By Id
Lecture 515 Deleting a Movie
Lecture 516 Updating Movie
Individuals who are new to iOS development and want to learn from the ground up.,The CMS adheres to the NQF definition that never events are (1) errors in medical care that are clearly identifiable and preventable, (2) serious in their consequences for patients, and (3) indicate a real problem in the safety and credibility of a healthcare facility (CMS, 2006). To be included, the event has to be unambiguous or clearly identifiable and measurable, and thus feasible to include in a reporting system. The event is usually preventable, which recognizes that some events are not always avoidable. The effect is serious in that it results in death or loss of a body part, disability, or more than transient loss of a body function. Finally, the event’s impact is either adverse and/or indicative of a problem in a healthcare facility’s safety systems and/or important for public credibility or public accountability (CMS, 2006).,College students or individuals studying computer science or related fields who want to specialize in iOS app development.,Professionals working in the tech industry who want to expand their skill set and stay updated with the latest trends and technologies in iOS development.,Aspiring entrepreneurs who want to build their own iOS apps or understand the development process to better communicate with their development teams.,Individuals looking to switch careers and pursue opportunities in iOS development.,Anyone who has a passion for iOS devices and apps and wants to learn how to build their own applications for iPhone, iPad, and other Apple devices.