NodeJS - Build a Full E-Commerce RESTful APIs
خلال هذا الكورس هتتعلم بناء RESTful APIs احترافية لمتجر إلكتروني كامل باستخدام Node.js وExpress وMongoDB وStripe،
من هيكلة المشروع وقواعد البيانات والمصادقة والصلاحيات إلى رفع الصور والدفع الإلكتروني ونشر التطبيق.
باقة الباك اند
كورس مكتمل
لمن هذا الكورس ؟
-
لأي حد عايز يتعلم Node.js عن طريق بناء تطبيق عملي
-
للمهتمين بتعلم مجال ال ( Back-End ) باستخدام Node.js
-
لأي حد عايز يتعلم اكتر عن Express, Mongodb and Stripe
33 ساعة
مستوي مبتدئ ومتوسط
متطلبات الالتحاق بالكورس
-
معرفة جيدة بلغة Javascipt
-
يُفضل معرفة بأساسيات Node.js
NodeJS - Build a Full E-Commerce RESTful APIs
خلال هذا الكورس هتتعلم بناء RESTful APIs احترافية لمتجر إلكتروني كامل باستخدام Node.js وExpress وMongoDB وStripe،
من هيكلة المشروع وقواعد البيانات والمصادقة والصلاحيات إلى رفع الصور والدفع الإلكتروني ونشر التطبيق.
ماذ سوف تتعلم في هذا الكورس
-
هتتعلم اساسيات النتورك وازاي الويب بيشتغل
-
هتتعلم ازاي تنشأ سيرفر ونربط التطبيق بتاعنا بالداتا بيز وكمان هنشرح ستراكشر الملفات اللي هنشتغل بيه خلال المشروع اللي هيتم تنفيذه
-
هنشرح ازاي اكسبريس بيتعامل مع الايرورز وهنبدأ نشوف ازاي نمسك الايرورز دي ونتحكم في شكلها والشكل النهائي اللي هيرجع للمستخدم
-
هتتعلم ازاي تفكر وتنفذ التصميم للداتا بيز بتاعتك بناءا علي فهمك لمتطلبات العمل الخاصة بالمشروع
-
هتتعلم تنفيذ الباك اند لمشروع متجر إلكتروني متكامل يحتوي علي الخائص التالية ( المنتجات - التصنيفات الرئيسية والفرعية - البراندات - سلة المنتجات - المنتجات المفضلة -الخصومات بإستخدام الكوبونات - عمليات الشراء )
-
كمان هالمتجر هيحتوي علي انواع دفع مختلفة ( الدفع نقدا او عند الاستلام - الدفع الإكتروني )
-
هتتعلم كيفية التعامل مع الصور من خلال رفع صورة واحدة او اكتر من صورة
-
هنشوف ازاي نحسن من العمليات اللي هتتم علي الصور عشان نحسن الاداء وهنشوف ازاي نتعامل مع الايرورز اللي ممكن تظهر عند التعامل مع الصور والملفات
-
هتتعلم عمليه المصادقة بشكل تفصيلي وهنشوف ازاي تسجيل الدخول وانشاء الحساب ونسيت كلمة المرور وازاي بتعمل التوكن وازاي بنعمل عمليه التحقق عليه
-
هنشتغل علي صلاحيات المستخدمين وهيكون عندنا ادمن ومدير ومستخدم عادي وكل واحد ليه صلاحيات مختلفة عن التاني
-
هتتعلم كيفية رفع الباك اند بتاعتك علي سيرفر خارجي عشان تقدر تشاركها مع التيمات الاخري او تقدر تحط المشروع في ملف الاعمال بتاعك
-
هتتعلم اكتر عن وسائل الآمان اللي ممكن تستخدمها عشان تأمن الباك اند بتاعتك
-
في اخر الكورس هيكون فيه سكشن تعريفي بنست فريمورك واللي هتكون تمهيد لكورس النست
محتويات الكورس
- 15-Create App Server Using Express (5:05)
- 16-Use nodemon to Watch the Changes (2:52)
- 17-Environment Variables And gitignore (4:16)
- 18-Logging Our API Requests (3:08)
- 19-Mongodb Atlas And Compass (11:07)
- 20-Installing Mongoose and Connect to Our Database (7:37)
- 21-Some Information about Mongodb (2:49)
- 22-Make our First Hit to Our Database (10:32)
- 23-Project Folders Structure (11:18)
- 24-Express Middleware Explanation (1:51)
- 25-Summary + Source Code (1:51)
- 35-Error Handling Overview (3:37)
- 36-Catch Errors from Express using Error Handling Middleware (4:02)
- 37-Handle Unhandled Routes and Send Error to Error Handling Middleware (5:59)
- 38-Make our Reusable Error Class (12:46)
- 39-Refactor our Global Error Middleware (2:39)
- 40-Refactor 404 Not Found (4:23)
- 41-Handle Errors in Development and Production ENV (6:41)
- 42-Handle Errors Outside Express (Unhandled Rejections) (9:50)
- 43-Validation Layer Benefits (5:57)
- 44-Implementing Validation Layer (6:21)
- 45-Refactor Validation Layer (9:32)
- 46-Implementing Remains Validation Rules on Category Handlers (8:42)
- 47-Summary & Source Code (1:47)
- 48-Introduction (1:21)
- 49-Sub Category Schema And Model (7:13)
- 50-Use Eslint with Some Airbnb Configurations (5:51)
- 51-Create Sub Category Handler, Validation and Route (12:42)
- 52-Get Specific Subcategory and Subcategories List Handlers, Validations and Routes (6:47)
- 53-Update and Delete Subcategory handlers, Validations and Routes (8:21)
- 54-Populate Category Name (Optional) (7:42)
- 55-Get All Subcategories for Specific Category (Nested Route) (12:18)
- 56-Create Subcategory on Category (Nested Route) (9:48)
- 57-Brands CRUD Operations (10:22)
- 58-Test Brands On Postman (3:35)
- 59-Summary + Source Code (0:59)
- 60-Introduction (1:30)
- 61-Product Schema And Model (15:45)
- 62-Product Service (6:36)
- 63-Product Validations And Router (11:58)
- 64-Test Product CRUD On Postman (14:17)
- 65-Validate Category Existence in Our DB (10:33)
- 66-Validate Subcategories Existence in Our DB (13:24)
- 67-Validate That Subcategories Belong to Category (19:51)
- 68-Insert And Delete Products Dummy Data Using Seeder Script (8:12)
- 69-Products Filtration Part-1 (16:18)
- 70-Products Filtration Part-2 (13:03)
- 71-Apply Sorting Feature On Products (11:38)
- 72-Apply Field Limiting Feature (8:25)
- 73-Apply Search Feature (5:57)
- 74-Refactor Our ApiFeatures (14:22)
- 75-Return Pagination Result on the Response (14:18)
- 76-Apply Api Features on Other Route Handlers (10:40)
- 77-Delete Factory Handler (9:39)
- 78-Update Factory Handler (14:52)
- 79-Create Factory Handler (7:25)
- 80-Get One Factory Handler (4:32)
- 81-Get All Factory Handlers (10:27)
- 82-Use Mongoose Query Middleware to Populate Category in Product (5:47)
- 83-Summary (1:12)
- 84-Introduction (2:18)
- 85-Upload Single Image Using Multer (9:24)
- 86-Multer Storage Configuration (13:04)
- 87-Allow Only Images (7:16)
- 88-Use Sharp Lib For Image Processing (18:30)
- 89-Save Image name into Database And Apply Upload Image into Update Category (11:48)
- 90-Upload Brand image (14:02)
- 91-Return Image URL On The Response (20:26)
- 92-Upload Mix Of Product Images (27:49)
- 93-Return Product Images URL into The Response (5:02)
- 94-Refactor Upload Mix of Images Middleware (8:49)
- 95-Summary + Source Code (1:39)
- 96-Introduction (1:15)
- 97-Authentication vs Authorization (3:31)
- 98-User Schema And Model (5:10)
- 99-User Service And Route (10:19)
- 100-Test User CRUD On Postman (7:17)
- 101-User Validation Layer (13:22)
- 102-Apply Password Confirmation (4:20)
- 103-Hash User Password On Create Handler (5:46)
- 104-Hash User Password On Update Handler (10:20)
- 105-Enhance Change Password Handler (15:14)
- 106-Enhance User Validation (1:23)
- 107-How JWT Work with Authentication (4:27)
- 108-Signup (19:40)
- 109-Login (14:37)
- 110-Protect Handler Part One: ( Check If Token Exist ) (15:03)
- 111-Protect Handler Part Two ( Verify Token ) (15:13)
- 112-Protect Handler Part Three ( Check If User For Token Exist ) (4:06)
- 113-Protect Handler Part Four ( Check If User Change Password After Token Created ) (15:13)
- 114-Postman Configuration (9:13)
- 115-Authorization User Permissions (12:59)
- 116-Protect Other Routes (6:28)
- 117-Forgot Password (Overview) (3:39)
- 118-Forgot Password: Check If User Exists (5:16)
- 119-Forgot Password: Generate Random Reset Code (15:25)
- 120-Forgot Password: Send Reset Code Via Email (32:10)
- 121-Forgot Password: Verify Reset Code (11:13)
- 122-Forgot Password: Reset Password (12:57)
- 123-Get Logged User data (9:25)
- 124-Update Logged User Password (12:29)
- 125-Update Logged User Data (8:39)
- 126-Deactivate Logged User (5:20)
- 127-Summary + Source Code (2:37)
- 128-Introduction (1:27)
- 129-Review Schema And Model (4:34)
- 130-Some Info About Collections Relationships (12:28)
- 131-Review Handlers And Routes (8:10)
- 132-Test Reviews CRUD On Postman (10:48)
- 133-Review Create, Update And Delete Validation (26:46)
- 134-Populate User On Review (3:38)
- 135-Virtual Populate: Populate Reviews On Product (12:04)
- 136-Fix Update Review Issue After User Population (5:13)
- 137-Apply Nested Route (Products/Reviews) (19:51)
- 138-Calculate Ratings Quantity And Average When Create Review (27:46)
- 139-Calculate Ratings Quantity And Average When Update, Delete Review (8:52)
- 140-Wishlist Overview (3:29)
- 141-Add Product To Wishlist Handler And Route (11:52)
- 142-Remove Product From Wishlist Handler And Route (5:08)
- 143-Get Logged User Wishlist (6:43)
- 144-User Addresses Handlers And Routes (12:20)
- 145-Test User Addresses (6:20)
- 146-Summary + Source Code (3:48)
- 147-Introduction (2:07)
- 148-Coupon Schema And Model (3:06)
- 149-Coupon Service And Route (7:09)
- 150-Refactor Mount Routes Middleware (3:06)
- 151-Test Coupons CRUD On Postman (6:07)
- 152-Shopping Cart Schema And Model (5:19)
- 153-Add Product To Shopping Cart Part-1 (16:18)
- 154-Add Product To Shopping Cart Part-2 (12:21)
- 155-Add Product To Shopping Cart Part-3 (9:52)
- 156-Get Logged User Shopping Cart (4:53)
- 157-Remove Specific Cart Item (7:58)
- 158-Clear Logged User Shopping Cart (3:15)
- 159-Update Cart Item Quantity (10:33)
- 160-Apply Coupon On Shopping Cart (15:15)
- 161-Shopping Cart Items Recap (2:12)
- 162-Summary + Source Code (1:24)
- 163-Order Schema And Model (9:33)
- 164-Create Cash Order Overview (8:32)
- 165-Create Cash Order Part-1 (8:21)
- 166-Create Cash Order Part-2 (12:49)
- 167-Test Cash Order (13:24)
- 168-Get All And Specific Orders (10:33)
- 169-Populate User And Order (4:04)
- 170-Update Order Status (Admin) (10:19)
- 171-Cash Order Recap (2:02)
- 172-Payment Providers Overview (6:03)
- 173-Stripe Dashboard Overview (8:17)
- 174-Create Stripe Checkout Session (22:52)
- 175-Test Checkout Session And Edit Checkout Page Branding (10:50)
- 176-Prepare Our App To Deploy (Enable CORS And Install Compression) (8:20)
- 177-Deploy Node App To Heroku (18:22)
- 178-Implement Stripe Webhook And Create Order (28:50)
- 179-Fix Card Order Issue (6:07)
- 180-Summary + Source Code (2:36)
- 181-Introduction (3:21)
- 182-Set Request Size limit (5:07)
- 183-Take Precautions Against Brute-Forcing By Apply Rate Limiter (11:08)
- 184-Use Anti-CSRF Tokens (9:49)
- 185-Prevent HTTP Parameter Pollution (12:36)
- 186-Data Sanitization (16:43)
- 187- Return Only Necessary Fields (9:37)
- 188-Error And Exception Handling (2:40)
- 189-Platform Security (5:22)
- 190-What is Nestjs Framework (11:00)
- 191.Install Nestjs CLI and Generate our First Nest Application (7:57)
- 192.First Look at Nestjs Application Architecture (16:34)
- 193.Http Implementation Inside Nestjs (5:08)
- 194-What is the Nestjs Parts (2:42)
- 195-What is the Root Module (11:03)
- 196-Request Response Cycle (9:09)
- 197-Create our First Controller (13:02)
- 198-What is Resource Controller (11:47)
- 199-Request Object (4:59)
- 200-Route Parameters (6:51)
- 201-Request Body (3:42)
- 202-Status Code and Response (10:55)
- 203-Request Payload (DTO) (6:05)
- 204-Update DTO (7:49)
- 205-Find, FindOne and Create Logic (11:28)
- 206-Update and Delete Logic (11:46)
- 207-Summary (3:43)
- 208-Intro (1:47)
- 209-Var ,Let,Const (9:35)
- 210-Arrow Function (6:45)
- 211-Export and Import (10:55)
- 212-Classes (15:55)
- 213-Spread Operators (11:05)
- 214-Destructuring (7:46)
- 215-Primitive Types (5:32)
- 215-Array Functions (5:28)
- 216-Array Simple Methodes(Slice,Splice,Reverse,Concat,Join) (10:57)
- 217-Array Methodes(Fillter,Find,Sort,Reduce) (19:12)
- 218-Higher Order Functions (15:56)
- 219-Promise,Asynchronous,Synchronous (16:27)
- 220-Multi Promise (9:35)
- 221-Async ,Await (12:20)