Build a Web Shop From A-Z
In this course, together, we will build a web-shop from scratch. We'll use Laravel and Livewire to construct the storefront, and Stripe to manage payments and the checkout process. We'll even implement an "add to cart" functionality to allow for purchasing multiple items at once.
It should be fun! I hope you're excited. Let's get going.
Series episodes
Scaffolding (4)
Here's the Plan
52sKickstart your Laravel journey with an overview of course goals, tools, and technologies, setting you up for success in building modern web apps.
Project Scaffolding
3m 16sScaffold a new Laravel app: install Livewire, Alpine, Jetstream, and essential tooling so you can start building fast.
Initial Model Scaffolding
9m 59sLearn how to scaffold models for products, variants, carts, and images in Laravel, complete with migrations and factories to jumpstart your online store.
Database Seeding
10m 23sQuickly populate your Laravel database with sample data using database seeders, making development and testing easier and more efficient.
The Storefront (14)
Designing Our Storefront
13m 5sStart building your storefront with Livewire in Laravel, using sample data to create dynamic, scalable components that enhance user experience and app performance.
Money Formatting
4m 20sLearn how to use Money objects in Laravel to handle currency accurately and apply automatic formatting for clean, reliable money management in your app.
Designing the Product Page
10m 20sDesign a stunning product page with practical tips and techniques to enhance user experience and boost engagement in your Laravel application.
Dynamic Product Image Selector
3m 17sLearn how to create a dynamic product image selector with Alpine.js, letting users easily enlarge images for a better shopping experience in your Laravel app.
Add to Cart Validation
5m 40sMaster form validation in Laravel by ensuring user requests to add products to the cart are accurate, secure, and seamless for a smooth shopping experience.
Persist Our Cart Model
6m 35sLearn how to persist your cart model in the database with Laravel, ensuring users’ carts are saved securely and seamlessly across sessions.
Persist the Cart Items
1m 52sLearn how to persist cart items seamlessly, ensuring users’ selections stay saved. Boost your e-commerce app’s reliability with this friendly Laracasts guide!
Add to Cart Success Notification
1m 45sShow a clear success notification when items are added to your cart. Learn how to enhance user feedback and boost engagement in this Laracasts tutorial!
Cart Navigation Menu and Counter
4m 52sAdd a dynamic Cart to your navigation menu and display the item count effortlessly. Enhance your user experience with this practical Laracasts tutorial!
Create the Cart Page
4m 39sBuild a user-friendly cart page in Laravel where shoppers can easily review their selected items. Follow along to enhance your e-commerce app’s experience!
Delete Cart Items and Merge Variants
4m 53sLearn how to add delete functionality to your cart and merge variant quantities seamlessly, creating a smoother, more user-friendly shopping experience!
Incrementing and Decrementing Cart Quantities
3m 37sAdd easy increment and decrement controls to your Laravel cart, letting users update item quantities smoothly for a better shopping experience.
Finalizing Our Cart
11m 37sEnhance your shopping cart by displaying prices and totals clearly. Follow along to create a user-friendly, polished cart experience in Laravel!
Session Cart to User Cart Migration
5m 54sLearn how to seamlessly merge a session-based cart into a user cart in Laravel, ensuring a smooth shopping experience and preserving user data effortlessly!
Accepting Payments (8)
Stripe Setup
2m 7sGet started with Stripe in Laravel! Learn how to sign up and install Stripe’s CLI tool to streamline your payment integration quickly and easily.
Cashier Setup and Stripe CLI Local Webhooks
5m 10sInstall Laravel Cashier and use Stripe CLI to receive local webhooks—test payments and webhook handling quickly in your dev environment.
Enable Automatic Tax Collection
1m 8sEnable automatic tax collection with Stripe—follow a step-by-step setup to calculate and manage taxes for your transactions.
Create a Stripe Checkout Session
10m 19sCreate a Stripe Checkout session to securely accept card payments, learn server and client steps to launch checkout fast.
Collect a Shipping Address During Checkout
1m 44sCollect shipping addresses during Stripe checkout: configure capture of customer address at payment to ensure accurate delivery and fewer errors.
A First Look at the Checkout Success Object
3m 59sExplore Stripe's Checkout Success object: inspect webhook payloads, learn to listen for events, and handle completed checkouts confidently.
Handle a Checkout Success Webhook
11m 49sLearn to process Stripe Checkout success webhooks: validate events, fetch payment data, and store results in your database confidently.
Empty the User's Cart After a Successful Payment
1m 47sAutomatically clear a user's cart after successful payment to prevent duplicate orders, keep data consistent, and improve UX.
Order Details (6)
Prepare the Order Confirmation Page
6m 2sCreate a clear order confirmation page to inform customers of payment status, receipts, and next steps - improve UX and trust.
Deliver the Order Confirmation Email
11m 50sSend order confirmation emails after payment: implement notification, templates, and delivery to reassure customers and reduce support.
Use Markdown to Render a Table
2m 48sLearn how to render tables using Markdown instead of HTML. Follow this friendly Laracasts tutorial to simplify your code and enhance readability.
Add a Button to View the Order
3m 58sAdd a button to your confirmation emails that links customers directly to their order page. Learn how to enhance user experience with this Laracasts tutorial.
Prepare an Order Details Page
11m 17sBuild a dynamic order details page to display each customer’s orders clearly. Follow this friendly Laracasts tutorial to enhance your Laravel app’s user experience.
Send an Abandoned Cart Email to the Customer
9m 40sLearn to send abandoned cart reminder emails and schedule cleanup of inactive carts. Boost sales and keep your Laravel app tidy with this Laracasts tutorial.




