Tags
Language
Tags
January 2025
Su Mo Tu We Th Fr Sa
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
SpicyMags.xyz

The Ultimate 60+ Hours Ios Development Bootcamp

Posted By: ELK1nG
The Ultimate 60+ Hours Ios Development Bootcamp

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

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.