Bối cảnh và vấn đề nghiên cứu

Trong hơn một thập kỷ qua, phần mềm nguồn mở (Open Source Software - OSS) đã có bước phát triển mạnh mẽ trên phạm vi toàn cầu, định hình lại phương thức cộng tác phát triển phần mềm thông qua các nền tảng quản lý mã nguồn phân tán như Git và GitHub (với số liệu ghi nhận từ năm 2005 đến tháng 2 năm 2015 đã có hơn 11.800 cá nhân từ gần 1.200 công ty cùng đóng góp cho nhân Linux). Xu hướng này đã thúc đẩy cả các tập đoàn công nghệ lớn chuyển dịch chiến lược từ mô hình phần mềm nguồn đóng sang tiếp cận và đóng góp vào hệ sinh thái nguồn mở.

Thực tế ứng dụng cho thấy các giải pháp phần mềm nguồn mở chiếm tới khoảng 70% thị trường ứng dụng web, giúp các doanh nghiệp vừa và nhỏ tối ưu hóa chi phí đầu tư hạ tầng công nghệ, chủ động kiểm soát mã nguồn và đẩy nhanh tiến độ triển khai thương mại điện tử. Tại thị trường Việt Nam, sự phát triển nhanh của hạ tầng mạng và thói quen mua sắm trực tuyến đặt ra yêu cầu cấp thiết cho các đơn vị kinh doanh đồ uống và thực phẩm trong việc thiết lập kênh bán lẻ số.

Đồ án tốt nghiệp của sinh viên Trần Văn Dũng (ngành Công nghệ Thông tin, Trường Đại học Dân lập Hải Phòng) tập trung giải quyết bài toán thực tế tại cửa hàng Highland Coffee (địa chỉ: 275 Lạch Tray, quận Ngô Quyền, thành phố Hải Phòng). Ở thời điểm nghiên cứu, đơn vị này mới chỉ sở hữu website giới thiệu thông tin thương hiệu, chưa có hệ thống tiếp nhận đơn hàng và quản lý giao dịch bán hàng trực tuyến.

Mục tiêu và nhiệm vụ nghiên cứu của đồ án bao gồm:

  1. Nghiên cứu tổng quan về phần mềm nguồn mở và phân tích các đặc trưng kiến trúc, tính năng của hệ quản trị nội dung thương mại điện tử AlegroCart.
  2. Thiết lập môi trường lưu trữ máy chủ (hosting), triển khai cài đặt, cấu hình cơ sở dữ liệu và Việt hóa toàn diện hệ thống AlegroCart từ giao diện quản trị đến giao diện người dùng.
  3. Tích hợp các tiện ích tương tác mạng xã hội (Facebook Fanpage, Facebook Messenger, AddThis) và phát triển mô-đun gửi thông báo đơn hàng tự động thông qua Zalo API.
  4. Triển khai thử nghiệm quy trình nghiệp vụ bán lẻ thực tế cho cửa hàng Highland Coffee tại Hải Phòng, bao gồm quản lý danh mục, hình ảnh, sản phẩm, đơn hàng và báo cáo thống kê.

Đối tượng nghiên cứu là hệ thống mã nguồn mở AlegroCart và các giao thức kết nối API bên thứ ba. Phạm vi nghiên cứu tập trung vào quy trình vận hành thương mại điện tử của cơ sở bán lẻ cà phê tại địa bàn Hải Phòng.

Cơ sở lý thuyết và phương pháp

