Bối cảnh và vấn đề nghiên cứu
Bối cảnh thực tiễn
Trong bối cảnh công nghệ thông tin và mạng Internet phát triển mạnh mẽ, thương mại điện tử (E-Commerce) tại Việt Nam đã trở thành một xu hướng tất yếu của thời đại toàn cầu hóa. Phương thức kinh doanh trực tuyến giúp xóa bỏ các rào cản về không gian địa lý và thời gian làm việc, cho phép người tiêu dùng thực hiện giao dịch mua bán, trao đổi và thanh toán dễ dàng thông qua máy tính hoặc điện thoại thông minh. Đối với các doanh nghiệp, đặc biệt là các đơn vị kinh doanh vừa và nhỏ hoặc hộ gia đình, việc ứng dụng thương mại điện tử mang lại cơ hội chủ động tiếp cận khách hàng trên quy mô toàn quốc, tối ưu hóa chi phí vận hành, quảng bá tiếp thị và gia tăng doanh thu.
Xuất phát từ nhu cầu thực tế của cửa hàng bán lẻ Smartshop trong việc mở rộng kênh phân phối và quản lý hoạt động kinh doanh trực tuyến, đề tài "Xây dựng website bán điện thoại online SmartShop" được thực hiện nhằm giải quyết bài toán xây dựng nền tảng bán hàng số hóa, đồng thời hỗ trợ quản lý kho bãi, đơn hàng và khách hàng một cách hiệu quả.
Mục tiêu và nhiệm vụ nghiên cứu
Đề tài xác định các mục tiêu và nhiệm vụ chính bao gồm:
- Xây dựng hệ thống website thương mại điện tử hoàn chỉnh: Phát triển ứng dụng web bán lẻ điện thoại với giao diện thân thiện, trực quan, tương thích với cả máy tính và thiết bị di động, đảm bảo tốc độ xử lý nhanh, chính xác và an toàn thông tin.
- Hiện thực hóa các chức năng dành cho khách hàng: Cung cấp chức năng tạo tài khoản, đăng nhập, tìm kiếm sản phẩm, xem nhanh thông tin, quản lý giỏ hàng, đặt hàng, bình luận, đánh giá và thanh toán trực tuyến.
- Hiện thực hóa các chức năng dành cho ban quản trị: Xây dựng bảng điều khiển quản lý danh mục, thương hiệu, sản phẩm, đơn hàng, mã giảm giá, phí vận chuyển theo địa bàn hành chính, bài viết tin tức, video, slider quảng cáo, thông tin liên hệ và báo cáo thống kê doanh số/lợi nhuận theo ngày.
- Tích hợp các dịch vụ tiện ích bên ngoài: Kết nối cổng thanh toán trực tuyến Ngân Lượng và tích hợp tiện ích Facebook Messenger nhằm hỗ trợ khách hàng trực tiếp trên hệ thống.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Quy trình nghiệp vụ bán lẻ trực tuyến, các mô hình phân tích thiết kế hệ thống thông tin và các công nghệ phát triển ứng dụng web dựa trên mã nguồn mở.
- Phạm vi ứng dụng: Hệ thống được thiết kế và triển khai áp dụng cho mô hình kinh doanh bán lẻ quy mô nhỏ (cá nhân hoặc hộ gia đình) tại cửa hàng Smartshop.
- Thời gian và đơn vị thực hiện: Đồ án chuyên ngành được thực hiện bởi sinh viên Trương Văn Toàn (Khoa Kỹ thuật - Công nghệ, Trường Đại học Thủ Dầu Một) dưới sự hướng dẫn của Th.S Nguyễn Hữu Vĩnh, hoàn thành vào tháng 11 năm 2020 tại Bình Dương.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và công nghệ sử dụng
Hệ thống được phát triển dựa trên các công nghệ lập trình web và cơ sở dữ liệu sau:
- Ngôn ngữ PHP và Laravel Framework: PHP là ngôn ngữ kịch bản phía máy chủ (mã nguồn mở), phát triển từ phiên bản sơ khai PHP/FI (1994) qua PHP 3.0, PHP 4.0, PHP 5.0 (với sự ra đời của PDO ở bản 5.1), tới PHP 7 với bộ nhân Zend Engine mới (PHPNG) giúp tối ưu hóa hiệu năng. Laravel Framework được lựa chọn làm nền tảng xử lý logic phía máy chủ dựa trên kiến trúc Model - View - Controller (MVC), hỗ trợ quản lý định tuyến, cơ sở dữ liệu, phân quyền và bảo mật.
- Công nghệ Frontend (HTML, CSS, JavaScript, jQuery): HTML (chuẩn HTML5 do W3C duy trì) cấu trúc nội dung; CSS định dạng phong cách giao diện; JavaScript (chuẩn ECMAScript) kết hợp cùng thư viện jQuery xử lý các hiệu ứng động, tương tác DOM và giao tiếp bất đồng bộ qua Ajax.
- Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị CSDL quan hệ mã nguồn mở phổ biến, đảm bảo tính toàn vẹn dữ liệu, tốc độ xử lý truy vấn cao và khả năng tương thích chặt chẽ với PHP.
- Môi trường phát triển tích hợp XAMPP: Gói phần mềm tạo máy chủ cục bộ bao gồm Apache, MySQL, PHP và công cụ quản trị phpMyAdmin.
- Các dịch vụ tiện ích mở rộng: Cổng thanh toán trực tuyến Ngân Lượng, tiện ích mạng xã hội Facebook Messenger và cơ chế đăng nhập liên kết qua mạng xã hội (Google+, Facebook).
Phương pháp nghiên cứu
- Phương pháp khảo sát hiện trạng: Đánh giá thực trạng thương mại điện tử, khảo sát luồng nghiệp vụ mua bán hàng hóa thực tế tại cửa hàng để xác định yêu cầu hệ thống.
- Phương pháp phân tích và thiết kế hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng hệ thống biểu đồ ca sử dụng (Use Case Diagram) và biểu đồ hoạt động (Activity Diagram) chi tiết cho từng tác nhân.
- Phương pháp thiết kế cơ sở dữ liệu quan hệ: Chuẩn hóa dữ liệu, xác định các bảng thực thể, thiết lập thuộc tính, khóa chính và mối liên kết logic.
Thiết kế và triển khai
Phân tích các tác nhân của hệ thống
Hệ thống xác định 4 nhóm tác nhân chính tham gia tương tác:
| Tác nhân (Actor) |
Quyền hạn và vai trò trong hệ thống |
| Customer (Khách hàng) |
Người dùng mua sắm trực tuyến; thực hiện tìm kiếm, xem sản phẩm, quản lý giỏ hàng, đặt hàng, bình luận, đánh giá, gửi tin nhắn hỗ trợ. |
| User (Nhân viên) |
Nhân viên vận hành được cấp quyền truy cập vào một số module quản trị được chỉ định (sản phẩm, đơn hàng, tin tức, thống kê...). |
| Admin (Quản trị viên) |
Người điều hành hệ thống; quản lý toàn bộ dữ liệu nghiệp vụ, quản lý tài khoản nhân viên và thực hiện phân quyền truy cập. |
| Author (Tác giả/Toàn quyền) |
Tác nhân có toàn quyền cao nhất trong hệ thống website, nắm giữ toàn bộ các chức năng cấu hình, phân quyền và quản trị hệ thống. |
Hệ thống biểu đồ Use Case và biểu đồ hoạt động
- Biểu đồ Use Case: Hệ thống phân rã thành biểu đồ tổng quát và các sơ đồ chi tiết gồm: Quản lý danh mục sản phẩm, Quản lý khách hàng, Quản lý sản phẩm, Quản lý thông tin cửa hàng, Quản lý tin tức/sự kiện, Tìm kiếm, Quản lý đơn hàng, Hỗ trợ khách hàng, Khách hàng quản lý giỏ hàng và Khách hàng quản lý đơn hàng.
- Biểu đồ hoạt động (Activity Diagram): Mô tả chi tiết luồng xử lý dữ liệu giữa người dùng và hệ thống cho các tiến trình: Khách hàng đăng ký; Khách hàng đăng nhập (lưu phiên làm việc vào Session); Khách hàng thêm sản phẩm vào giỏ hàng (khởi tạo giỏ hàng hoặc cập nhật session); Khách hàng đặt mua và duyệt đơn hàng; Quản trị viên thực hiện các thao tác Thêm/Sửa/Xóa đối với danh mục, sản phẩm, menu, đơn hàng, thành viên, liên hệ, footer và tin tức.
Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống gồm 26 bảng dữ liệu quan hệ được thiết kế chi tiết:
| STT |
Tên bảng |
Chức năng lưu trữ dữ liệu |
Các trường dữ liệu chính |
| 1 |
tbl_admin |
Tài khoản quản trị viên |
admin_id (PK), admin_email, admin_password, admin_name, admin_phone, timestamps |
| 2 |
tbl_roles |
Danh mục vai trò/quyền hạn |
id_roles (PK), name |
| 3 |
admin_roles |
Bảng liên kết phân quyền admin |
id_admin_roles (PK), admin_admin_id, roles_id_roles |
| 4 |
tbl_customer |
Tài khoản khách hàng |
customer_id (PK), customer_name, customer_email, customer_password, customer_phone, timestamps |
| 5 |
tbl_social |
Tài khoản đăng nhập mạng xã hội |
user_id (PK), provider_user_id, provider, user |
| 6 |
tbl_category_product |
Danh mục sản phẩm |
category_id (PK), category_name, slug_category_product, category_parent, category_status, category_order |
| 7 |
tbl_brand |
Thương hiệu sản phẩm |
brand_id (PK), brand_name, brand_slug, brand_desc, brand_status, timestamps |
| 8 |
tbl_product |
Thông tin sản phẩm |
product_id (PK), product_name, product_slug, category_id, brand_id, product_price, price_cost, product_quantity, product_sold, product_status |
| 9 |
tbl_gallery |
Thư viện hình ảnh sản phẩm |
gallery_id (PK), gallery_name, gallery_image, product_id |
| 10 |
tbl_rating |
Điểm đánh giá sản phẩm |
rating_id (PK), product_id, rating |
| 11 |
tbl_comment |
Bình luận của người dùng |
comment_id (PK), comment, comment_name, comment_date, comment_product_id, comment_parent_comment, comment_status |
| 12 |
tbl_order |
Thông tin đơn hàng |
order_id (PK), customer_id, shipping_id, order_status, order_code, order_date, timestamps |
| 13 |
tbl_order_details |
Chi tiết sản phẩm trong đơn |
order_details_id (PK), order_code, product_id, product_name, product_price, product_sales_quantity, product_coupon, product_feeship |
| 14 |
tbl_shipping |
Thông tin người nhận hàng |
shipping_id (PK), shipping_name, shipping_address, shipping_phone, shipping_email, shipping_notes, shipping_method |
| 15 |
tbl_coupon |
Mã giảm giá |
coupon_id (PK), coupon_name, coupon_code, coupon_time, coupon_condition, coupon_number |
| 16 |
tbl_feeship |
Mức phí vận chuyển |
fee_id (PK), fee_matp, fee_maqh, fee_xaid, fee_feeship |
| 17 |
tbl_tinhthanhpho |
Danh mục Tỉnh/Thành phố |
matp (PK), name_city, type |
| 18 |
tbl_quanhuyen |
Danh mục Quận/Huyện |
maqh (PK), name_quanhuyen, type, matp |
| 19 |
tbl_xaphuongthitran |
Danh mục Xã/Phường/Thị trấn |
Đơn vị hành chính cấp xã phục vụ định mức phí ship |
| 20 |
tbl_category_post |
Danh mục bài viết tin tức |
cate_post_id (PK), cate_post_name, cate_post_slug, cate_post_status, cate_post_desc |
| 21 |
tbl_posts |
Bài viết tin tức/sự kiện |
post_id (PK), post_title, post_slug, post_desc, post_content, post_image, cate_post_id, post_views, post_status |
| 22 |
tbl_videos |
Video quảng bá sản phẩm |
video_id (PK), video_title, video_slug, video_link, video_desc, video_image |
| 23 |
tbl_slider |
Slider quảng cáo trang chủ |
slider_id (PK), slider_name, slider_image, slider_status, slider_desc |
| 24 |
tbl_information |
Cấu hình thông tin website |
info_id (PK), info_contact, info_map, info_logo, info_fanpage |
| 25 |
tbl_statictical |
Thống kê doanh thu theo ngày |
id_statistical (PK), order_date, sales, profit, quantity, total_order |
| 26 |
tbl_visitors |
Thống kê lượt truy cập |
Lưu vết lượt truy cập hệ thống |
Xây dựng giao diện ứng dụng
Hệ thống được chia thành hai phân hệ giao diện chính:
- Phân hệ người dùng (Khách hàng): Giao diện trang chủ (hiển thị banner slider, sản phẩm mới, sản phẩm bán chạy); Giao diện tìm kiếm; Giao diện phân loại danh mục và thương hiệu; Giao diện xem nhanh sản phẩm; Giao diện chi tiết sản phẩm; Giao diện đánh giá - bình luận; Giao diện tin tức; Giao diện video; Giao diện giỏ hàng; Giao diện thông tin thanh toán (Checkout) và Giao diện đăng nhập/đăng ký.
- Phân hệ quản trị (Admin Dashboard): Giao diện đăng nhập bảo mật; Giao diện báo cáo thống kê doanh số và lợi nhuận; Các màn hình Thêm mới và Liệt kê cho slider quảng cáo, đơn hàng, danh mục sản phẩm, thương hiệu sản phẩm, sản phẩm (giá vốn, giá bán, số lượng tồn kho), mã giảm giá (coupon), phí vận chuyển (tính theo Tỉnh - Huyện - Xã), danh mục bài viết, bài viết tin tức, video, bình luận phản hồi, thông tin cấu hình website và quản lý tài khoản người dùng kèm phân quyền.
Nội dung chính theo từng chương
Chương 1. Khảo sát hiện trạng
Chương 1 tập trung khảo sát tổng quan về thị trường thương mại điện tử tại Việt Nam, phân tích nhu cầu ứng dụng công nghệ trong hoạt động bán lẻ trực tuyến. Tác giả xác lập mục tiêu, các chức năng trọng tâm cần xây dựng và định hướng giải pháp công nghệ. Phần cơ sở lý thuyết tổng hợp lịch sử phát triển, đặc điểm cấu trúc và ưu điểm của ngôn ngữ lập trình PHP (từ PHP/FI năm 1994 đến PHP 7 với Zend Engine PHPNG), nguyên lý hoạt động của mô hình MVC trong các PHP Framework (tiêu biểu là Laravel), cấu trúc của bộ ba công nghệ Web Frontend (HTML5, CSS3, JavaScript/jQuery), cùng môi trường cơ sở dữ liệu MySQL và bộ công cụ máy chủ XAMPP.
Chương 2. Phân tích và thiết kế hệ thống
Chương 2 trình bày chi tiết quá trình phân tích yêu cầu nghiệp vụ về mặt giao diện, hiệu năng và chức năng cho cả người mua và người quản lý. Tác giả định nghĩa 4 nhóm tác nhân (Customer, User, Admin, Author), xây dựng hệ thống biểu đồ Use Case tổng quát và chi tiết cho từng nghiệp vụ. Đồng thời, chương này mô hình hóa các luồng xử lý bằng biểu đồ hoạt động (Activity Diagram) từ phía khách hàng (đăng ký, đăng nhập session, giỏ hàng, đặt hàng) đến phía quản trị viên (thao tác CRUD trên các module). Phần thiết kế cơ sở dữ liệu mô tả cấu trúc chi tiết của 26 bảng dữ liệu với đầy đủ kiểu dữ liệu và thuộc tính.
Chương 3. Xây dựng chương trình
Chương 3 trình bày kết quả hiện thực hóa hệ thống thành phần mềm hoàn chỉnh. Nội dung chương minh họa chi tiết 35 giao diện người dùng và giao diện quản trị (từ Hình 28 đến Hình 62). Phân hệ khách hàng đáp ứng đầy đủ chu trình mua hàng, tra cứu thông tin, tương tác và thanh toán. Phân hệ quản trị cung cấp đầy đủ công cụ kiểm soát dữ liệu bán hàng, quản lý kho, thiết lập mã khuyến mãi, cấu hình phí ship theo địa bàn và thống kê kết quả kinh doanh.
Kết quả và đóng góp
Kết quả đạt được
- Xây dựng thành công website bán điện thoại trực tuyến Smartshop hoạt động ổn định trên nền tảng PHP/Laravel và MySQL.
- Hiện thực hóa đầy đủ chu trình nghiệp vụ thương mại điện tử: tìm kiếm sản phẩm, xem nhanh, giỏ hàng lưu phiên, áp dụng mã khuyến mãi (coupon), tính toán phí vận chuyển tự động theo cấp tỉnh/huyện/xã, hỗ trợ thanh toán qua cổng Ngân Lượng và chăm sóc khách hàng qua Facebook Messenger.
- Xây dựng hệ thống quản trị nội dung (CMS) và quản trị bán hàng đa chức năng: kiểm soát đơn hàng, tồn kho, quản trị tin tức, video, slider, đánh giá của người dùng và báo cáo doanh số, lợi nhuận theo ngày.
- Thiết lập hệ thống phân quyền quản trị theo vai trò (Roles) cho các cấp quản lý khác nhau (Admin, Author, User).
Đóng góp thực tiễn
- Đồ án cung cấp một tài liệu phân tích, thiết kế và triển khai hoàn chỉnh cho một hệ thống thương mại điện tử bán lẻ quy mô nhỏ, có thể ứng dụng trực tiếp cho các cửa hàng, hộ kinh doanh cá thể có nhu cầu số hóa quy trình bán hàng với chi phí phát triển hợp lý.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
Theo tác giả tự đánh giá, hệ thống hiện tại mới chỉ đáp ứng các chức năng của một website thương mại điện tử quy mô nhỏ, thích hợp cho mô hình kinh doanh bán lẻ của cá nhân hoặc hộ gia đình; chưa hỗ trợ quản lý chuỗi nhiều chi nhánh độc lập và các nghiệp vụ hậu cần logistics phức tạp.
Hướng phát triển trong tương lai
- Mở rộng và nâng cấp hệ thống để đáp ứng mô hình quản lý cho một chuỗi các cửa hàng bán lẻ.
- Xây dựng và phát triển ứng dụng di động (Mobile App) đồng bộ dữ liệu với hệ thống website.
- Phát triển và tích hợp sâu các dịch vụ logistics tự động hóa nhằm tối ưu quy trình giao nhận hàng hóa.
Giá trị tham khảo
Tài liệu đồ án có giá trị tham khảo hữu ích cho:
- Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu mẫu về cấu trúc trình bày một đồ án chuyên ngành/khóa luận tốt nghiệp theo chuẩn mực kỹ thuật, bao gồm đầy đủ các bước từ khảo sát, phân tích thiết kế UML, thiết kế CSDL đến lập trình giao diện.
- Lập trình viên phát triển web PHP/Laravel: Cung cấp giải pháp tham khảo giá trị về thiết kế lược đồ cơ sở dữ liệu thương mại điện tử (26 bảng thực thể), xử lý giỏ hàng qua session, quản lý phí giao hàng theo 3 cấp hành chính Việt Nam và cấu trúc phân quyền người dùng trong Laravel.
Câu hỏi thường gặp
1. Đồ án sử dụng những công nghệ cốt lõi nào để xây dựng website Smartshop?
Hệ thống sử dụng Laravel (PHP Framework) để xử lý logic phía máy chủ theo mô hình MVC, hệ quản trị cơ sở dữ liệu MySQL, giao diện người dùng xây dựng bằng HTML, CSS, JavaScript và thư viện jQuery, được phát triển trên môi trường máy chủ cục bộ XAMPP.
2. Cơ sở dữ liệu của hệ thống gồm bao nhiêu bảng và hỗ trợ những nghiệp vụ chính nào?
Cơ sở dữ liệu bao gồm 26 bảng, hỗ trợ các nghiệp vụ: quản lý tài khoản và phân quyền (tbl_admin, tbl_roles, admin_roles, tbl_customer, tbl_social), quản lý sản phẩm và kho (tbl_product, tbl_category_product, tbl_brand, tbl_gallery), quản lý bán hàng (tbl_order, tbl_order_details, tbl_shipping, tbl_coupon), vận chuyển (tbl_feeship, tbl_tinhthanhpho, tbl_quanhuyen, tbl_xaphuongthitran), tương tác (tbl_comment, tbl_rating), truyền thông (tbl_posts, tbl_category_post, tbl_videos, tbl_slider), cấu hình và thống kê (tbl_information, tbl_statictical, tbl_visitors).
3. Website tích hợp những dịch vụ bên ngoài nào để hỗ trợ thanh toán và chăm sóc khách hàng?
Hệ thống tích hợp cổng thanh toán trực tuyến Ngân Lượng để xử lý giao dịch điện tử và tiện ích Facebook Messenger làm kênh nhắn tin hỗ trợ trực tuyến cho khách hàng.
4. Cơ chế phân quyền trong hệ thống Smartshop được thiết kế như thế nào?
Hệ thống phân chia thành 4 tác nhân chính: Customer (khách hàng mua sắm), User (nhân viên quản trị một số module được cấp phép), Admin (người điều hành, quản lý toàn bộ dữ liệu và phân quyền user), và Author (tác nhân nắm toàn quyền cao nhất trên hệ thống). Phân quyền được quản lý linh hoạt qua hai bảng tbl_roles và admin_roles.
5. Định hướng phát triển tiếp theo của hệ thống được tác giả xác định là gì?
Tác giả định hướng mở rộng hệ thống phục vụ mô hình chuỗi cửa hàng, xây dựng ứng dụng di động (Mobile App) và tích hợp các dịch vụ logistics nâng cao.
Kết luận
Báo cáo đồ án chuyên ngành "Xây dựng website bán điện thoại cho cửa hàng Smartshop" của sinh viên Trương Văn Toàn đã hoàn thành tốt mục tiêu phân tích, thiết kế và hiện thực hóa một hệ thống thương mại điện tử bán lẻ hoàn chỉnh trên nền tảng Laravel và MySQL. Đề tài thể hiện phương pháp tiếp cận bài bản từ khảo sát hiện trạng, mô hình hóa nghiệp vụ bằng UML, thiết kế 26 bảng cơ sở dữ liệu chuẩn hóa đến xây dựng hệ thống giao diện và tích hợp thanh toán số. Đây là công trình có giá trị học thuật và ứng dụng thực tiễn cao, đóng vai trò là tài liệu tham khảo chất lượng cho sinh viên và lập trình viên trong lĩnh vực phát triển ứng dụng thương mại điện tử.