Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Full-Stack E-Commerce App Development with SwiftUI, Node.js, and Postgres
Setting Up the Development Environment
Why NodeJS? (1:21)
Installing NodeJS, Postgres, Beekeeper Studio (4:23)
Creating Database & Connecting Through Beekeeper Studio (7:42)
Structuring your Backend and Frontend (4:50)
Quick Tour of ExpressJS
Hello Express! (12:26)
Route Basics (5:55)
Dynamic Routes (6:33)
JSON (6:51)
POST (10:14)
Building User Registration System
Creating User Table Using Sequelize (16:38)
Registering User (11:06)
Adding Unique Constraints to Username (7:29)
Performing Validation Using express-validator (8:31)
Catching Duplicate Username (8:33)
Encrypting Sensitive Data (Passwords) (8:06)
Implementing Authentication Controller Environment Key (8:36)
Generic HTTPClient (5:13)
Implementing Register for Authentication Controller (7:06)
Developing Registration Screen in SwiftUI (16:24)
Introducing MVC Pattern for the NodeJS Backend
What is MVC Pattern? (9:16)
Implementing Auth Router (10:24)
Implementing Authentication Controller (6:03)
Building User Login
Understanding JSON Web Tokens Flow (JWT Flow) (5:39)
Authenticating the User and Returning the Token (14:25)
Testing Login Route (3:06)
Invoking Login Request from Client (7:44)
Persisting Token in Keychain (10:18)
Validating the Token Expiration on the Client Side (15:45)
Building the Tab View Interface and Implementing Protected Screens
Agenda (1:12)
Setting Up Tab Views (12:13)
Protecting Screens for UnAuthenticated Users (17:22)
Updating SmartShopApp and Removing TokenValidation (6:00)
Fetching, Displaying and Creating Products
Creating Product Table Using Sequelize CLI Tool and Migration (8:28)
Adding Product Router and Product Controller (7:28)
Implementing Get All Products (11:58)
Displaying Products on Screen (20:10)
Implementing Create Product Action on Product Controller (11:31)
Adding Products Using SwiftUI App Part 1 (9:31)
Adding Products Using SwiftUI App Part 2 (12:56)
Implementing Get My Products on Product Controller (5:52)
Displaying Products By User on Screen (9:20)
Uploading Images to the Server
Installing and Configuring Multer (14:25)
Uploading Images Using Multer on Server Side (12:38)
Implementing Uploader Service (16:40)
Integrating Uploader Server to Add Product Images (16:40)
Implementing ImagePicker (22:28)
Saving Product with Image (15:27)
Migrating to Xcode 16 and Swift 6
Updating SwiftUI Client to Swift 6 (14:39)
Fix Photos Picker Issues in iOS 18 and Xcode 16 (6:00)
Updating and Deleting Product
Implementing Delete Route Using ExpressJS (9:53)
Deleting Image Files Associated with the Product (11:05)
Implementing MyProductCellView (4:03)
Deleting Product from SwiftUI App (19:01)
Implementing Update Route Using ExpressJS (16:19)
Updating Product Using SwiftUI App Part 1 (13:11)
Updating Product Using SwiftUI App Part 2 (17:28)
Protecting Server Resources & Adding Authentication Middleware
What is Middleware? (1:50)
Implementing Log Middleware (Optional) (10:05)
Implementing Authentication Middleware (16:09)
Sending Authentication Tokens from SwiftUI App (13:19)
Building the Cart and Checkout System (Coming Soon)
Coming Soon...
Stripe Integration (Coming Soon)
Coming Soon...
Improving Performance and User Experience (Coming Soon)
Coming Soon...
Conclusion and Next Steps (Coming Soon)
Coming Soon...
Teach online with
Coming Soon...
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock