❄️ The winter sale is here. 25% off for a limited time. Join us →
Access denied

Continue learning with a premium membership

Get access

Already a member? Sign in and enjoy

All episodes (78)

01. Introduction and demo

9m 42s

02. Installing Laravel, Breeze and Livewire

4m 47s

03. Creating categories

9m 4s

04. Recursively displaying categories

8m 21s

05. Product model and migration

2m 50s

06. Showing a product

7m 50s

07. Product variation setup

10m 26s

08. Creating the product selector

10m 34s

09. Loading child variation dropdowns

4m 28s

10. Faking adding the final variation

9m 33s

11. Setting up product stock

4m 34s

12. Calculating variation stock levels

9m 1s

13. Adding product images with MediaLibrary

8m 50s

14. Creating the product gallery

7m 28s

15. Providing a fallback image

2m 56s

16. Adding media to product variations

3m 37s

17. Creating the cart model

3m 37s

18. Registering the cart service

6m 34s

19. Creating a cart session

11m 4s

20. Showing the cart in the navigation

9m 19s

21. Caching the cart instance

3m 2s

22. Adding items to the cart

14m 1s

23. Creating the notification component

8m 5s

24. Showing the user's cart

6m 50s

25. Outputting cart items

4m 50s

26. Showing variation specifics

8m 8s

27. Updating item quantity

8m 2s

28. Removing an item from the cart

6m 1s

29. Calculating the cart summary

8m 7s

30. Showing the category products page

5m 1s

31. Indexing products in Meilisearch

8m 32s

32. Hooking up products to categories

4m 15s

33. Building the product browser

13m 32s

34. Showing child categories

1m 51s

35. Indexing product variations for filtering

8m

36. Outputting variations for filtering

12m 52s

37. Hooking up product filters with Livewire

7m 48s

38. Filtering products

12m 24s

39. Filtering by price

9m 50s

40. Adding global navigation search

7m 50s

41. Handling products that are not live

3m 22s

42. Price range category fix

1m 18s

43. Scaffolding the checkout page

8m 6s

44. Listing shipping options

9m 3s

45. Calculating the cart totals

2m 52s

46. Validating the account form

9m 10s

47. Validating the shipping form

5m 47s

48. Saving the shipping address

8m 4s

49. Selecting a saved shipping address

6m 39s

50. Fix shipping address error for non authenticated users

1m 7s

51. Redirecting if the cart is empty

2m 42s

52. Checking for quantity changes

7m 11s

53. Syncing if quantities have changed

11m 59s

54. Flashing a message when quantities have changed

5m 48s

55. Setting up for orders

5m 17s

56. Creating an order

13m 24s

57. Attaching variations to order

6m 13s

58. Reducing stock after ordering

2m 56s

59. Meilisearch filter query fix

1m 33s

60. Showing the order confirmation page

7m 39s

61. Attaching orders for registering guest users

5m 17s

62. Scaffolding the orders page

5m 30s

63. Filling in order variation details

5m 24s

64. Returning the order status

4m 39s

65. Detecting order status changes

10m 49s

66. Sending the order status change email

5m 12s

67. Sending an order confirmation email

2m 47s

68. Handling deleted cart records

4m 44s

69. Transferring the guest cart

2m 44s

70. Creating a presenter for the order status

4m 31s

71. Setting up Stripe

3m 43s

72. Creating and updating a PaymentIntent

16m 21s

73. The Stripe card form

3m 35s

74. Validating before payment

5m 34s

75. Submitting a payment

6m 40s

76. Checking for a successful payment

5m 47s

77. Handling Stripe client errors

3m 11s

78. Entangling Stripe customer data

2m 18s
Build an E-Commerce Platform

70. Creating a presenter for the order status

Source code on GitHub

Build a robust e-commerce platform with a Laravel and Livewire. Features products with unlimited and flexible variations, a product browser with filters and price range slider, global product search, guest checkout, shipping and payment implementation, order status tracking and more.