Cart popup
Cart trượt bên phải giúp theo dõi số lượng và giá tiền.
Landing page tĩnh giới thiệu cửa hàng nông sản sạch tích hợp slide danh mục SwiperJS, hiệu ứng giỏ hàng trượt và phần phản hồi khách hàng.
Hiển thị nhóm trái cây, rau củ và giỏ quà bằng SwiperJS.
Cart trượt bên phải giúp theo dõi số lượng và giá tiền.
Khu vực review dạng slider tạo cảm giác đáng tin cậy.
Tách trái cây, rau củ, hạt và combo để người xem scan sản phẩm nhanh.
Hero truyền tải cửa hàng bán gì, vì sao đáng tin và hành động tiếp theo là gì.
Xử lý menu, popup, slider và event bằng JavaScript thuần để luyện nền tảng.
Layout thích nghi mobile/desktop cho một cửa hàng nhỏ có nhiều ảnh sản phẩm.
Hiển thị phương thức thanh toán như một tín hiệu tin cậy trong flow mua hàng.
Hiển thị nhóm trái cây, rau củ và giỏ quà bằng SwiperJS.
Cart trượt bên phải giúp theo dõi số lượng và giá tiền.
Khu vực review dạng slider tạo cảm giác đáng tin cậy.
Tách trái cây, rau củ, hạt và combo để người xem scan sản phẩm nhanh.
Hero truyền tải cửa hàng bán gì, vì sao đáng tin và hành động tiếp theo là gì.
Xử lý menu, popup, slider và event bằng JavaScript thuần để luyện nền tảng.
Layout thích nghi mobile/desktop cho một cửa hàng nhỏ có nhiều ảnh sản phẩm.
Hiển thị phương thức thanh toán như một tín hiệu tin cậy trong flow mua hàng.
Dự án được làm để luyện cách dựng một trang bán hàng có nhịp sản phẩm rõ, không chỉ là landing page giới thiệu.
Một cửa hàng trái cây cần hiển thị nhiều mặt hàng, combo, review và tín hiệu thanh toán để người xem có cảm giác có thể mua ngay.
Ở giai đoạn này tôi cố ý làm static để luyện DOM, responsive, slider, cart popup và tổ chức asset trước khi sang e-commerce fullstack.
Repo có nhiều ảnh trái cây, rau củ, hạt, combo, giỏ quà và review, giúp giao diện có nội dung thật để xử lý layout.
HTML5, CSS3, JavaScript và SwiperJS phù hợp để làm slider/catalog mà không cần framework.
Project cho thấy quá trình đi từ static storefront lên FruitHub fullstack, giúp đường phát triển năng lực rõ hơn.
Dự án được làm để luyện cách dựng một trang bán hàng có nhịp sản phẩm rõ, không chỉ là landing page giới thiệu.
Một cửa hàng trái cây cần hiển thị nhiều mặt hàng, combo, review và tín hiệu thanh toán để người xem có cảm giác có thể mua ngay.
Ở giai đoạn này tôi cố ý làm static để luyện DOM, responsive, slider, cart popup và tổ chức asset trước khi sang e-commerce fullstack.
Repo có nhiều ảnh trái cây, rau củ, hạt, combo, giỏ quà và review, giúp giao diện có nội dung thật để xử lý layout.
HTML5, CSS3, JavaScript và SwiperJS phù hợp để làm slider/catalog mà không cần framework.
Project cho thấy quá trình đi từ static storefront lên FruitHub fullstack, giúp đường phát triển năng lực rõ hơn.
Cửa hàng có nhiều nhóm hàng nên nếu không chia category/slider, người xem sẽ khó scan và trang dễ dài vô tổ chức.
Dù chưa có backend, cart popup vẫn cần tạo cảm giác flow mua hàng: thêm sản phẩm, xem số lượng và quay lại catalog.
Ảnh sản phẩm nhiều kích thước dễ làm vỡ grid hoặc tràn text trên mobile nếu không kiểm soát layout.
Static site không có dữ liệu thật nên khu vực review/visual payment cần đóng vai trò social proof.
Menu, popup và slider nếu viết rời rạc sẽ khó bảo trì; cần tách event theo chức năng.
Điểm mạnh là UI/interaction/static deploy, không phải order/payment thật.
Cửa hàng có nhiều nhóm hàng nên nếu không chia category/slider, người xem sẽ khó scan và trang dễ dài vô tổ chức.
Dù chưa có backend, cart popup vẫn cần tạo cảm giác flow mua hàng: thêm sản phẩm, xem số lượng và quay lại catalog.
Ảnh sản phẩm nhiều kích thước dễ làm vỡ grid hoặc tràn text trên mobile nếu không kiểm soát layout.
Static site không có dữ liệu thật nên khu vực review/visual payment cần đóng vai trò social proof.
Menu, popup và slider nếu viết rời rạc sẽ khó bảo trì; cần tách event theo chức năng.
Điểm mạnh là UI/interaction/static deploy, không phải order/payment thật.
Tôi chia sản phẩm thành trái cây, rau củ, hạt, combo và giỏ quà để người xem scan nhanh hơn.
Tôi dùng SwiperJS cho product/review slider để tạo chuyển động có mục đích, tránh trang tĩnh quá phẳng.
Tôi tạo cart trượt bên phải để mô phỏng bước xem giỏ hàng mà không rời trang.
Tôi luyện event handling cho menu, popup, slider control và interaction thay vì dựa vào framework.
Tôi kiểm tra layout với nhiều ảnh sản phẩm khác nhau để tránh card méo, tràn hoặc mất cân bằng.
Tôi đưa review và payment visual vào trang để mô phỏng tín hiệu tin cậy của một cửa hàng online.
Tôi chia sản phẩm thành trái cây, rau củ, hạt, combo và giỏ quà để người xem scan nhanh hơn.
Tôi dùng SwiperJS cho product/review slider để tạo chuyển động có mục đích, tránh trang tĩnh quá phẳng.
Tôi tạo cart trượt bên phải để mô phỏng bước xem giỏ hàng mà không rời trang.
Tôi luyện event handling cho menu, popup, slider control và interaction thay vì dựa vào framework.
Tôi kiểm tra layout với nhiều ảnh sản phẩm khác nhau để tránh card méo, tràn hoặc mất cân bằng.
Tôi đưa review và payment visual vào trang để mô phỏng tín hiệu tin cậy của một cửa hàng online.
Dự án có hero, catalog, cart popup, review, payment visual và responsive layout.
Project chứng minh tôi hiểu event, popup, slider và layout trước khi chuyển sang React.
Người xem có thể thấy ngay đây là bước học e-commerce UI, không bị mô tả mơ hồ như 'web bán hàng'.
Cart chưa lưu server, không có auth/order/payment; đây là UI prototype cho cửa hàng nhỏ.
Dự án tạo nền để sau đó tôi nâng cấp tư duy sang FruitHub có backend, order, admin và Cloudinary.
Có thể thêm localStorage cart, form contact thật, tối ưu ảnh và Lighthouse audit để tăng độ hoàn thiện.
Tôi học được giới hạn của static e-commerce: UI có thể mô phỏng flow, nhưng để xử lý order/user/admin thật thì cần backend và database.
Dự án giúp tôi rèn cảm giác layout, spacing và chuyển động UI trước khi bước sang React/Node ở các sản phẩm lớn hơn.
Dự án có hero, catalog, cart popup, review, payment visual và responsive layout.
Project chứng minh tôi hiểu event, popup, slider và layout trước khi chuyển sang React.
Người xem có thể thấy ngay đây là bước học e-commerce UI, không bị mô tả mơ hồ như 'web bán hàng'.
Cart chưa lưu server, không có auth/order/payment; đây là UI prototype cho cửa hàng nhỏ.
Dự án tạo nền để sau đó tôi nâng cấp tư duy sang FruitHub có backend, order, admin và Cloudinary.
Có thể thêm localStorage cart, form contact thật, tối ưu ảnh và Lighthouse audit để tăng độ hoàn thiện.
Tôi học được giới hạn của static e-commerce: UI có thể mô phỏng flow, nhưng để xử lý order/user/admin thật thì cần backend và database.
Dự án giúp tôi rèn cảm giác layout, spacing và chuyển động UI trước khi bước sang React/Node ở các sản phẩm lớn hơn.
Mỗi màn hình đi kèm phần mô tả chi tiết để làm rõ luồng hoạt động và trải nghiệm người dùng thực tế.

