Skip to main content

React Laravel 12 Ecommerce App | Product, Cart & Checkout Page UI Design (Part 3)

  Welcome to Part 3 of the React Laravel 12 Ecommerce App Tutorial Series πŸ›’πŸš€ In this video, we’ll design the Product Page, Cart Page, and Checkout Page UI for our Ecommerce application using React JS frontend. These pages are essential for creating a complete online store where users can view products, add them to cart, and proceed to checkout. πŸ”₯ What you’ll learn in this video: ✅ Design a Product Page UI with product details layout ✅ Create a Cart Page UI to show added products ✅ Build a Checkout Page UI for order summary & payment flow ✅ Structure pages for future backend API integration (Laravel 12) ✅ Build responsive and clean ecommerce pages using React  Watch the video: πŸ‘‰ Trash Icon : <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" className="bi bi-trash3" viewBox="0 0 16 16"> <path d="M6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5M11 2.5v-1A1.5 1.5 0 0 0 9.5...

React Laravel 12 Ecommerce App | Home & Shop Page UI Design (Part 2)

 Welcome to Part 2 of the React Laravel 12 Ecommerce App Tutorial Series πŸ›’πŸš€

In this video, we’ll design the Home Page and Shop Page UI for our Ecommerce application using React JS frontend. This is the first step in building a user-friendly Ecommerce store, where users will be able to browse products easily.

πŸ”₯ What you’ll learn in this video:

✅ Design a modern Home page for Ecommerce App
✅ Create a Shop page layout with product grid
✅ Build responsive UI using React components
✅ Setup structure for showing dynamic product data later
✅ Prepare frontend for API integration with Laravel backend

 Watch the video:


πŸ‘‰ Google Font:


@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,
opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

πŸ‘‰ Global Variables:

$primary-font: "DM Sans", sans-serif;
$primary-white: #FFF;
$primary-color: #43c3D1;
$primary-black: #061123;
$secondary-color:#0284FF;
$tertiary-color:#2F4858;


πŸ‘‰ CSS:

body{
    font-family: $primary-font;
    font-size: 1em;
    color: $primary-black;
    font-weight: 500;
}

h1{
    font-size: 2.5em;
}

h2{
    font-size: 2em;
}

h3{
    font-size: 1.3em;
}

h4{
    font-size: 1em;
}

a{
    text-decoration: none;
    color: $primary-black;
    &::hover{
        color: $primary-color;
    }
}

.primary-text{
    color: $primary-color ;
}

.secondary-text{
    color: $secondary-color ;
}


ul{
    padding-left: 0;
    li{
        list-style: none;
    }
}

.container{
    max-width: 1540px;
}

.btn{
    &.btn-size{
        background-color: rgba($primary-black, 0.03);
        border-color: rgba($primary-black, 0.05);
        padding: 7px 15px;
        &.active{
            border-color:  rgba($primary-black, 0.20);;
        }
        &:hover{
            border-color:  rgba($primary-black, 0.20);;
            color: $primary-black;
        }
    }
    &.btn-primary{
        background-color: $primary-color;
        border-color: $primary-color;
        padding: 7px 25px;
        &:hover{
            background-color: $primary-black;
            border-color: $primary-black;
            color: $primary-white;
        }
    }

    &.btn-secondary{
        background-color: $primary-black;
        border-color: $primary-black;
        color: $primary-white;
        padding: 7px 25px;
        &:hover{
            background-color: $primary-color;
            border-color: $primary-color;
            color: $primary-white;
        }
    }
}

header{
   

    .navbar-expand-lg{
        .navbar-nav{
            .nav-link{
                padding: 10px 15px;
                font-size: 1.2em;
                font-weight: 500;
                color: $primary-black
            }
        }
    }
}

footer{
    background-color: $tertiary-color;
    h2{
        font-size: 1.5em;
    }
    ul{
        li{
            margin-bottom: 10px;
            a{
                font-size: 1.2em;
                color: $primary-white;
            }
        }
    }

    .spotlight{
        border-top: 1px solid rgba($primary-white, 0.10);
        border-bottom: 1px solid rgba($primary-white, 0.10);
    }
}

.section-1{
    .swiper{
        .swiper-wrapper{
            .swiper-slide{
                height: 650px;
                .content{
                    width: 100%;
                    height: 100%;
                    background-repeat: no-repeat;
                    background-size: cover;
                }
            }
        }
    }
}

.product{
   
    .card-img{
        overflow: hidden;
        border-radius: 10px;
        img{
            border-radius: 10px;
            transition: all 0.3s ease-out;
        }
    }
    &:hover{
        img{
            scale: 1.2;
        }
    }

    .card-body{
        padding: 0;
        a{
            font-size: 1.2em;
            &:hover{
                color: $primary-color;
            }
        }
        .price{
            font-size: 1.2em;
            padding-bottom: 20px;
            span{
                color: rgba($primary-black,0.5);
            }
        }
    }
}


