1. Урок 1. 00:02:00
    Course introduction
  2. Урок 2. 00:04:16
    Are you ready for this course?
  3. Урок 3. 00:09:51
    Course roadmap (optional)
  4. Урок 4. 00:09:04
    Express server
  5. Урок 5. 00:01:43
    Using MongoDB Atlas
  6. Урок 6. 00:03:22
    Connecting to MongoDB
  7. Урок 7. 00:04:46
    Routes
  8. Урок 8. 00:04:53
    Controllers
  9. Урок 9. 00:05:42
    User schema
  10. Урок 10. 00:05:20
    Virtual fields and methods
  11. Урок 11. 00:06:00
    User signup
  12. Урок 12. 00:05:15
    Using Postman to signup user
  13. Урок 13. 00:04:44
    Friendly error message
  14. Урок 14. 00:09:17
    Using express validator
  15. Урок 15. 00:10:08
    User signin using JWT
  16. Урок 16. 00:04:13
    Using Postman to signin user
  17. Урок 17. 00:02:03
    User signout
  18. Урок 18. 00:03:17
    Require signin middleware
  19. Урок 19. 00:02:40
    Renaming from user to auth
  20. Урок 20. 00:11:25
    User by id middleware
  21. Урок 21. 00:07:50
    Auth and admin middlewares
  22. Урок 22. 00:06:08
    Category model route and controller
  23. Урок 23. 00:04:49
    Creating category using postman
  24. Урок 24. 00:06:18
    Product model
  25. Урок 25. 00:09:26
    Create product with file upload
  26. Урок 26. 00:07:00
    Creating product using postman
  27. Урок 27. 00:06:13
    Create product validation
  28. Урок 28. 00:07:26
    Product by id middleware and single product
  29. Урок 29. 00:06:37
    Product delete
  30. Урок 30. 00:07:10
    Product update
  31. Урок 31. 00:05:10
    Category by id and single category
  32. Урок 32. 00:09:47
    Category update delete and get all
  33. Урок 33. 00:09:39
    Products by sell and arrival on request query params
  34. Урок 34. 00:05:15
    Fetch products based on request query using postman
  35. Урок 35. 00:07:32
    Related products
  36. Урок 36. 00:03:22
    List product categories
  37. Урок 37. 00:07:33
    List products by search
  38. Урок 38. 00:03:46
    Send product photo
  39. Урок 39. 00:07:33
    User profile read and update
  40. Урок 40. 00:01:49
    Installing CORS
  41. Урок 41. 00:01:31
    React hooks
  42. Урок 42. 00:00:51
    Why we used class components?
  43. Урок 43. 00:05:45
    Counter app using class
  44. Урок 44. 00:03:49
    useState hook
  45. Урок 45. 00:06:01
    useEffect hook
  46. Урок 46. 00:06:39
    News app using hooks
  47. Урок 47. 00:05:56
    Search news on input change
  48. Урок 48. 00:04:44
    Controlling useEffect's behaviour
  49. Урок 49. 00:03:11
    Loading
  50. Урок 50. 00:04:24
    Code Organization
  51. Урок 51. 00:02:54
    Create react app
  52. Урок 52. 00:08:38
    Routing pages
  53. Урок 53. 00:09:28
    Menu and active links
  54. Урок 54. 00:07:42
    Shared layout component
  55. Урок 55. 00:03:09
    Environment variables
  56. Урок 56. 00:10:21
    Signup form handle change
  57. Урок 57. 00:10:05
    User signup
  58. Урок 58. 00:09:17
    User signup success and error
  59. Урок 59. 00:03:09
    Code refactoring - Signup
  60. Урок 60. 00:08:22
    User signin
  61. Урок 61. 00:05:12
    Save user and token in local storage
  62. Урок 62. 00:05:25
    User signout
  63. Урок 63. 00:06:22
    Show and hide signin signout links conditionally
  64. Урок 64. 00:08:13
    Private route for authenticated users only
  65. Урок 65. 00:07:42
    User dashboard
  66. Урок 66. 00:05:14
    Links on user dashboard
  67. Урок 67. 00:02:59
    Admin dashboard
  68. Урок 68. 00:08:06
    Private route for admin
  69. Урок 69. 00:10:27
    Add category component
  70. Урок 70. 00:09:55
    Category create success and error
  71. Урок 71. 00:04:19
    Create product part one
  72. Урок 72. 00:19:14
    Create product part two
  73. Урок 73. 00:07:13
    Create product part three
  74. Урок 74. 00:13:13
    Create product with categories
  75. Урок 75. 00:10:05
    Products by arrival and sell
  76. Урок 76. 00:07:38
    Show products in card
  77. Урок 77. 00:06:26
    Show product image
  78. Урок 78. 00:04:34
    Styling buttons and jumbotron
  79. Урок 79. 00:03:30
    Shop page
  80. Урок 80. 00:03:10
    Get categories in shop page
  81. Урок 81. 00:05:27
    Show categories in shop sidebar
  82. Урок 82. 00:07:34
    Handle categories toggle
  83. Урок 83. 00:04:30
    Passing categories filter to parent component
  84. Урок 84. 00:04:49
    Set filters with category
  85. Урок 85. 00:04:42
    Fixed price range
  86. Урок 86. 00:07:25
    Radio buttons for price range
  87. Урок 87. 00:07:04
    Filter with price range
  88. Урок 88. 00:11:24
    Show products by filter on shop page
  89. Урок 89. 00:05:03
    Pass products to card component
  90. Урок 90. 00:06:24
    Load more button
  91. Урок 91. 00:06:12
    Search component
  92. Урок 92. 00:09:11
    Search form
  93. Урок 93. 00:09:55
    Implementing search
  94. Урок 94. 00:11:38
    Backend implementation of search
  95. Урок 95. 00:04:57
    Search message to users
  96. Урок 96. 00:09:08
    Single product component
  97. Урок 97. 00:10:23
    Reuse card for single product
  98. Урок 98. 00:10:09
    Product detail on single product page
  99. Урок 99. 00:09:01
    Show related products
  100. Урок 100. 00:13:25
    Add to cart
  101. Урок 101. 00:05:06
    Cart items total in menu
  102. Урок 102. 00:10:01
    Show products in cart page
  103. Урок 103. 00:02:57
    Conditionally show hide add to cart
  104. Урок 104. 00:11:45
    Product quantity update in cart
  105. Урок 105. 00:07:14
    Remove product from cart
  106. Урок 106. 00:09:10
    Cart total
  107. Урок 107. 00:03:40
    Braintree as payment gateway
  108. Урок 108. 00:04:00
    Signup to braintree
  109. Урок 109. 00:09:56
    Braintree setup backend
  110. Урок 110. 00:12:36
    Braintree setup frontend
  111. Урок 111. 00:08:17
    Handling payment frontend
  112. Урок 112. 00:03:45
    Processing payment backend
  113. Урок 113. 00:10:38
    Successful transaction
  114. Урок 114. 00:03:19
    Empty cart after successful purchase
  115. Урок 115. 00:05:44
    Activate paypal payment
  116. Урок 116. 00:05:37
    Steps to create paypal sandbox account
  117. Урок 117. 00:03:28
    Order routes and controller setup - Backend
  118. Урок 118. 00:06:37
    Create order - Frontend
  119. Урок 119. 00:11:14
    Save orders in the database
  120. Урок 120. 00:02:15
    Save delivery address of orders
  121. Урок 121. 00:07:33
    Push orders to user's purchase history
  122. Урок 122. 00:06:56
    Update sold products quantity
  123. Урок 123. 00:03:48
    List all orders for admin
  124. Урок 124. 00:07:43
    Fetch all orders for admin
  125. Урок 125. 00:08:55
    Loop through orders
  126. Урок 126. 00:05:20
    Show product details of each order
  127. Урок 127. 00:10:17
    enum status values of each order
  128. Урок 128. 00:06:20
    Find order by id and update order status
  129. Урок 129. 00:04:32
    Update order status by admin
  130. Урок 130. 00:09:41
    User profile update methods
  131. Урок 131. 00:08:24
    Get user info for profile update
  132. Урок 132. 00:10:43
    User profile update
  133. Урок 133. 00:03:13
    User purchase history - Backend
  134. Урок 134. 00:11:13
    User purchase history - Frontend
  135. Урок 135. 00:03:54
    Manage products for admin
  136. Урок 136. 00:05:58
    Product CRUD requests
  137. Урок 137. 00:09:44
    Products list and delete single product
  138. Урок 138. 00:03:44
    Get all products for admin CRUD
  139. Урок 139. 00:15:57
    Product Update
  140. Урок 140. 00:07:21
    Deploy to Digital Ocean Part 1
  141. Урок 141. 00:12:09
    Deploy to Digital Ocean Part 2
  142. Урок 142. 00:01:58
    Update user role to Admin in production
  143. Урок 143. 00:03:04
    Fully functioning Ecommerce app in production
  144. Урок 144. 00:03:03
    Adding a Domain name
  145. Урок 145. 00:02:49
    Using Cloudflare's CDN and free SSL for our app