NodeJS - Build a Full E-Commerce RESTful APIs (بالعربي)

مع الدفع الكاش والالكتروني NodeJs, Express,Mongoose, MongoDB لمشروع متجر إلكتروني متكامل ، باستخدام "RESTful APIs" بناء

4.79 (46 reviews)
Udemy
platform
العربية
language
Web Development
category
instructor
170
students
30 hours
content
Apr 2022
last update
$84.99
regular price

What you will learn

Real World Backend RESTful API For E-Commerce Platform Ready for Mobile or Web E-Shop Application

Password forgot/reset, confirmation email on signup etc

Advance searching, sorting, pagination and filtering

Star rating system

Discount coupon code

Add to cart

Add to wishlist

Cash on delivery (no online payment required)

Credit card payment with stripe

Express & Mongoose Middleware

Authentication and authorization

Login & Register Users - JWT Authentication

Use MongoDB in Cloud

Advanced Mongoose Queries and Relationships Between Database Collections

Image Upload & Multiple Images Upload (File Uploading) and image processing

Store and retrieve complex data in MongoDB

Use modern JavaScript features (ES6, ES7)

Deployment

Description

Course Highlights

  1. Project Overview

    خلال هذا القسم هيتم استعراض مشروع المتجر الإلكتروني اللي هيتم تنفيذه خلال هذا الكورس ... مهم جدا تتفرج عليه بتركيز عشان تكون عارف ايه المميزات اللي هتتنفذ خلال المشروع ده


  2. How Web Work

    خلال القسم ده هنتكلم شويه عن اساسيات النتورك وازاي الويب بيشتغل عشان كله يكون عنده الاساسيات اللي هنبني عليها اللي جاي وفي نفس الوقت نكون عارف احنا مكانا فين بالظبط وايه دورنا واحنا بنكتب كود


  3. Preparing Tools And Environment

    خلال القسم ده هنبدأ نجهز بيئة العمل بتاعتنا والمحرر اللي هنبدأ نشتغل عليه


  4. Preparing Express Server And Mongodb

    خلال القسم ده هنبدأ نجهز الاكسبريس اب بتاعنا ونبدأ ننشأ السيرفر ونربط التطبيق بتاعنا بالداتا بيز وكمان هنشرح الستراكشر بتاع الملفات اللي هنشتغل بيه خلال المشروع اللي هننفذه


  5. Categories CRUD Operations

    خلال القسم ده هنبدأ التنفيذ الفعل لفيتشر الاقسام داخل المتجر الالكتروني الاقسام دي ممكن تكون ملابس او الكترونيات ..إلى آخره.


  6. Advanced Error Handling & Adding Validation Layer

    من السكاشن المهمة جدا اللي هنشرح فيها ازاي اكسبريس بيتعامل مع الايرورز وهنبدأ نشوف ازاي نمسك الايرورز دي ونتحكم في شكلها والشكل النهائي اللي هيرجع للمستخدم وكمان هنشوف ازاي نمسك باقي الايرورز اللي ممكن تحصل في باقي التطبيق غير اكسبريس


  7. SubCategories CRUD & Brands CRUD Operations

    خلال القسم ده هنبدأ ننفذ الاقسام الفرعية اللي هتكون بتنتمي للاقسام الرئيسية بمعني ان القسم الرئيسي ينتمي ليه قسم او اكثر فرعي .. بالاضافه للعمل علي فيشتر البراندات


  8. Products CRUD Operations

    خلال القسم ده هنبدأ نشتغل علي فيتشر المنتج وهنشوف ازاي نعمل انشاء وتعديل وحذف للمنتج .. بالاضافة ازاي نعمل بحث وازاي نعمل ترتيب للمنتج سواء بسعره او عدد المبيعات للمنتج او غيره .. ازاي كمان نعمل فلتر للمنتج سواء بالقسم اللي بينتمي ليه واو العلامة التجارية وغيره


  9. Upload Single And Multiple Images And Image Processing

    خلال القسم ده هنشوف ازاي نعمل رفع لصوره واحدة او اكتر من صورة .. وهنشوف ازاي نحسن من العمليات اللي هتم علي الصورة عشان يحسن من الاداء .. وهنتعامل مع الايرورز اللي ممكن تظهرك لما ترفع فايل غير الصور .. وهنبدأ نضيف الصور للمنتج بتاعنا


  10. Authentication And Authorization

    خلال القسم ده هنشرح عمليه المصادقة بشكل تفصيلي وهنشوف ازاي تسجيل الدخول وانشاء الحساب ونسيت كلمه المرور وازاي بتعمل التوكن وازاي بنعمل عمليه التحقق عليه ..كمان هنشتغل علي صلاحيات المستخدمين وهيكون عندنا ادمن ومانجر ويوزر عادي وكل واحد ليه صلاحيات مختلفة عن التاني... القسم ده مهم جدا وهتستفاد منه جدا


  11. Reviews, Wishlist And User Addresses

    خلال القسم ده هنبدأ نشتغل علي التقييمات وهنشوف ازاي هنمكن المتسخدم انه يضيف تقييم علي المنتجات وكمان هنحسب متوسط عدد التقييمات علي المنتج الواحد بالاضافة للعدد الكلي للتقيمات علي المنتج الواحد ، كمان هنشرح ازاي نمكن المسخدم انه يضيف منتج لقائمة المفضلة وفي نفس الوقت يقدر يحذفه ، كمان هنمكن المستخدم من انه يضيف عنوان لدفتر العناوين بتاعه يقدر يستخدمه لما يجي يطلب اوردر .


  12. Coupons And Shopping Cart

    خلال القسم ده هنبدأ نمكن الادمن من انه ينشأ الكوبونات وكل كوبون بيكون ليه تاريخ معين ينتهي فيه ونسبة خصم معينة بيحددها الادمن ... والمستخدم هيقدر يستخدم الكوبون ده عشان يتسفاد من الخصم .. كمان هنمكن المستخدم من انه ينشأ سلة المنتجات اللي هيبدأ يضيف فيها المنتجات اللي عايز يشتريها ويعدل يختار ويعدل في كمية المنتجات لو متاح كمية منها في المخزن بالاضافة انه يقدر يضيف كوبون خصم علي السلة .


  13. Cash And Online Orders, Online Payments And Deployments

    خلال القسم ده هنبدأ نشتغل علي الاورد ر او الطلبية سواء الاوردر ده هيتم دفعه كاش او عند الاستلام او الاوردر ده هيتم دفعه من خلال بطاقة دفع او محفظة الكترنية زي ابل باي او غيره .. هيتم الربط مع بوابة الدفع ونشوف ايه وسائل الدفع اللي بتوفرها بوابة الدفع وهنعمل عميلة الدفع من خلالها ... وهنشوف ازاي بنشوف عملية الدفع نجحت ولا لا .. وازاي نعمل اوردر في حالة نجاح عملية الدفع .. هنتكلم بالتفصيل عن الدفع الكاش والدفع الالكتروني .. وفي الاخر هنرفع التطبيق علي هيروكو عشان تقدر تشاركه مع الفرونت اند او تحط اللينك في البرورتفوليو بتاعك


  14. Security

    خلال القسم ده هنتكلم شويه عن وسائل الامان اللي ممكن تستخدمها عشان تأمن التطبيق بتاعك


  15. Enhancements

    خلال القسم ده هنضيف فيه التحسينات اللي هتتضاف في الكورس ... بالاضافة لو فيه مشاكل ظهرت هنسجلها فيديو ونضيفه في السكشن ده


  16. Appendix

    خلال القسم ده هضفلكم شويه دروس عن الجافا سكريبت عشان ترجعو ليها لو عايز تتاسس فيها عشان تساعدك وانت شغال في الكورس



