Giải pháp xây dựng hệ thống cung cấp dịch vụ quản lý và kinh doanh thương mại điện tử

MỤC LỤC

Xu hướng kinh doanh hiện nay

Ngày nay, khi mà xu hướng kinh doanh trực tuyến hay bán hàng qua mạng đã trở nên phổ biến hơn bao giờ hết. Khái niệm “Thương mại điện tử” (TMĐT) đã không còn quá xa lạ với người Việt Nam ta. Sự ra đời của các công nghệ, hệ thống, ứng dụng, đóng vai trò quan trọng cho sự phát triển này, xây dựng cầu nối, xóa bỏ khoảng cách giữa người mua và người bán, mang đến giải pháp kinh doanh tốt nhất, tạo ra nguồn lợi nhuận to lớn, thúc đẩy sự phát triển và tăng trưởng trong nhiều ngành nghề khác nhau.

Giải pháp cho vấn đề tồn tại

Qua đó nhóm biết được giải pháp chung, mà những hộ kinh doanh này chọn đó là đăng ký, tham gia vào các hệ thống đã được xây dựng, hoàn thiện trước đó, với đầy đủ các chức năng, công cụ cần thiết, tất cả đều đã được kiểm tra kĩ càng, đảm bảo chất lượng tốt nhất, luôn được cập nhật thường xuyên. Chủ sở hữu của những hệ thống này, mở ra một loại hình cung cấp dịch vụ, cho phép những người dùng tham gia vào, mỗi người sẽ được cấp một bộ các tài khoản riêng biệt, dùng để đăng nhập vào và sử dụng hệ thống. Qua những thông tin thu thập được ở trên, đề tài mà nhóm muốn thực hiện sẽ là triển khai một website thương mại điện tử, cho phép nhiều người dùng có thể cùng tham gia vào, dùng chung các ứng dụng website, cho việc quản lý cũng như bán hàng trực tuyến.

Mục tiêu nghiên cứu

Sapo FNB: Phần mềm hỗ trợ cho các doanh nghiệp thuộc lĩnh vực F&B, quán ăn, quán cafe, giúp lên đơn hàng, quản lý kho, nguyên liệu, kiểm tra doanh thu,. Qua những khảo sát trên, có thể thấy mô hình dịch vụ mà Sapo mang lại là vô cùng đa dạng, với nhiều loại ứng dụng, nhiều loại công cụ, cực kì tiện ích.  Thanh công cụ của trang hiển thị các danh mục sản phẩm, trong các danh mục lại có các danh mục con tăng tính đa dạng trong phân loại các sản phẩm trong có trong cửa hàng.

Tổng hợp, phân tích yêu cầu cho hệ thống

 Giao diện bắt mắt, bố cục rừ ràng cỏc vị trớ content, navbar, sử dụng cỏc màu sắc đơn giản, không quá cầu kì, dễ nhìn, vị trí các nút bấm, hình ảnh sản phẩm, nội dung rừ ràng, Website hoạt động mượt mà.  Phải luôn đặt mình dưới góc nhìn 1 người dùng bình thường, mang đến những trải nghiệm tốt nhất. Giỳp người dựng nhận diện, xỏc định rừ vấn đề khi có lỗi xảy, để người khắc phục, thực hiện lại.

KIẾN TRÚC HỆ THỐNG VÀ CÔNG NGHỆ SỬ DỤNG

Kiến trúc hệ thống 1. Định nghĩa

Sử dụng database riêng biệt cho từng tenant (Database per Tenant) Với cách thiết kế này, hệ thống sẽ có 1 database chính (lưu trữ danh sách tenant, thông tin của các tenant,..), và các database của các tenant có cấu trúc giống nhau. Nếu database cung cấp chức năng phân quyền từng schema cho từng user, thì cơ chế bảo mật của công cụ cơ sở dữ liệu sẽ đảm bảo hơn nữa tính riêng tư và bảo mật của dữ liệu. Dùng chung database và schema cho tất cả tenant (Shared database) Với cách làm này thì tất cả dữ liệu của tenants sẽ lưu chung trong cùng table, và sẽ chỉ phân biệt nhau thông qua cột định danh ví dụ: tenant_id.

