Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh chuyển đổi số và thương mại điện tử phát triển mạnh mẽ, nhu cầu mua sắm trực tuyến của người tiêu dùng ngày càng gia tăng. Sự bùng nổ của các nền tảng bán lẻ kéo theo sự mở rộng nhanh chóng của danh mục hàng hóa, dẫn đến tình trạng người dùng gặp nhiều trở ngại khi tìm kiếm sản phẩm phù hợp. Phương thức tìm kiếm truyền thống qua từ khóa văn bản bộc lộ hạn chế lớn khi khách hàng không nhớ chính xác tên gọi, mã sản phẩm hoặc gặp khó khăn trong việc mô tả hình thái thiết bị. Đối với các mặt hàng công nghệ, việc xử lý và khai thác thông tin từ hàng triệu hình ảnh đòi hỏi một cơ chế tự động, chính xác nhằm nâng cao trải nghiệm người dùng và hỗ trợ doanh nghiệp quản lý hiệu quả nguồn lực.
Đề tài khóa luận tốt nghiệp "Xây dựng hệ thống kinh doanh thiết bị điện tử & ứng dụng học sâu truy xuất hình ảnh dựa trên nội dung" của sinh viên Nguyễn Thành Phương (chuyên ngành Công nghệ phần mềm, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, mã số SKL012233) được xây dựng nhằm giải quyết các yêu cầu thực tiễn trên.
Nhiệm vụ nghiên cứu được văn bản phân định thành hai nhóm chính:
- Nhiệm vụ lý thuyết:
- Tìm hiểu các công nghệ phát triển phần mềm gồm Spring Framework, Hibernate, Thymeleaf, Redis, Elasticsearch, MySQL, các dịch vụ điện toán đám mây Amazon Web Services (AWS), nền tảng PaaS Heroku và các dịch vụ tích hợp bên thứ ba (Google reCAPTCHA, Google Charts, PayPal).
- Nghiên cứu cơ sở lý thuyết về thư viện TensorFlow và kỹ thuật truy xuất hình ảnh dựa trên nội dung (Content-Based Image Retrieval - CBIR).
- Nhiệm vụ thực hành:
- Xây dựng hệ thống kinh doanh trực tuyến hoàn chỉnh bằng Spring Framework, quản lý dữ liệu qua Hibernate và MySQL/AWS RDS.
- Ứng dụng Redis làm bộ nhớ đệm (caching) và Elasticsearch làm công cụ tìm kiếm toàn văn (full-text search).
- Xây dựng giao diện website bằng View Template Engine Thymeleaf kết hợp Bootstrap và jQuery.
- Tích hợp các dịch vụ hỗ trợ: thanh toán trực tuyến qua PayPal, chống tự động hóa qua Google reCAPTCHA, thống kê báo cáo qua Google Charts, giám sát thời gian thực qua WebSocket.
- Xây dựng hệ sinh thái học sâu riêng biệt bằng Flask và TensorFlow để thực hiện trích xuất đặc trưng và tìm kiếm hình ảnh tương đồng.
Về đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Các quy trình nghiệp vụ thương mại điện tử, các giải pháp kiến trúc phần mềm hướng dịch vụ và các thuật toán học máy, học sâu ứng dụng trong phân tích, trích xuất đặc trưng hình ảnh.
- Phạm vi nghiên cứu: Hệ thống website thương mại điện tử đa dụng tập trung vào nhóm sản phẩm thiết bị điện tử, có khả năng tùy biến và mở rộng danh mục; phạm vi thời gian thực hiện kéo dài trong 12 tháng (từ ngày 01/01/2023 đến ngày 01/01/2024).
Cơ sở lý thuyết và phương pháp nghiên cứu
Khóa luận kết hợp nền tảng kỹ thuật công nghệ phần mềm doanh nghiệp và thị giác máy tính ứng dụng:
- Cơ sở lý thuyết phần mềm: Mô hình kiến trúc phân tầng kết hợp mẫu kiến trúc Model-View-Controller (MVC); các mẫu thiết kế phần mềm hướng đối tượng (Design Patterns) gồm Singleton, Builder, Strategy và Template Method; cơ chế xác thực và phân quyền dựa trên vai trò (Role-Based Access Control - RBAC) và giao thức xác thực mở OAuth2; chiến lược lưu trữ đệm Read-Through.
- Cơ sở lý thuyết thị giác máy tính: Kỹ thuật truy xuất hình ảnh dựa trên nội dung (CBIR), phân tích dữ liệu trực quan dựa trên các đặc trưng cấp thấp (màu sắc trong không gian màu RGB, Munsell, CIE, HSV; kết cấu bề mặt qua các texel; hình dạng hình học) kết hợp mô hình mạng nơ-ron tích chập sâu (ResNet101V2 và VGG16) để biểu diễn ảnh thành vector đặc trưng số học.
- Phương pháp nghiên cứu:
- Phương pháp phân tích và tổng hợp lý thuyết: Khảo sát tài liệu kỹ thuật về các module của Spring Framework, kiến trúc phân tán và các bài báo khoa học về CBIR.
- Phương pháp mô hình hóa: Sử dụng lược đồ ca sử dụng (Use Case Diagram), lược đồ tuần tự (Sequence Diagram) và lược đồ quan hệ thực thể (ERD) để phân tích yêu cầu nghiệp vụ.
- Phương pháp phát triển hướng kiểm thử (Test-Driven Development - TDD): Thiết lập kịch bản kiểm thử đơn vị trước khi viết mã nguồn bằng các framework JUnit, AssertJ và Mockito.
- Phương pháp thực nghiệm: Huấn luyện mô hình trích xuất đặc trưng hình ảnh bằng TensorFlow, đóng gói dịch vụ tìm kiếm tương đồng trên nền tảng Flask và tích hợp với hệ thống Spring Boot qua giao thức HTTP/RESTful API.
- Nguồn dữ liệu: Dữ liệu mẫu về danh mục thiết bị điện tử, thông tin người dùng, đơn hàng và kho hình ảnh sản phẩm được số hóa, chuẩn hóa để phục vụ thử nghiệm hệ thống quản lý và trích xuất chỉ mục hình ảnh.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo kiến trúc N-Tier Layer kết hợp mô hình MVC, tách biệt các tầng giao diện (Presentation Layer), tầng điều khiển (Controller Layer), tầng xử lý nghiệp vụ (Service Layer) và tầng truy xuất dữ liệu (Data Access Layer).
Nhằm đáp ứng yêu cầu linh hoạt và tối ưu chi phí, tác giả phân chia kiến trúc triển khai thành hai môi trường rõ rệt:
| Thành phần |
Môi trường phát triển (Development) |
Môi trường vận hành (Production) |
| Ứng dụng chính |
Spring Boot, JDK, Tomcat cục bộ |
PaaS Heroku Container |
| Cơ sở dữ liệu quan hệ |
MySQL cục bộ |
AWS RDS (Amazon Relational Database Service) |
| Lưu trữ tệp và ảnh |
Ổ đĩa cục bộ |
AWS S3 (Simple Storage Service) |
| Lưu trữ đệm & Message Broker |
Redis cục bộ |
Redis Cloud / In-memory Store |
| Công cụ tìm kiếm |
Elasticsearch cục bộ |
Elasticsearch Service |
| Dịch vụ Học sâu (CBIR) |
Flask API / TensorFlow cục bộ |
Flask API độc lập kết nối qua RESTful API |
Các mẫu thiết kế phần mềm (Design Patterns) được triển khai cụ thể:
| Mẫu thiết kế |
Thành phần triển khai trong văn bản |
Mục đích kỹ thuật |
| Singleton |
ContextProvider (triển khai ApplicationContextAware) |
Cung cấp điểm truy cập toàn cục duy nhất đến Spring Container để lấy các Bean. |
| Builder |
Thư viện Lombok với chú thích @Builder trên các lớp Entity/Model (Product) |
Khởi tạo các đối tượng dữ liệu phức tạp theo từng thuộc tính một cách rõ ràng. |
| Strategy |
IReCaptchaService, AbstractReCaptchaService, ReCaptchaServiceV2, ReCaptchaServiceV3 |
Đóng gói thuật toán xác thực Google reCAPTCHA, cho phép hoán đổi giữa phiên bản v2 và v3. |
| Template Method |
AbstractReportService với phương thức trừu tượng getReportDataByDateRangeInternal |
Định nghĩa khung tạo báo cáo chung, các lớp con (MasterOrderReportService, OrderDetailReportService) ghi đè chi tiết trích xuất dữ liệu. |
Chiến lược bộ nhớ đệm (Caching) áp dụng mô hình Read-Through: Khi có yêu cầu, hệ thống truy vấn bộ đệm Redis trước; nếu dữ liệu tồn tại (Cache Hit), trả về kết quả ngay lập tức; nếu không tồn tại (Cache Miss), hệ thống đọc từ cơ sở dữ liệu MySQL/AWS RDS, cập nhật lại vào Redis và trả kết quả cho tầng giao diện.
Quy trình phát triển và kiểm thử áp dụng nghiêm ngặt mô hình TDD: viết ca kiểm thử trước bằng JUnit để định hình hành vi phương thức, dùng AssertJ để đơn giản hóa các mệnh đề xác nhận logic (assertions fluent interface), và dùng Mockito để mô phỏng (mocking) các phụ thuộc độc lập, tránh tạo dữ liệu rác vào cơ sở dữ liệu thực nghiệm.
Nội dung chính theo từng chương
Chương 1. Thiết kế hệ thống
Chương 1 trình bày tổng quan cấu trúc kiến trúc ứng dụng, phân tích mô hình N-Tier kết hợp MVC và mô tả chi tiết sơ đồ hệ thống trên môi trường phát triển lẫn vận hành. Tác giả làm rõ cơ sở lý thuyết và cách thức hiện thực hóa 4 mẫu thiết kế: Singleton, Builder, Strategy và Template Method. Về chiến lược Caching, chương phân tích ưu nhược điểm của cơ chế Read-Through (giản lược logic ứng dụng, dễ mở rộng quy mô đọc nhưng phụ thuộc plugin truy cập cơ sở dữ liệu).
Chương cũng liệt kê hệ sinh thái công nghệ được sử dụng: Spring Data JPA (quản lý quan hệ đối tượng ORM qua JPQL), Spring Security (bảo vệ CSRF, XSS, mã hóa mật khẩu BCrypt), Spring OAuth2 (quy trình 6 bước xác thực ủy quyền với Google Authorization Server), Spring Quartz (lên lịch tác vụ nền), hệ quản trị MySQL, Redis, Elasticsearch, Thymeleaf, jQuery, Bootstrap, các dịch vụ AWS S3, AWS RDS, Heroku, cổng thanh toán PayPal Checkout, Google reCAPTCHA, Google Charts, thư viện TensorFlow và kỹ thuật CBIR (phân tích đặc trưng màu sắc, kết cấu texel và hình dạng đối tượng).
Chương 2. Khảo sát hiện trạng và mô hình hoá yêu cầu
Chương 2 tập trung vào việc nghiên cứu thực trạng vận hành của các mô hình kinh doanh bán lẻ trực tuyến nhằm xác định các khoảng trống về trải nghiệm tìm kiếm và xử lý đơn hàng. Tác giả phân loại yêu cầu hệ thống thành hai nhóm:
- Yêu cầu chức năng: Quản lý đăng ký, xác thực tài khoản qua email, đăng nhập thông thường và OAuth2, khôi phục mật khẩu, phân quyền quản trị, quản lý danh mục sản phẩm, nhãn hàng, quản lý kho, giỏ hàng, đặt hàng, xử lý tỷ giá vận chuyển, thanh toán trực tuyến, hoàn trả đơn hàng, quản lý đánh giá và câu hỏi sản phẩm, thống kê doanh thu và tìm kiếm sản phẩm bằng hình ảnh.
- Yêu cầu phi chức năng: Đảm bảo tính bảo mật (mã hóa dữ liệu, chống tấn công tự động, kiểm soát phiên đăng nhập), độ trễ truy xuất thấp thông qua Redis cache, khả năng mở rộng của thanh tìm kiếm qua Elasticsearch và tính sẵn sàng cao trên nền tảng điện toán đám mây.
Toàn bộ các yêu cầu được chuẩn hóa bằng lược đồ Use Case tổng quát và các Use Case chi tiết: đăng ký tài khoản, đăng nhập, khôi phục mật khẩu, thay đổi thông tin tài khoản, thay đổi mật khẩu, đăng xuất, các ca sử dụng quản lý (thêm, chỉnh sửa, xóa dữ liệu).
Chương 3. Thiết kế phần mềm
Chương 3 trình bày thiết kế kỹ thuật chi tiết của hệ thống phần mềm thông qua hệ thống lược đồ tuần tự, thiết kế cơ sở dữ liệu và thiết kế giao diện:
- Lược đồ chức năng: Thiết kế chi tiết các luồng xử lý người dùng (tạo mới, kiểm tra trùng lặp email, phân trang, xuất dữ liệu ra file CSV, Excel, PDF), ma trận ủy quyền dựa trên vai trò, phân loại, nhãn hàng, sản phẩm, cài đặt hệ thống (tiền tệ, tiểu vùng, máy chủ gửi thư SMTP, mẫu nội dung mail, tham số cổng thanh toán), quản lý khách hàng, giỏ hàng, tỷ giá vận chuyển, địa chỉ nhận hàng, quy trình đặt hàng và hoàn trả hàng hóa, thanh toán, báo cáo doanh thu theo mốc thời gian/sản phẩm/nhãn hàng, và phân hệ đánh giá/bình chọn sản phẩm.
- Thiết kế cơ sở dữ liệu: Xây dựng lược đồ quan hệ thực thể toàn diện gồm hơn 35 bảng chuyên biệt để kiểm soát dữ liệu:
- Phân hệ định danh và phân quyền:
users, privileges, roles, roles_privileges, users_roles, verification_tokens, password_reset_tokens, user_locations, new_location_tokens, persistent_logins.
- Phân hệ hàng hóa và kho vận:
categories, brands, brands_categories, products, product_images, product_details, countries, states, shipping_rates.
- Phân hệ khách hàng và giao dịch:
customers, addresses, currencies, orders, order_details, order_tracks, shopping_carts, cart_items, wishlists, wishlist_items.
- Phân hệ tương tác và nội dung:
questions, question_votes, reviews, review_votes, resources, resource_bundles, articles, menus, settings, sections, articles_sections, brands_sections, categories_sections, products_sections, questions_sections, reviews_sections.
- Thiết kế giao diện: Trình bày chi tiết giao diện trang quản trị (Admin Dashboard) với các chức năng cấu hình hệ thống, quản lý doanh thu qua Google Charts, giám sát nhật ký; và giao diện trang cửa hàng (Storefront) tối ưu hóa cho người mua hàng.
Chương 4. Ứng dụng học sâu
Chương 4 mô tả giải pháp xây dựng và tích hợp hệ thống trí tuệ nhân tạo phục vụ truy xuất hình ảnh dựa trên nội dung (CBIR):
- Cấu trúc hệ thống học sâu: Dịch vụ xử lý ảnh độc lập được viết bằng Python trên nền tảng Flask, tận dụng mạng nơ-ron học sâu ResNet101V2 (thuộc thư viện TensorFlow) để trích xuất vector đặc trưng cấp cao từ hình ảnh sản phẩm.
- Tích hợp và vận hành: Khi người dùng tải lên một hình ảnh truy vấn trên website, hình ảnh được gửi tới Flask API để xử lý tiền kỳ, chuyển đổi qua mô hình ResNet101V2 nhằm thu được vector biểu diễn số học. Hệ thống tiến hành so sánh khoảng cách giữa vector truy vấn và cơ sở dữ liệu vector đặc trưng của các sản phẩm có sẵn, từ đó trả về danh sách các sản phẩm có độ tương đồng cao nhất hiển thị trực tiếp lên giao diện người dùng.
- Cơ chế tự động hóa: Để giải quyết bài toán đồng bộ hóa dữ liệu khi danh mục sản phẩm thay đổi, hệ thống sử dụng Spring Quartz kết hợp biểu thức Cron (Cron Expression) để thiết lập lịch biểu tự động chạy lại tiến trình trích xuất đặc trưng và cập nhật kho chỉ mục vector theo định kỳ mà không làm gián đoạn hoạt động của website bán hàng.
Chương 5. Cài đặt và kiểm thử
Chương 5 cung cấp tài liệu hướng dẫn triển khai kỹ thuật và quy trình kiểm thử hệ thống:
- Cài đặt và cấu hình: Mô tả các bước nhập dữ liệu mẫu qua MySQL Workbench, cấu hình chuỗi kết nối cơ sở dữ liệu trên môi trường IntelliJ IDEA, thiết lập dịch vụ gửi thư SMTP, tích hợp tài khoản thanh toán PayPal Sandbox, tạo khóa bảo mật Google reCAPTCHA, Google Charts API và kết nối bucket lưu trữ Amazon AWS S3 cùng cơ sở dữ liệu AWS RDS. Triển khai ứng dụng lên Heroku.
- Kiểm thử chương trình: Thiết lập kế hoạch, mục tiêu, tiêu chí và quy trình kiểm nghiệm theo phương pháp TDD. Khóa luận triển khai các kịch bản kiểm thử đơn vị với sự hỗ trợ của JUnit và Mockito, cô lập các tầng dịch vụ để kiểm tra tính chính xác của các logic nghiệp vụ trọng yếu (tính toán đơn hàng, trừ tồn kho, xác thực quyền hạn người dùng).
Kết quả và đóng góp
Khóa luận đã hoàn thành các mục tiêu đề ra với những kết quả cụ thể:
- Xây dựng hoàn chỉnh một hệ thống thương mại điện tử chuyên ngành thiết bị điện tử với kiến trúc phân tầng kết hợp MVC, hỗ trợ quản lý toàn diện các thực thể kinh doanh (người dùng, sản phẩm, kho hàng, danh mục, đơn đặt hàng, tỷ giá vận chuyển, thanh toán trực tuyến và phản hồi của khách hàng).
- Tích hợp thành công mô hình học sâu ResNet101V2 thông qua dịch vụ Flask và TensorFlow, hiện thực hóa tính năng tìm kiếm bằng hình ảnh (CBIR) trực quan cho người tiêu dùng.
- Thiết lập cơ chế tự động hóa việc tái huấn luyện và cập nhật kho vector đặc trưng hình ảnh định kỳ bằng cách kết hợp Spring Quartz với biểu thức Cron.
- Tối ưu hóa hiệu năng hệ thống bằng cách ứng dụng chiến lược bộ đệm Read-Through qua Redis, công cụ tìm kiếm toàn văn Elasticsearch, đồng thời nâng cao độ tin cậy với hệ thống kiểm thử tự động TDD (JUnit, Mockito, AssertJ).
- Hiện thực hóa việc triển khai hệ thống trên môi trường đám mây thực tế, kết hợp PaaS Heroku với các dịch vụ chuyên dụng AWS S3 (lưu trữ ảnh) và AWS RDS (cơ sở dữ liệu quan hệ), tích hợp cổng thanh toán PayPal và bảo mật Google reCAPTCHA.
Về mặt đóng góp khoa học và thực tiễn, đồ án cung cấp một kiến trúc tích hợp mẫu mực giữa hệ thống phần mềm doanh nghiệp viết bằng ngôn ngữ Java (Spring Boot) và dịch vụ xử lý học sâu viết bằng Python (TensorFlow/Flask), giúp giải quyết bài toán tìm kiếm trực quan trong thương mại điện tử quy mô vừa và nhỏ.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận ghi nhận các hạn chế và hướng mở rộng kỹ thuật:
- Hạn chế: Do khối lượng công việc lớn được thực hiện độc lập bởi một sinh viên trong thời gian 12 tháng, một số tính năng nâng cao vẫn đang trong quá trình hoàn thiện; mô hình học sâu CBIR cần tiếp tục được tối ưu hóa về tốc độ tính toán khi tập dữ liệu hình ảnh mở rộng; chi phí duy trì tài nguyên trên các dịch vụ đám mây (AWS, Heroku) cần được cân đối và tối ưu thêm.
- Hướng nghiên cứu tiếp:
- Tiếp thu các ý kiến đánh giá từ hội đồng chấm khóa luận để khắc phục triệt để các vấn đề còn tồn đọng trong mã nguồn và cơ sở dữ liệu.
- Tối ưu hóa thuật toán truy xuất hình ảnh dựa trên nội dung, nghiên cứu các kiến trúc mạng mới hơn nhằm nâng cao độ chính xác và giảm thiểu độ trễ truy vấn.
- Tối ưu chi phí duy trì hạ tầng vận hành trên môi trường đám mây và chuẩn bị các điều kiện cần thiết để đưa phần mềm vào ứng dụng thực tế tại các doanh nghiệp bán lẻ.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo có giá trị chuyên môn đối với sinh viên và lập trình viên ngành Công nghệ phần mềm, Hệ thống thông tin và Khoa học máy tính:
- Tài liệu cung cấp cách tiếp cận thực tế về việc áp dụng các Design Patterns kinh điển (Singleton, Builder, Strategy, Template Method) vào cấu trúc mã nguồn Spring Boot.
- Cung cấp mô hình tham chiếu hoàn chỉnh về thiết kế cơ sở dữ liệu quan hệ quy mô lớn cho hệ thống thương mại điện tử với hơn 35 bảng thực thể được chuẩn hóa.
- Minh họa phương thức kết nối liên ngôn ngữ giữa ứng dụng web nền tảng Java và dịch vụ trí tuệ nhân tạo viết bằng Python qua giao thức RESTful API.
- Cung cấp quy trình kiểm thử tự động theo chuẩn TDD cùng tài liệu hướng dẫn cấu hình chi tiết các dịch vụ hạ tầng phổ biến (AWS S3, RDS, Heroku, PayPal, Redis, Elasticsearch).
Câu hỏi thường gặp
1. Khóa luận sử dụng mô hình học sâu cụ thể nào để thực hiện truy xuất hình ảnh dựa trên nội dung (CBIR)?
Khóa luận sử dụng mạng nơ-ron tích chập ResNet101V2 do thư viện TensorFlow cung cấp (đồng thời có khảo sát mô hình VGG16) để trích xuất các vector đặc trưng số học từ hình ảnh sản phẩm phục vụ so khớp độ tương đồng.
2. Chiến lược lưu trữ đệm (Caching) được triển khai như thế nào trong hệ thống?
Hệ thống sử dụng Redis và áp dụng chiến lược Read-Through. Khi có yêu cầu đọc dữ liệu, hệ thống kiểm tra Redis trước; nếu dữ liệu chưa có, hệ thống sẽ truy vấn từ cơ sở dữ liệu MySQL/AWS RDS, ghi dữ liệu đó vào Redis rồi mới trả kết quả về cho người dùng.
3. Khóa luận áp dụng những mẫu thiết kế phần mềm (Design Patterns) nào và ở các vị trí nào?
Bốn mẫu thiết kế được triển khai gồm: Singleton (lớp ContextProvider để truy cập các Spring Bean), Builder (chú thích @Builder của Lombok cho các lớp dữ liệu như Product), Strategy (xử lý logic linh hoạt giữa các phiên bản Google reCAPTCHA v2 và v3) và Template Method (lớp trừu tượng AbstractReportService định hình thuật toán xuất báo cáo cho các lớp dịch vụ con).
4. Quá trình cập nhật vector đặc trưng hình ảnh của mô hình học sâu được tự động hóa bằng cách nào?
Hệ thống tích hợp thư viện Spring Quartz kết hợp cấu hình biểu thức Cron (Cron Expression) để tự động kích hoạt tiến trình định kỳ gửi yêu cầu tới dịch vụ Flask, tiến hành trích xuất đặc trưng và cập nhật lại kho dữ liệu ảnh mới mà không cần can thiệp thủ công.
5. Kiến trúc triển khai của hệ thống có sự khác biệt như thế nào giữa môi trường phát triển và môi trường vận hành?
Trong môi trường phát triển (Local), hệ thống chạy trên máy chủ cục bộ với MySQL và lưu trữ tệp tin tại chỗ. Khi chuyển sang môi trường vận hành (Production), ứng dụng được đóng gói triển khai trên Heroku, sử dụng cơ sở dữ liệu quan hệ đám mây AWS RDS và lưu trữ hình ảnh trên AWS S3.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Thành Phương đã giải quyết thành công bài toán xây dựng nền tảng kinh doanh thiết bị điện tử hoàn chỉnh, kết hợp kiến trúc N-Tier/MVC của Spring Boot với công nghệ học sâu CBIR sử dụng mô hình ResNet101V2. Đề tài thể hiện năng lực kỹ thuật vững vàng thông qua việc chuẩn hóa hơn 35 bảng cơ sở dữ liệu, áp dụng các mẫu thiết kế hướng đối tượng chuẩn mực và triển khai vận hành thực tế trên nền tảng đám mây AWS và Heroku. Hệ thống không chỉ mang lại giải pháp tìm kiếm sản phẩm trực quan, tiện lợi cho người dùng mà còn là tài liệu tham khảo có giá trị cao về mặt kiến trúc phần mềm tích hợp AI.