Screenshots

NodeJS - Build a Full E-Commerce RESTful APIs (بالعربي) - Screenshot_01NodeJS - Build a Full E-Commerce RESTful APIs (بالعربي) - Screenshot_02NodeJS - Build a Full E-Commerce RESTful APIs (بالعربي) - Screenshot_03NodeJS - Build a Full E-Commerce RESTful APIs (بالعربي) - Screenshot_04

Content

Course Overview

Course Outline
Course ratings (مهم جدا)
Live Demo - APIs That We Will Build
Live Demo - Front-end Website To Understand All Features That We Will Build
Join To Our Online Classroom
How To Use Source Code
If You Face a Problem

How Web Work ? (اساسيات مهم تكون فاهمها)

How Web work
Http Request Response Example
Front-End vs Back-End
Static vs Dynamic websites vs API
Advantage Of Building API

Tools and Environment

Let's install NodeJS
Installing Code Editor and Some Useful Extensions
Installing Postman to Test Our API

Preparing Express Server and MongoDB

Create App Server Using Express
Use nodemon to Watch the Changes
Environment Variables & gitignore
Logging Our API Requests
MongoDB Atlas & Compass
Installing Mongoose and Connect to Our Database
Some Information about MongoDB
Make our First Hit to Our Database
Project Folders Structure
Express Middleware Explanation
Summary + Source Code

