Build an e-commerce platform

!
An updated version of this course is available
126 episodes14 hrs 16 mins

Course overview

Build a robust e-commerce platform with a Laravel API and Nuxt frontend. Products with flexible variations, proper price implementation, a full checkout experience with dynamic shipping and payment implementations (including saved payment methods) and loads more.

Alex Garrett-Smith
Alex Garrett-Smith
Hey, I'm the founder of Codecourse!

Episodes

0%
Your progress
  • Total: 14h 16m
  • Played: 0m
  • Remaining: 14h 16m
01. Introduction and demo
6m 10s
0%
02. Setting up Laravel
3m 27s
0%
03. Setting up Nuxt and Bulma
7m 26s
0%
04. Setting up for testing
2m 57s
0%
05. Building the category model
15m 1s
0%
06. Category index endpoint
12m 24s
0%
07. Showing categories and children
14m 29s
0%
08. Simple products
3m 7s
0%
09. Product index endpoint
7m 54s
0%
10. Product show endpoint
4m 3s
0%
11. Showing a product
3m 50s
0%
12. Hooking up products to categories
3m 16s
0%
13. Scoping products by category
14m 41s
0%
14. Simple CORS support
1m 17s
0%
15. Showing products in categories
8m 3s
0%
16. Product variations
9m 1s
0%
17. Product variation types
12m 54s
0%
18. Fixing failing tests for the product index
2m 57s
0%
19. Quick scoper trait refactor
1m 2s
0%
20. Product prices
11m 5s
0%
21. Product variation prices
7m 42s
0%
22. Updating the client prices
49s
0%
23. Showing product variations
5m
0%
24. Showing if the product variation price differs
1m 10s
0%
25. Selecting product variations to add
9m 52s
0%
26. Product stock blocks
6m 49s
0%
27. Basics orders to test stock
5m 10s
0%
28. Product stock database view
13m 34s
0%
29. Product variation stock checks
9m 12s
0%
30. Showing if a variation is out of stock
1m 15s
0%
31. Base product stock information
4m 58s
0%
32. Showing if a product is out of stock
1m 5s
0%
33. Updating dropdown with stock count
3m 36s
0%
34. JSON response profiling
8m 6s
0%
35. Setting up authentication
3m 52s
0%
36. Registering a user
13m 6s
0%
37. Authenticating a user
7m 47s
0%
38. The me endpoint
7m 37s
0%
39. Authenticating on the client
7m 46s
0%
40. Updating the navigation
2m 19s
0%
41. The user cart relationship
5m 57s
0%
42. Adding items to the cart
23m 35s
0%
43. Incrementing quantity when adding
4m 17s
0%
44. Updating product cart quantities
10m 14s
0%
45. Deleting cart products
4m 27s
0%
46. Emptying the cart
1m 41s
0%
47. Getting the user’s cart
12m
0%
48. Getting the cart for every request
4m 27s
0%
49. Building the cart page
9m 58s
0%
50. Deleting cart items
3m 25s
0%
51. Updating cart item quantities
3m 39s
0%
52. Checking if the cart is empty
5m 5s
0%
53. Disabling the checkout button
2m 36s
0%
54. Getting the cart totals
6m 8s
0%
55. Showing the cart subtotal
2m 52s
0%
56. Syncing the cart
10m 28s
0%
57. Testing minimum stock
1m 13s
0%
58. Getting changed status on the client
1m 51s
0%
59. Showing the product variation type
1m 4s
0%
60. SQL optimizations
3m 57s
0%
61. Adding items on the client
3m 41s
0%
62. Countries table
2m 37s
0%
63. Addresses setup
7m 32s
0%
64. Listing addresses
5m 26s
0%
65. Storing an address
9m 55s
0%
66. Toggling default addresses
5m 49s
0%
67. Building the checkout page
7m 42s
0%
68. Showing the default address
8m 38s
0%
69. Switching the shipping address
8m 51s
0%
70. Creating a new shipping address
7m 37s
0%
71. Countries endpoint
2m 44s
0%
72. Country dropdown selector
4m 31s
0%
73. Creating shipping methods
4m 6s
0%
74. Hooking up shipping methods to countries
6m 4s
0%
75. Getting the right shipping methods for an address
11m 41s
0%
76. Using v-model with a shipping address
2m 16s
0%
77. Outputting available shipping methods
3m 41s
0%
78. Adding shipping onto the subtotal
14m
0%
79. Displaying shipping price and total at checkout
9m 54s
0%
80. Fixing shipping error on checkout
1m 40s
0%
81. Adding address and shipping method relation to orders
8m 49s
0%
82. Order statuses and defaults
5m 46s
0%
83. Basic order validation
12m 4s
0%
84. Custom shipping method validation rule
7m 7s
0%
85. Creating an order
9m 59s
0%
86. Revisiting orders and product relations
4m 58s
0%
87. Fixing cart store failing test
1m 26s
0%
88. Attaching products when ordering
10m 40s
0%
89. Refactoring to a custom collection
7m 56s
0%
90. Failing if the cart is empty
4m 7s
0%
91. Emptying the cart when ordering
6m 37s
0%
92. Returning order details
7m 41s
0%
93. Fixing up failing order test
1m 13s
0%
94. Placing orders from the checkout
7m 7s
0%
95. Warning users of cart changes, plus some refactoring
14m 55s
0%
96. Alerting on checkout changes
11m 52s
0%
97. Fixing the quantity UI bug
3m 35s
0%
98. Orders endpoint
9m 32s
0%
99. Formatting order total and subtotal
5m 33s
0%
100. Order index setup
2m 49s
0%
101. Listing through orders
11m 36s
0%
102. Product variation product relationship
5m 46s
0%
103. Updating product variations in orders
2m 12s
0%
104. Refactoring statuses to dynamic components
5m 35s
0%
105. Fixing a syncing bug
5m 26s
0%
106. Setting up payment methods
10m 59s
0%
107. Refactoring defaults to a trait
4m 9s
0%
108. Payment methods index endpoint
7m 7s
0%
109. Showing and switching payment methods
11m 8s
0%
110. Attaching payment methods to orders
9m 45s
0%
111. Setting up Stripe
2m 36s
0%
112. Mocking up our payment gateway
11m 40s
0%
113. Storing a payment method
17m 59s
0%
114. Responding with a card and writing some tests
11m 8s
0%
115. Storing a new card with Stripe
15m
0%
116. Event handler for processing the payment
4m 36s
0%
117. Processing a payment
5m 18s
0%
118. Handling a failed payment
7m 19s
0%
119. Handling a successful payment
2m 40s
0%
120. Fixing failing 'cart empty' test
3m 41s
0%
121. Testing listeners
10m 3s
0%
122. Using Mockery to test more complex listeners
15m 9s
0%
123. Client authentication middleware
6m 11s
0%
124. Tweaking order status components
3m 34s
0%
125. Order transactions setup
4m 47s
0%
126. Storing transactions
4m 15s
0%