image
Ảnh này dùng làm bằng chứng cho flow Cái Tiệm Trái Cây. Màn hình "image" giúp giải thích rõ trạng thái UI, dữ liệu hiển thị và thao tác người dùng ở bước đó.

image copy
Ảnh này dùng làm bằng chứng cho flow Cái Tiệm Trái Cây. Màn hình "image copy" giúp giải thích rõ trạng thái UI, dữ liệu hiển thị và thao tác người dùng ở bước đó.

image copy 2
Ảnh này dùng làm bằng chứng cho flow Cái Tiệm Trái Cây. Màn hình "image copy 2" giúp giải thích rõ trạng thái UI, dữ liệu hiển thị và thao tác người dùng ở bước đó.

image copy 3
Ảnh này dùng làm bằng chứng cho flow Cái Tiệm Trái Cây. Màn hình "image copy 3" giúp giải thích rõ trạng thái UI, dữ liệu hiển thị và thao tác người dùng ở bước đó.
Xem toàn bộ mã nguồn trên GitHub hoặc mở bản demo hoạt động thực tế.
Tôi đang tìm kiếm những thử thách mới và cơ hội hợp tác. Nếu bạn có câu hỏi hoặc chỉ muốn chào hỏi, tôi sẽ phản hồi sớm nhất có thể.