Categories CRUD Operations

Category Schema and Model
Create Category
Use Async Await Syntax
Get All Categories
Categories Pagination
Get Specific Category
Update Specific Category
Delete Category
Summary + Source Code

Advanced Error Handling & Adding Validation Layer

Error Handling Overview
Catch Errors from Express using Error Handling Middleware
Handle Unhandled Routes and Send Error to Error Handling Middleware
Making our Reusable Error Class
Refactor our Global Error Middleware
Refactor 404 Not Found
Handle Errors in Development and Production ENV
Handle Errors Outside Express (Unhandled Rejections)
Validation Layer Benefits
Implement Validation Layer
Refactor Validation Layer
Implementing Remains Validation Rules on Category Handlers
Summary + Source Code

Subcategory & Brand CRUD

Introduction
Sub Category Schema & Model
Use ESLint with Some Airbnb Configurations
Create Sub Category Handler, Validation and Route
Get Specific Subcategory and Subcategories List Handlers, Validations and Routes
Update and Delete Subcategory handlers, Validations and Routes
Populate Category Name (Optional)
Get All Subcategories for Specific Category (Nested Route)
Create Subcategory on Category (Nested Route)
Brands CRUD Operations
Test Brands On Postman
Summary + Source Code

Product CRUD Operations

Introduction
Product Schema & Model
Product Service
Product Validations & Router
Test Product CRUD On Postman
Validate Category Existence in Our DB
Validate Subcategories Existence in Our DB
Validate That Subcategories Belong to Category
Insert & Delete Products Dummy Data Using Seeder Script
Products Filtration Part-1
Products Filtration Part-2
Apply Sorting Feature On Products
Apply Field Limiting Feature
Apply Search Feature
Refactor Our Api Features
Return Pagination Result on the Response
Apply Api Features on Other Route Handlers
Delete Factory Handler
Update Factory Handler
Create Factory Handler
Get One Factory Handler
Get All Factory Handlers
Use Mongoose Query Middleware to Populate Category in Product
Summary + Source Code

Upload Images and Image Processing

Introduction
Upload Single Image Using Multer
Multer Storage Configuration
Allow Only Images
Use Sharp Lib For Image Processing
Save Image name into Database & Apply Upload Image into Update Category
Upload Brand image
Return Image URL On The Response
Upload Mix Of Product Images
Return Product Images URL into The Response
Refactor Upload Mix of Images Middleware
Summary + Source Code

Authentication And Authorization

Introduction
Authentication vs Authorization
User Schema & Model
User Service & Route
Test User CRUD On Postman
User Validation Layer
Apply Password Confirmation
Hash User Password On Create Handler
Hash User Password On Update Handler
Enhance Change Password Handler
Enhance User Validation
How JWT Work with Authentication
Signup
Login
Protect Handler Part One: Check If Token Exist
Protect Handler Part Two: Verify Token
Protect Handler Part Three: Check If User For Token Exist
Protect Handler Part Four: Check If User Change Password After Token Created
Postman Configuration
Authorization: User Permissions
Protect Other Routes
Forgot Password: Overview
Forgot Password: Check If User Exists
Forgot Password: Generate Random Reset Code
Forgot Password: Send Reset Code Via Email
Forgot Password: Verify Reset Code
Forgot Password: Reset Password
Get Logged User data
Update Logged User Password
Update Logged User Data
Deactivate Logged User
Summary + Source Code

Reviews, Wishlist and User Addresses