Đồ án vận dụng các cơ sở lý thuyết và tiêu chuẩn công nghệ phần mềm sau:

  • Khái niệm và giấy phép phần mềm nguồn mở: Tìm hiểu bản chất mã nguồn mở, cơ chế phân phối theo giấy phép tự do (như General Public License - GPL) và mô hình phần mềm tự do nguồn mở (FLOSS), cho phép người dùng quyền can thiệp, sửa đổi và nâng cấp mã nguồn mà không phải chi trả chi phí bản quyền định kỳ.
  • Kiến trúc CMS AlegroCart: Nền tảng thương mại điện tử được xây dựng trên ngôn ngữ lập trình PHP theo mô hình kiến trúc MVC (Model - View - Controller), tách biệt rõ ràng giữa tầng xử lý dữ liệu, logic điều khiển và giao diện hiển thị.
  • Hạ tầng lưu trữ và dịch vụ web: Sử dụng nền tảng máy chủ 000webhost với các thông số kỹ thuật tiêu chuẩn (dung lượng lưu trữ 1GB, băng thông 10GB, hỗ trợ PHP và hệ quản trị cơ sở dữ liệu MySQL).
  • Giao thức và API tích hợp: Ứng dụng Facebook SDK, Messenger Platform Discovery API, AddThis API và Zalo Official Account (OA) Open API thông qua cơ chế xác thực OAuth 2.0.

Phương pháp nghiên cứu thực tế được tác giả triển khai bao gồm:

  • Phương pháp phân tích - tổng hợp tài liệu: Khảo sát các tài liệu kỹ thuật về mã nguồn mở, tài liệu hướng dẫn phát triển của AlegroCart và đặc tả kỹ thuật API từ Zalo Developers và Meta for Developers.
  • Phương pháp thực nghiệm và tùy biến mã nguồn: Cấu hình môi trường máy chủ trực tiếp, giải nén và thiết lập cơ sở dữ liệu quan hệ, biên dịch và dịch thuật thủ công các tệp ngôn ngữ (ngôn ngữ nguồn tiếng Anh sang tiếng Việt).
  • Phương pháp tích hợp hệ thống: Lập trình bất đồng bộ bằng JavaScript/jQuery kết hợp kỹ thuật Cross-Domain Request để xử lý các luồng dữ liệu giữa website bán hàng và máy chủ API của Zalo.

Nguồn dữ liệu của đề tài gồm bộ mã nguồn gốc AlegroCart, tài liệu kỹ thuật API chính thống và dữ liệu danh mục thực tế của cửa hàng Highland Coffee Hải Phòng.

Thiết kế và triển khai hệ thống

Kiến trúc và luồng tích hợp mở rộng

Hệ thống được tổ chức theo cấu trúc module hóa của AlegroCart. Bên cạnh các chức năng cốt lõi có sẵn, đồ án tiến hành can thiệp vào tầng điều khiển (Controllers) và tầng hiển thị (Templates - .tpl) để bổ sung các module giao tiếp ngoại vi.

Thành phần tích hợp Vị trí can thiệp tệp nguồn Công nghệ / Giao thức Chức năng thực hiện
Giao diện tiếng Việt (Admin) admin_hlc/language/tiengviet/ PHP Language Array Việt hóa toàn bộ bảng điều khiển quản trị
Giao diện tiếng Việt (Catalog) catalog/language/tiengviet/ PHP Language Array Việt hóa trang sản phẩm, giỏ hàng, thanh toán
Facebook SDK & Fanpage catalog/template/default/module/header.tpl & footer.tpl JavaScript SDK Nhúng widget tương tác trang cộng đồng
Facebook Messenger catalog/template/default/module/footer.tpl Messenger Plugin Hỗ trợ kênh chat trực tiếp với khách hàng
Chia sẻ mạng xã hội catalog/template/default/module/footer.tpl AddThis Script Chia sẻ liên kết sản phẩm lên đa nền tảng
Thông báo Zalo OA catalog/template/default/content/success.tpl & footer.tpl Zalo Open API, OAuth, jQuery Ajax, Cross-Domain Gửi tin nhắn xác nhận đơn hàng về Zalo App của khách

Quy trình kỹ thuật tích hợp Zalo API