@media (min-width: 200px) and (max-width: 768px){
    .section-1{
        .swiper{
            .swiper-wrapper{
                .swiper-slide{
                    height: 400px;
                }
            }
        }
    }

}


πŸ‘‰ Swiper Slider Main:

<Swiper
            spaceBetween={0}
            slidesPerView={1}          
            breakpoints={{
                1024: {
                    slidesPerView: 1,
                    spaceBetween: 0,
                }
                }}
            >              
                <SwiperSlide>
                    <div className="content" style={{ backgroundImage: `url(${SLiderOneImg})` }}>                        
                    </div>                  
                </SwiperSlide>
                <SwiperSlide>
                    <div className="content" style={{ backgroundImage: `url(${SLiderTwoImg})` }}>                        
                    </div>
                </SwiperSlide>                
            </Swiper>

πŸ‘‰ Account ICON SVG:

<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="currentColor" class="bi bi-person" viewBox="0 0 16 16"><path d="M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6m2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0m4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4m-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10s-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"></path></svg>


πŸ‘‰ Cart ICON SVG:

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="28" fill="currentColor" class="bi bi-bag" viewBox="0 0 16 16"><path d="M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1m3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1z"></path></svg>


πŸ‘‰ Footer Icon 1:

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-truck" viewBox="0 0 16 16"><path d="M0 3.5A1.5 1.5 0 0 1 1.5 2h9A1.5 1.5 0 0 1 12 3.5V5h1.02a1.5 1.5 0 0 1 1.17.563l1.481 1.85a1.5 1.5 0 0 1 .329.938V10.5a1.5 1.5 0 0 1-1.5 1.5H14a2 2 0 1 1-4 0H5a2 2 0 1 1-3.998-.085A1.5 1.5 0 0 1 0 10.5zm1.294 7.456A2 2 0 0 1 4.732 11h5.536a2 2 0 0 1 .732-.732V3.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .294.456M12 10a2 2 0 0 1 1.732 1h.768a.5.5 0 0 0 .5-.5V8.35a.5.5 0 0 0-.11-.312l-1.48-1.85A.5.5 0 0 0 13.02 6H12zm-9 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2m9 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2"></path></svg>


πŸ‘‰ Footer Icon 2:

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-cash" viewBox="0 0 16 16"><path d="M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4"></path><path d="M0 4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V6a2 2 0 0 1-2-2z"></path></svg>

πŸ‘‰ Footer Icon 3:

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-credit-card-2-back" viewBox="0 0 16 16"><path d="M11 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5z"></path><path d="M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm13 2v5H1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1m-1 9H2a1 1 0 0 1-1-1v-1h14v1a1 1 0 0 1-1 1"></path></svg>


πŸ”” Stay Connected

πŸ‘‰ Subscribe to my YouTube Channel for more tutorials.
πŸ‘‰ Follow the full playlist here: React Laravel 12 Ecommerce App
πŸ‘‰ Leave a comment if you face any issue — I’ll help you out πŸ™‚





Comments

Popular posts from this blog

React Laravel 12 Ecommerce App | Product, Cart & Checkout Page UI Design (Part 3)

  Welcome to Part 3 of the React Laravel 12 Ecommerce App Tutorial Series πŸ›’πŸš€ In this video, we’ll design the Product Page, Cart Page, and Checkout Page UI for our Ecommerce application using React JS frontend. These pages are essential for creating a complete online store where users can view products, add them to cart, and proceed to checkout. πŸ”₯ What you’ll learn in this video: ✅ Design a Product Page UI with product details layout ✅ Create a Cart Page UI to show added products ✅ Build a Checkout Page UI for order summary & payment flow ✅ Structure pages for future backend API integration (Laravel 12) ✅ Build responsive and clean ecommerce pages using React  Watch the video: πŸ‘‰ Trash Icon : <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" className="bi bi-trash3" viewBox="0 0 16 16"> <path d="M6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5M11 2.5v-1A1.5 1.5 0 0 0 9.5...

React Laravel 12 Blog App Setup | Frontend & Backend Project + Blog UI Design Tutorial

  Welcome to the React Laravel 12 Blog App Tutorial Series! πŸš€ In this first video, we’ll set up the Blog project (frontend + backend) and start designing the Blog UI step by step. This series is perfect if you want to learn full stack development with React and Laravel 12 by building a real-world blog application. πŸ”₯ What you’ll learn in this video: ✅ Setup Laravel 12 backend project for the Blog App ✅ Create React frontend project for the Blog App ✅ Configure project structure for full stack development ✅ Design clean and responsive Blog UI with React ✅ Prepare backend for CRUD APIs (coming in next videos) By the end of this tutorial, you’ll have a fully functional React + Laravel 12 Blog App setup with a professional UI design ready for backend integration. πŸŽ₯ Watch the Tutorial πŸ“‚ Get the Source Code πŸ‘‰ I am not sharing the source code here. You can get the full project code (React components + Laravel API code) from my main playlist post: πŸ‘‰ React + Laravel Blog App ...