Ecommerce built using laravel 9, vue 3, inertia.js and stripe to make payments.
I developed the project using a TDD approach.
Each user can view the products for sale and apply filters on them.
It is possible to search for a product by name, filter the results by category or by price, all without refreshing the page.
It is also possible to sort the results by price or by "best sellers".
filter-demo.mp4
Once logged in, the user can add the products to his cart, or save them in his whishlist.
When the user clicks the payment button, he is redirected to the payment page provided by stripe.
When the user enters his data and makes the payment, he is redirected to a purchase confirmation page.
purchase-demo.mp4
From the dashboard a registered user can summarize his purchases, view how many orders he has placed in a period of time, how much he has spent on average, etc. He can also view his orders in detail and update his profile information (username and password).