Do AlegroCart nguyên bản chưa hỗ trợ kênh thông báo qua mạng xã hội tại Việt Nam, tác giả đã xây dựng mới module gửi tin nhắn với các bước cấu hình:

  1. Đăng ký tài khoản Zalo Official Account (OA) đại diện cho thương hiệu ("HL Coffee").
  2. Tạo ứng dụng mới trên cổng Zalo Developers và thực hiện liên kết với Zalo OA đã tạo.
  3. Cấu hình cấp quyền truy cập API và thiết lập redirect_uri (OA Callback URL).
  4. Khởi tạo đường dẫn yêu cầu cấp quyền quản trị: https://oauth.zaloapp.com/v3/oa/permission?app_id=<APP_ID>&redirect_uri=<call_back_url> để trích xuất mã truy cập (access_token) và định danh oaId.
  5. Tại tệp success.tpl, hệ thống hiển thị hộp thoại xác nhận khi đơn hàng hoàn tất; tệp footer.tpl sử dụng JavaScript/jQuery thực thi HTTP POST request truyền tải nội dung đơn hàng đến endpoint Zalo API, hoàn tất gửi tin nhắn trực tiếp đến ứng dụng Zalo của người mua.
[Khách hàng đặt hàng thành công] 
[Kích hoạt callback tại success.tpl] 
[Thực thi script gửi Cross-Domain POST Request tại footer.tpl] 
[Zalo Open API tiếp nhận dữ liệu với Access Token & oaId] 
[Tin nhắn thông báo đơn hàng gửi về Zalo App của khách hàng]

Nội dung chính theo từng chương

Chương I: Giới thiệu phần mềm nguồn mở AlegroCart

Chương I hệ thống hóa các khái niệm nền tảng về mã nguồn mở và đánh giá toàn diện CMS AlegroCart:

  • Khái niệm và giá trị kinh tế: Phân tích bản chất của phần mềm nguồn mở theo giấy phép GPL; nêu rõ các lợi ích như giảm 75-80% chi phí sở hữu phần mềm ngay trong năm đầu tiên so với phần mềm thương mại có bản quyền, tối ưu hóa việc tái sử dụng phần cứng, tránh sự phụ thuộc độc quyền vào nhà cung cấp và đảm bảo tính minh bạch, an toàn dữ liệu.
  • Đặc điểm kiến trúc AlegroCart: Nền tảng thương mại điện tử chuyên dụng có lịch sử phát triển gần 11 năm, viết bằng PHP theo mô hình MVC, hỗ trợ quản lý nhiều cửa hàng (multi-store), tích hợp chức năng tiếp thị liên kết (affiliate marketing), sao lưu - phục hồi dữ liệu tự động.
  • Ưu và nhược điểm: Đánh giá khách quan các hạn chế của AlegroCart nguyên bản như chưa hỗ trợ tiếng Việt, kho giao diện chưa phong phú, thiếu tương thích với một số thư viện giao diện hiện đại (như Bootstrap), quy trình tích hợp plugin còn phức tạp đối với người dùng không chuyên.
  • Các phân hệ cốt lõi: Mô tả chi tiết các phân hệ quản lý giỏ hàng, thông số kỹ thuật sản phẩm (kích thước, khối lượng, hình ảnh), hệ thống đánh giá - xếp hạng sản phẩm, công cụ tối ưu hóa công cụ tìm kiếm (SEO), công cụ đóng dấu bản quyền hình ảnh (watermark), cùng khả năng xử lý đa tiền tệ và đa ngôn ngữ.

Chương II: Cài đặt AlegroCart