Công nghệ sử dụng – Backend 1. Spring Boot

Ngoài ra một tớnh năng cốt lừi của spring là dependency injection cho phộp người lập trỡnh tạo cỏc ứng dụng mô-đun bao gồm các thành phần được ghép nối lỏng lẻo giúp dễ dàng mở rộng hệ thống, lý tưởng cho việc phát triển ứng dụng microservice.  Spring là framework nổi tiếng cho một trong những ngôn ngữ phổ biến nhất thế giới là Java với cộng đồng sử dụng rất lớn, hầu hết vấn đề gặp phải khi sử dụng spring đều đã có cách giải quyết trên internet. Hệ quản trị cơ sở dữ liệu MySQL được hiểu như là chương trình dùng để quản lý hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rừ ràng, phõn lớp ngăn nắp.

Công nghệ sử dụng – Frontend 1. ReactJS

 MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thể quản lý cùng lúc một hay nhiều CSDL khác nhau. 1 Chứa các file khai báo định nghĩa các action trong redux 2 Chứa các file hình ảnh, bộ font chữ dưới dạng dữ liệu tĩnh. 3 Chứa các Components, thường là các components dùng để đổ dữ liệu vào render, không xử lý logic hay gọi API trong các components này.

Triển khai hệ thống, cấu hình CI/CD

 Từ các quyền (permission) này, ta có thể tạo thành các nhóm (group) tập hợp các quyền lại với nhau, tùy theo mong muốn của hệ thống mà ta có thể tạo ra các nhóm với từng loại quyền phù hợp. 3 Shop Admin Người quản lý cho hệ thống quản lý cửa hàng, sẽ là người có quyền truy cập vào toàn bộ các chức năng trong hệ thống quản lý cửa hàng. 4 Shop Employee Nhân viên thuộc hệ thống quản lý cửa hàng, quyền truy cập vào các chức năng trong hệ thống sẽ do Shop Admin quản lý và cấp phép.

Mô tả chức năng

