laravel-vue-ecommerce/
├── app/
│   ├── Http/
│   │   ├── Controllers/
│   │   │   ├── Api/
│   │   │   │   ├── Admin/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── ProductController.php
│   │   │   │   │   ├── OrderController.php
│   │   │   │   │   ├── CustomerController.php
│   │   │   │   │   ├── CouponController.php
│   │   │   │   │   ├── CategoryController.php
│   │   │   │   │   ├── BrandController.php
│   │   │   │   │   └── ReportController.php
│   │   │   │   ├── AuthController.php
│   │   │   │   ├── ProductController.php
│   │   │   │   ├── CategoryController.php
│   │   │   │   ├── CartController.php
│   │   │   │   ├── CheckoutController.php
│   │   │   │   ├── OrderController.php
│   │   │   │   ├── ReviewController.php
│   │   │   │   └── WishlistController.php
│   │   │   └── Controller.php
│   │   └── Middleware/
│   │       └── AdminMiddleware.php
│   ├── Models/
│   │   ├── User.php
│   │   ├── Product.php
│   │   ├── Category.php
│   │   ├── Brand.php
│   │   ├── ProductImage.php
│   │   ├── ProductVariant.php
│   │   ├── Review.php
│   │   ├── Customer.php
│   │   ├── Address.php
│   │   ├── Order.php
│   │   ├── OrderItem.php
│   │   ├── Coupon.php
│   │   └── Wishlist.php
│   └── Console/
│       └── Kernel.php
├── database/
│   ├── migrations/
│   │   ├── 2024_01_01_000001_create_users_table.php
│   │   ├── 2024_01_01_000002_create_customers_table.php
│   │   ├── 2024_01_01_000003_create_categories_table.php
│   │   ├── 2024_01_01_000004_create_brands_table.php
│   │   ├── 2024_01_01_000005_create_products_table.php
│   │   ├── 2024_01_01_000006_create_product_images_table.php
│   │   ├── 2024_01_01_000007_create_product_variants_table.php
│   │   ├── 2024_01_01_000008_create_reviews_table.php
│   │   ├── 2024_01_01_000009_create_addresses_table.php
│   │   ├── 2024_01_01_000010_create_orders_table.php
│   │   ├── 2024_01_01_000011_create_order_items_table.php
│   │   ├── 2024_01_01_000012_create_coupons_table.php
│   │   ├── 2024_01_01_000013_create_wishlists_table.php
│   │   └── 2024_01_01_000014_create_newsletters_table.php
│   └── seeders/
│       ├── DatabaseSeeder.php
│       ├── UserSeeder.php
│       ├── CategorySeeder.php
│       └── ProductSeeder.php
├── resources/
│   ├── js/
│   │   ├── app.js
│   │   ├── router/
│   │   │   └── index.js
│   │   ├── store/
│   │   │   ├── index.js
│   │   │   ├── cart.js
│   │   │   ├── auth.js
│   │   │   └── product.js
│   │   ├── components/
│   │   │   ├── Layout/
│   │   │   │   ├── App.vue
│   │   │   │   ├── Header.vue
│   │   │   │   ├── Footer.vue
│   │   │   │   ├── MobileMenu.vue
│   │   │   │   └── Breadcrumbs.vue
│   │   │   ├── Home/
│   │   │   │   ├── HomePage.vue
│   │   │   │   ├── HeroSlider.vue
│   │   │   │   ├── FeaturedProducts.vue
│   │   │   │   ├── NewArrivals.vue
│   │   │   │   ├── Bestsellers.vue
│   │   │   │   ├── CategoriesGrid.vue
│   │   │   │   ├── PromotionalBanner.vue
│   │   │   │   └── Newsletter.vue
│   │   │   ├── Product/
│   │   │   │   ├── ProductList.vue
│   │   │   │   ├── ProductDetails.vue
│   │   │   │   ├── ProductCard.vue
│   │   │   │   ├── ProductFilters.vue
│   │   │   │   ├── ProductGallery.vue
│   │   │   │   ├── ProductReviews.vue
│   │   │   │   ├── RelatedProducts.vue
│   │   │   │   └── ProductSearch.vue
│   │   │   ├── Cart/
│   │   │   │   ├── CartPage.vue
│   │   │   │   ├── CartItem.vue
│   │   │   │   ├── CartSummary.vue
│   │   │   │   └── CouponForm.vue
│   │   │   ├── Checkout/
│   │   │   │   ├── CheckoutPage.vue
│   │   │   │   ├── ShippingForm.vue
│   │   │   │   ├── PaymentForm.vue
│   │   │   │   ├── OrderSummary.vue
│   │   │   │   └── CheckoutSuccess.vue
│   │   │   ├── Auth/
│   │   │   │   ├── Login.vue
│   │   │   │   ├── Register.vue
│   │   │   │   ├── ForgotPassword.vue
│   │   │   │   └── ResetPassword.vue
│   │   │   ├── Customer/
│   │   │   │   ├── CustomerDashboard.vue
│   │   │   │   ├── CustomerProfile.vue
│   │   │   │   ├── CustomerOrders.vue
│   │   │   │   ├── CustomerOrderDetails.vue
│   │   │   │   ├── CustomerAddresses.vue
│   │   │   │   ├── WishlistPage.vue
│   │   │   │   └── ChangePassword.vue
│   │   │   ├── Admin/
│   │   │   │   ├── AdminLayout.vue
│   │   │   │   ├── AdminDashboard.vue
│   │   │   │   ├── AdminProducts.vue
│   │   │   │   ├── AdminProductForm.vue
│   │   │   │   ├── AdminOrders.vue
│   │   │   │   ├── AdminOrderDetails.vue
│   │   │   │   ├── AdminCustomers.vue
│   │   │   │   ├── AdminCoupons.vue
│   │   │   │   ├── AdminCategories.vue
│   │   │   │   ├── AdminBrands.vue
│   │   │   │   └── AdminReports.vue
│   │   │   ├── Static/
│   │   │   │   ├── AboutPage.vue
│   │   │   │   ├── ContactPage.vue
│   │   │   │   ├── TermsPage.vue
│   │   │   │   └── PrivacyPage.vue
│   │   │   └── Common/
│   │   │       ├── Loading.vue
│   │   │       ├── Alert.vue
│   │   │       ├── Modal.vue
│   │   │       ├── Pagination.vue
│   │   │       └── Rating.vue
│   │   ├── composables/
│   │   │   ├── useCart.js
│   │   │   ├── useAuth.js
│   │   │   ├── useProduct.js
│   │   │   └── useWishlist.js
│   │   └── utils/
│   │       ├── axios.js
│   │       ├── formatter.js
│   │       └── validator.js
│   └── views/
│       └── welcome.blade.php
├── routes/
│   ├── web.php
│   ├── api.php
│   └── admin.php
├── public/
│   ├── index.php
│   ├── css/
│   ├── js/
│   └── images/
├── .env
└── package.json