Chương II trình bày toàn bộ quy trình thiết lập môi trường kỹ thuật, cài đặt nền tảng và lập trình tùy biến:

  • Khởi tạo hạ tầng máy chủ: Đăng ký và cấu hình dịch vụ lưu trữ 000webhost với tên miền thử nghiệm http://tranvandungct1701.000webhostapp.com, thiết lập cơ sở dữ liệu MySQL và khởi tạo tài khoản quản trị hệ quản trị cơ sở dữ liệu.
  • Triển khai gói cài đặt: Tải bộ mã nguồn nén, giải nén vào thư mục gốc public_html, thực hiện quy trình cài đặt sạch (Clean Install), cấu hình các thông số kết nối cơ sở dữ liệu và đường dẫn quản trị bảo mật (admin_hlc).
  • Quy trình Việt hóa hệ thống:
    • Khai báo gói ngôn ngữ tiếng Việt trong bảng điều khiển (Configuration -> Localization -> Language) với các thuộc tính: Tên ngôn ngữ (Tiếng Việt), Mã (vn), Thư mục (tiengviet), Tệp điều khiển chính (vietnamese.php).
    • Sao chép toàn bộ cây thư mục ngôn ngữ từ english sang tiengviet tại cả hai phân hệ admin_hlc/language/catalog/language/.
    • Tiến hành dịch thuật nội dung hàng trăm tệp tin điều khiển và giao diện sang tiếng Việt.
    • Cấu hình vùng địa lý mặc định: Quốc gia (Viet Nam), Khu vực (Hai Phong), Tiền tệ mặc định (Vietnamese Dong - ký hiệu "vnđ", số thập phân 0).
  • Tích hợp tiện ích xã hội: Cài đặt mã nhúng JavaScript SDK của Facebook Fanpage vào header.tpl, nhúng widget Facebook Messenger và AddThis vào footer.tpl.
  • Phát triển tính năng Zalo API: Trình bày chi tiết 6 bước triển khai kỹ thuật từ tạo Official Account, đăng ký ứng dụng Zalo Developers, liên kết tài khoản, xin cấp quyền, lấy Access Token đến viết mã xử lý gửi tin nhắn bất đồng bộ qua jQuery Ajax.

Chương III: Ứng dụng xây dựng website bán hàng cho Highland Coffee

Chương III đi sâu vào việc áp dụng hệ thống đã tùy biến vào mô hình kinh doanh thực tế:

  • Khảo sát cơ sở thực nghiệm: Giới thiệu cửa hàng Highland Coffee tại 275 Lạch Tray, Hải Phòng; phân tích nhu cầu cấp thiết trong việc bổ sung kênh bán hàng trực tuyến bên cạnh website giới thiệu thuần túy.
  • So sánh mô hình bán hàng: Phân tích các ưu thế của website thương mại điện tử so với phương thức truyền thống (tiết kiệm chi phí mở rộng mặt bằng, vận hành không giới hạn thời gian/địa lý, quản lý dữ liệu tập trung qua báo cáo tự động) cùng các thách thức cần quản trị (tâm lý thích xem hàng trực tiếp của khách hàng, an ninh mạng, tính linh hoạt của khung pháp lý).
  • Quy trình nghiệp vụ quản lý: Thiết lập danh mục sản phẩm phân cấp đệ quy, quản lý dữ liệu chi tiết (tên, mã dòng, giá bán, mô tả, hình ảnh), quy trình xử lý đơn hàng, quy trình giao hàng và tiếp nhận thanh toán (hỗ trợ thanh toán khi nhận hàng - COD và chuyển khoản ngân hàng).
  • Hướng dẫn vận hành hệ thống:
    • Phía quản trị (admin_hlc): Hướng dẫn chi tiết các thao tác quản trị người dùng, tạo danh mục (ví dụ: danh mục "Cà phê"), tải hình ảnh lên máy chủ, đăng tải sản phẩm (ví dụ: sản phẩm "Phin sữa đá"), theo dõi danh sách và cập nhật trạng thái đơn hàng.
    • Phía khách hàng: Trình bày giao diện trang chủ, quy trình tạo tài khoản, thêm sản phẩm vào giỏ, nhập địa chỉ nhận hàng, xác nhận phương thức thanh toán, hoàn tất đơn và nhận thông báo kép qua Email và ứng dụng Zalo.

Kết quả và đóng góp

Kết quả đạt được

Đồ án đã hoàn thành việc xây dựng và triển khai thử nghiệm hệ thống website thương mại điện tử hoàn chỉnh cho cửa hàng Highland Coffee Hải Phòng với các kết quả cụ thể:

  • Cài đặt và cấu hình thành công CMS AlegroCart trên môi trường máy chủ web hỗ trợ PHP/MySQL.
  • Dịch thuật và chuyển đổi thành công toàn bộ hệ thống ngôn ngữ sang tiếng Việt cho hàng trăm tệp tin ở cả phía người dùng và trang quản trị; thiết lập chuẩn tiền tệ Việt Nam Đồng (vnđ) và cấu hình vùng địa lý Hải Phòng - Việt Nam.
  • Nhúng hoàn chỉnh các tiện ích tương tác mạng xã hội gồm Fanpage Facebook, Messenger chat trực tuyến và nút chia sẻ AddThis.
  • Xây dựng thành công mô-đun gửi thông báo xác nhận đặt hàng tự động qua Zalo API kết hợp Zalo Official Account thông qua kỹ thuật Cross-Domain request.
  • Thiết lập đầy đủ quy trình bán hàng trực tuyến với hai hình thức thanh toán COD và chuyển khoản ngân hàng.