Get list Xem danh sách các Shop Admin, permissions quyền Tenant Shop Employee Get Detail Xem thông tin chi tiết Shop Admin,. Get Detail Xem thông tin chi tiết Shop Admin, danh mục (tin tức, công Shop Employee việc, phòng ban, sản. Get List Xem danh sách các bộ Shop Admin, thuộc tính sản phẩm Shop Employee Get Detail Xem thông tin chi tiết bộ Shop Admin,.

Get List Xem danh sách các bộ Shop Admin, lọc thuộc tính sản phẩm Shop Employee Get Detail Xem thông tin chi tiết bộ Shop Admin,. (Master group Get List Xem danh sách các nhóm System Admin. permission quyền Master. management) Get Detail Xem thông tin chi tiết System Admin nhóm quyền Master. (customer khoản khách hàng. management) Get List Xem danh sách các thông System Admin tin, tài khoản khách hàng.

Condition(s): ● Tài khoản thuộc nhóm quyền có quyền tạo mới tài khoản Post- ● Hệ thống ghi nhận lịch sử và hiển thị thông báo thao tác Condition(s): thành công. Description Xoá tài khoản người dùng ở các phân hệ Actor(s) System Admin, Shop Admin, Shop Employee Priority High. Condition(s): ● Tài khoản thuộc nhóm quyền có quyền xoá tài khoản Post- ● Hệ thống ghi nhận lịch sử và hiển thị thông báo thao tác Condition(s): thành công.

Description Xem thông tin chi tiết và chỉnh sửa bộ thuộc tính sản phẩm Actor(s) Shop Admin, Shop Employee. Condition(s): ● Tài khoản thuộc nhóm quyền có quyền tạo mới tỉnh thành Post- ● Hệ thống hiển thị thông báo thao tác thành công. Use Case Name Xem danh sách thuộc tính Description Xem danh sách thuộc tính Actor(s) Shop Admin, Shop Employee.

Bảng 8: Use case xoá tài khoản
Bảng 8: Use case xoá tài khoản

Database khởi tạo thành công, chuyển trạng thái tenant sang Active

    + Có dấu X, click vào xóa nội dung + Có trạng thái Disabled (Khóa vùng dữ không cho điều chỉnh). ContentListTable + Table, Hiển thị dữ liệu thông tin nội dung tương ứng được quản lý.  Đăng nhập không thành công, hiển thị thông báo “Tên đăng nhập hoặc mật khẩu không đúng.

    4 Label + Hiển thị nhãn cho trường dữ liệu hình ảnh, ô hiển thị hình UploadImage ảnh và upload thay đổi hình ảnh. 5 Label + Input Hiển thị nhãn cho trường dữ liệu “Tài khoản”, ô nhập dữ liệu, bị khóa do loại dữ liệu không được phép điều chỉnh 6 Label + Input Hiển thị nhãn cho trường dữ liệu “Họ và tên”, ô nhập dữ. 7 Label + Input Hiển thị nhãn cho trường dữ liệu “Mật khẩu hiện tại”, ô nhập dữ liệu.

    8 Label + Input Hiển thị nhãn cho trường dữ liệu “Mật khẩu mới”, ô nhập dữ liệu. 9 Label + Input Hiển thị nhãn cho trường dữ liệu “Xác nhận mật khẩu mới”, ô nhập dữ liệu. 4 Label (Hover: Dropdown) Label hiển thị tên, hình ảnh của tài khoản được đăng nhập vào, hover hiển thị các tùy chọn bên trong.

    Website cũng sẽ sử dụng các giao diện thành phần, bố cục, vị trí các thành navbar, vùng hiển thị nội dung, nút bấm, tương tự như website quản lý cửa hàng, những sẽ có chút thay đổi về màu sắc, hình ảnh, tạo sự khác biệt cho website.

    Bảng 38: Use case xóa Tenant
    Bảng 38: Use case xóa Tenant

    KIỂM THỬ PHẦN MỀM 5.1. Test plan

    KẾT LUẬN

       Tuy việc triển khai một tenant diễn ra nhanh chóng nhưng các khâu quản lý chưa thực tốt cũng như chưa kĩ càng, vẫn còn nhiều lỗ hổng trong hệ thống.  Nghiệp vụ và các chức năng có trong website triển khai chưa thực sự tốt, khá ít tính năng và đơn giản.  Việc sử dụng chung cùng một cơ sở hạ tầng triển khai, do đó những bất lợi, sự cố khi xảy ra sẽ làm ảnh hưởng chung đến toàn bộ các cửa hàng đang vận hành.

       Chưa có hướng xử lý phù hợp khi gặp phải những những trường hợp khó khăn.  Tính năng bảo mật trong của các website tuy có tính tùy biến cao, nhưng đổi lại việc thế kế bảo mật cho từng nhóm người dùng chưa thực sự kĩ càng, dễ bị khai thác lỗ hổng.  Website quản lý cửa hàng còn thiếu một vài tính năng như là quản lý kho bãi, kênh hỗ trợ khách hàng,.

      Dành thời gian để nghiên cứu thêm về lối kiến trúc Multi-tenancy, tìm hiểu các ứng dụng, website hiện có, có mô hình hoạt động tương tự. Đưa ra một giải pháp kinh doanh cho việc ứng dụng mô hình này, xây dựng một loại hình dịch vụ thu phí người dùng khi tham gia sử dụng hệ thống. Phát triển nên các tính năng cho website quản lý cửa hàng: quản lý kho hàng, hệ thống mã giảm giá, hệ thống gợi ý sản phẩm, xây dựng kênh hỗ trợ khách hàng,.

      Nghiên cứu, tích hợp các thiết bị ngoại vi như là máy POS, máy quét QR.