Introduction
Review Schema & Model
Some Info About Collections Relationships
Review Handlers And Routes
Test Reviews CRUD On Postman
Review Create, Update And Delete Validation
Populate User On Review
Virtual Populate: Populate Reviews On Product
Fix Update Review Issue After User Population
Apply Nested Route (Products/Reviews)
Calculate Ratings Quantity And Average When Create Review
Calculate Ratings Quantity And Average When Update, Delete Review
Wishlist Overview
Add Product To Wishlist Handler And Route
Remove Product From Wishlist Handler And Route
Get Logged User Wishlist
User Addresses Handlers And Routes
Test User Addresses
Summary + Source Code

Coupons And Shopping Cart

Introduction
Coupon Schema & Model
Coupon Service And Route
Refactor Mount Routes Middleware
Test Coupons CRUD On Postman
Shopping Cart Schema & Model
Add Product To Shopping Cart Part-1
Add Product To Shopping Cart Part-2
Add Product To Shopping Cart Part-3
Get Logged User Shopping Cart
Remove Specific Cart Item
Clear Logged User Shopping Cart
Update Cart Item Quantity
Apply Coupon On Shopping Cart
Shopping Cart Items Recap
Summary + Source Code

Cash & Online Orders, Payment And Deployment

Order Schema & Model
Create Cash Order Overview
Create Cash Order Part-1
Create Cash Order Part-2
Test Cash Order
Get All And Specific Orders
Populate User And Order
Update Order Status (Admin)
Cash Order Recap
Payment Providers Overview
Stripe Dashboard Overview
Create Stripe Checkout Session
Test Checkout Session & Edit Checkout Page Branding
Prepare Our App To Deploy (Enable CORS & Install Compression)
Deploy Node App To Heroku
Implement Stripe Webhook And Create Order
Fix Card Order Issue
Summary + Source Code

Security Best Practice And Recommendations

Introduction
Set Request Size limit
Take Precautions Against Brute-Forcing By Apply RateLimiter
Use Anti-CSRF Tokens
Prevent HTTP Parameter Pollution
Data Sanitization
Return Only Necessary Fields
Error & Exception Handling
Platform Security

Appendix

Introduction
Intro To Modern Javascript
Var, Let, Const
Arrow Function
Export and Import
Classes
Spread Operators
Destructuring
Primitive Types
Array Methods
Array Simple Methods (Slice, Splice, Reverse, Concat, Join)
Array Methods (Filter, Find, Sort, Reduce)
Higher Order Functions
Promise, Asynchronous And Synchronous
Multi Promise
Async ,Await

What is Next?

Bonus

Reviews

Fady
June 24, 2022
Best node course but there are some things we want to have in the future like typescript node, GraphQl
Mahmoud
April 22, 2022
أعطيت هذه الدورة 5/5. هذه الدورة رائعة. هي واحدة من أفضل الدورات باللغة العربية في هذا المجال يجيب المدرب على جميع أسئلتك ، وهو أمر مذهل. يشرح كل شيء بالتفصيل الأساس هو بناء المشاريع. مع كل مشروع ، ستتعلم شيئًا جديدًا ، ويقدم حقًا في هذه الدورة العديد من الأمثلة الواقعية شكرا جزيلا لك على هذه الدورة. أنا أقدر ذلك وأقدر جهودك. سأوصي بشدة بهذه الدورة التدريبية لأي شخص يريد البدء في تعلم Node وبناء المشاريع.
Ahmed
April 22, 2022
مفيد جدا وبسيط . اسلوب الشرح جميل جدا واستفدت جدا خاصة وقت الفيديو مناسب ومليء بالمعلومات القيمة التي لم اجدها في كورسات اخري باللغه العربيه . شكراً لكم

Charts

Price

NodeJS - Build a Full E-Commerce RESTful APIs (بالعربي) - Price chart

Rating

NodeJS - Build a Full E-Commerce RESTful APIs (بالعربي) - Ratings chart

Enrollment distribution

NodeJS - Build a Full E-Commerce RESTful APIs (بالعربي) - Distribution chart

Coupons

DateDiscountStatus
6/6/202294% OFF
expired
4508926
udemy ID
1/22/2022
course created date
4/22/2022
course indexed date
Bot
course submited by