Hạng mục triển khai Hiện trạng ban đầu của AlegroCart Kết quả sau khi đồ án hoàn thiện
Ngôn ngữ hệ thống Tiếng Anh mặc định Tiếng Việt toàn diện (Catalog & Admin)
Đơn vị tiền tệ Đa ngoại tệ, chưa chuẩn hóa VND Vietnamese Dong (vnđ, 0 số thập phân)
Kênh tương tác Form liên hệ mặc định Facebook Fanpage, Facebook Messenger, AddThis
Kênh thông báo đơn Gửi qua Email truyền thống Thông báo qua Email kết hợp tin nhắn Zalo App tự động
Dữ liệu thực nghiệm Dữ liệu mẫu Dữ liệu sản phẩm thực tế của Highland Coffee Hải Phòng

Đóng góp của đề tài

Tác giả đã chỉ ra tính khả thi của việc khai thác các nền tảng thương mại điện tử nguồn mở lâu năm như AlegroCart để phục vụ doanh nghiệp bán lẻ tại Việt Nam với chi phí tối thiểu. Việc tự xây dựng giải pháp kết nối Zalo API thông qua kỹ thuật Cross-Domain là đóng góp kỹ thuật thiết thực, giúp giải quyết bài toán tiếp cận khách hàng trên nền tảng di động vốn phổ biến hơn phương thức email truyền thống đối với người tiêu dùng trong nước.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên các nội dung được tác giả ghi nhận trong văn bản:

  • Hạn chế:
    • Nền tảng AlegroCart nguyên bản có kho giao diện chưa thực sự đa dạng và chưa tích hợp sẵn các bộ khung giao diện hiện đại như Bootstrap để tối ưu hóa hiển thị linh hoạt trên mọi loại màn hình.
    • Hệ thống thanh toán trực tuyến mới dừng lại ở mức cơ bản (COD và chuyển khoản thủ công), chưa tích hợp trực tiếp các cổng thanh toán điện tử tự động qua thẻ quốc tế hay ví điện tử.
    • Quy trình tích hợp các plugin mở rộng còn đòi hỏi kỹ năng can thiệp trực tiếp vào mã nguồn của lập trình viên, chưa thân thiện với người quản trị thông thường.
    • Tính năng gửi tin nhắn Zalo API mới dừng lại ở bước thông báo xác nhận đặt hàng thành công.
  • Hướng nghiên cứu tiếp:
    • Mở rộng chức năng của Zalo API để tự động gửi toàn bộ chi tiết hóa đơn đơn hàng, lịch trình giao nhận và các thông tin tiếp thị sản phẩm khuyến mãi đến khách hàng.
    • Hoàn thiện giao diện theo chuẩn thiết kế đáp ứng (Responsive Web Design) tương thích sâu với thiết bị di động.
    • Nghiên cứu tăng cường cơ chế bảo mật cho mã nguồn mở nhằm hạn chế nguy cơ xâm nhập và rò rỉ dữ liệu khách hàng trên môi trường internet.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ Thông tin và Thương mại Điện tử: Cung cấp tài liệu thực hành chi tiết về quy trình triển khai, cấu hình máy chủ hosting, cài đặt cơ sở dữ liệu và phương pháp tổ chức thư mục ngôn ngữ để Việt hóa một hệ thống CMS xây dựng trên ngôn ngữ PHP theo kiến trúc MVC.
  • Lập trình viên và kỹ sư phát triển web: Tham khảo các bước xác thực OAuth, cấu hình Access Token, xử lý yêu cầu Cross-Domain và lập trình kết nối với hệ thống Zalo Official Account API và Facebook SDK trên các nền tảng thương mại điện tử.
  • Chủ cơ sở kinh doanh và người quản trị hệ thống bán lẻ: Nắm bắt quy trình thiết lập nghiệp vụ quản lý danh mục phân cấp, phân loại hình ảnh, vận hành đơn hàng và lập báo cáo bán hàng tự động trên các nền tảng web nguồn mở.

Câu hỏi thường gặp

1. AlegroCart được xây dựng trên nền tảng công nghệ nào và có những đặc trưng kiến trúc gì nổi bật?
AlegroCart là hệ quản trị nội dung (CMS) nguồn mở chuyên dụng cho thương mại điện tử, có lịch sử phát triển gần 11 năm, được lập trình bằng ngôn ngữ PHP theo mô hình kiến trúc MVC (Model - View - Controller). Hệ thống hỗ trợ quản lý đa cửa hàng, tích hợp module giỏ hàng chi tiết, quản lý đa tiền tệ/ngôn ngữ, tiếp thị liên kết (affiliate marketing) và tính năng sao lưu - phục hồi dữ liệu tự động.

2. Quá trình Việt hóa hệ thống AlegroCart được thực hiện thông qua những bước cụ thể nào?
Quá trình Việt hóa bao gồm: Khai báo ngôn ngữ Tiếng Việt (mã: vn, thư mục: tiengviet, tệp chính: vietnamese.php) trong bảng điều khiển quản trị; sao chép toàn bộ cấu trúc thư mục ngôn ngữ tiếng Anh sang thư mục tiengviet tại cả hai đường dẫn admin_hlc/language/catalog/language/; dịch thuật nội dung của hàng trăm tệp tin PHP; và thiết lập Tiếng Việt làm ngôn ngữ mặc định cùng cấu hình chuẩn tiền tệ Việt Nam Đồng (vnđ).

3. Tác giả đã sử dụng giải pháp kỹ thuật nào để gửi thông báo đặt hàng qua Zalo?
Tác giả đã liên kết ứng dụng trên Zalo Developers với Zalo Official Account mang tên "HL Coffee", xin cấp quyền API và lấy Access Token qua giao thức OAuth (https://oauth.zaloapp.com/v3/oa/permission?app_id=<APP_ID>&redirect_uri=<call_back_url>). Sau đó, tại các tệp success.tplfooter.tpl, tác giả sử dụng JavaScript, thư viện jQuery và kỹ thuật Cross-Domain Request để gửi yêu cầu dạng HTTP POST chứa thông tin đơn hàng sang hệ thống Zalo API.

4. Cửa hàng nào được lựa chọn làm đối tượng thực nghiệm và địa chỉ cụ thể ở đâu?
Hệ thống được thiết kế và triển khai thực nghiệm cho cửa hàng Highland Coffee có địa chỉ tại số 275 Lạch Tray, phường Đằng Giang, quận Ngô Quyền, thành phố Hải Phòng.

5. Môi trường lưu trữ máy chủ được sử dụng trong đồ án có những thông số kỹ thuật gì?
Tác giả sử dụng dịch vụ lưu trữ miễn phí của 000webhost với tên miền thử nghiệm dạng subdomain, cung cấp dung lượng lưu trữ 1GB, băng thông 10GB, hỗ trợ chạy mã nguồn PHP và hệ quản trị cơ sở dữ liệu MySQL.

Kết luận

Đồ án tốt nghiệp của sinh viên Trần Văn Dũng đã hoàn thành việc nghiên cứu, cài đặt và tùy biến toàn diện phần mềm nguồn mở AlegroCart nhằm xây dựng website bán hàng trực tuyến cho cửa hàng Highland Coffee tại 275 Lạch Tray, Hải Phòng. Hệ thống được Việt hóa hoàn chỉnh, cấu hình phù hợp với thị trường Việt Nam và tích hợp thành công các tiện ích mạng xã hội cùng tính năng gửi thông báo đơn hàng tự động qua Zalo API. Kết quả nghiên cứu khẳng định tính ứng dụng cao của các giải pháp mã nguồn mở trong việc tối ưu hóa chi phí và nâng cao hiệu quả thương mại điện tử cho các doanh nghiệp bán lẻ.