2.4.15.1. Chức năng hỗ trợ trực tuyến, chatbot tự động
Chức năng này cho phép người dùng có thể chat trưc tiếp với người quản trị để được hỗ trợ hoặc khiếu nại trực tuyến 24/7. Chức năng này sử dụng tiện ích Messenger cùa Facebook, đồng thời kết hợp với một web app hỗ trợ tạo kịch bản chat tự động (Fchat.vn) giúp cho việc hỗ trợ giao tiếp với khách hàng khi người quản trị vắng mặt. Bất kỳ khách hàng nào có hoặc không có tài khoản Facebook cũng đều được hỗ trợ.
Bên cạnh tiện ích Messenger của Facebook hệ thống còn sử dụng chức năng Fanpage của Facebook để người dùng có thể nắm bắt được các tin tức mới nhất của cửa hàng.
2.4.15.2. Chức năng quản lý quảng cáo
Chức năng cho phép người quản trị có thể quản lý các ảnh quảng cáo hiển thị trên trang chủ và các trang khác. Nhằm giúp cho người dùng nắm bắt được các thông tin khuyến mại đang áp dụng. Hơn nữa còn giúp cho cửa hàng chạy các chiến dịch quảng cáo thu hút khách hàng.
2.5. Thiết kế cơ sở dữ liệu
2.5.1. Các bảng trong cơ sở dữ liệu
2.5.1.1. Bảng người dùng (users)
Bẳng người dùng là bàng lưu trữ thông tin tài khoản của người dùng bao gồm thông tin cá nhân và thông tin đăng nhập.
Bảng 2.15 Cấu trúc dữ liệu bảng users
ST
T Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính
2 name varchar Tên người dùng
3 email varchar Email người dùng
4 phone varchar Số điện thoại người dùng
5 address varchar Địa chỉ người dùng
6 avatar_image varchar Ảnh đại diện người dùng
7 provider varchar Mạng xã hội dùng để đăng ký tài khoản trên hệ thống
8 provider_id varchar ID tài khoản mạng xã hội đã đăng ký tài khoản trên hệ thống
9 admin tinyint Giá tri 1 nếu là admin, 0 nếu là tài khoản thường
10 active tinyint Giá trị 1 nếu tài khoản đã được kích hoạt, 0 nếu chưa
11 password varchar Mật khẩu người dùng đã được mã hóa
12 active_token varchar Mã kích hoạt tài khoản gửi kèm email kích hoạt
13 remember_token varchar Mã đăng nhập cho người dùng chọn nhớ tài khoản
14 create_at timestamp Thời gian tạo dữ liệu người dùng 15 update_at timestamp Thời gian thay đổi dữ liệu người
2.5.1.2. Bảng sản phẩm (produsts)
Bảng sản phẩm là bảng lưu trữ thông tin của sản phẩm bao gồm: tên sản phẩm, mã sản phẩm, ảnh hiển thị và các thông tin cấu hình của sản phẩm.
Bảng 2.16 Cấu trúc dữ liệu bảng products
ST
T Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 producer_id bigint Khóa ngoại liên kết với bảng producers
3 name varchar Tên sản phẩm
4 image varchar Ảnh sản phẩm hiển thị
5 sku_code varchar Mã sản phẩm
6 monitor varchar Thông số màn hình
7 front_camera varchar Thông số camera trước
8 rear_camera varchar Thông số camera sau
9 CPU varchar Thông số CPU
10 GPU varchar Thông số GPU
11 RAM int Thông số RAM
12 ROM int Thông số ROM
13 OS varchar Hệ điều hành
14 pin varchar Thông số pin
15 information_details longtext Thông số chi tiết 16 product_introduction longtext Bài viết giới thiệu
17 rate double Điểm đánh giá
18 create_at timestamp Thời gian tạo
19 update_at timestamp Thời gian cập nhật lần cuối
2.5.1.3. Bảng nhà sản xuất (producers)
Bảng nhà sản xuất là bảng lưu trữ thông tin xuất xứ của sản phẩm. Mỗi nhà sản xuất thì có nhiều sản phẩm và mỗi sản phẩm chỉ thuộc một nhà sản xuất, do đó quan hệ giữa bảng sản phẩm và bảng nhà sản xuất là quan hệ một nhiều.
Bảng 2.17 Cấu trúc dữ liệu bảng producers
ST
T Tên Trường Kiểu Dữ Liệu Mô Tả
1 Id bigint Khóa chính của bảng
2 Name varchar Tên nhà sản xuất
3 Information longtext Thông tin nhà sản xuất
4 create_at timestamp Thời gian tạo
5 update_at timestamp Thời gian cập nhật lần cuối
Bảng sản phẩm chi tiết lưu trữ thông tin phân loại trong cùng một sản phẩm. Quan hệ giữa bảng sản phẩm và bàng chi tiết sản phẩm là quan hệ một nhiều.
Bảng 2.18 Cấu trúc dữ liệu bảng product_details
ST
T Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 product_id bigint Khóa ngoại liên kết với bảng products
3 color varchar Màu sắc sản phẩm
4 import_quantity int Số lượng sản phẩm nhập vào
5 quantity int Số lượng sản phẩm còn lại
6 import_price int Giá sản phẩm nhập vào
7 sale_price int Giá sản phẩm bán ra
8 promotion_price int Giá sản phẩm khuyến mãi
9 promotion_start_date date Ngày bắt đầu khuyến mãi 10 promotion_end_date date Ngày kết thúc khuyến mãi
11 create_at timestamp Thời gian tạo
12 update_at timestamp Thời gian cập nhật lần cuối
2.5.1.5. Bảng ảnh sản phẩm (produst_images)
Bảng ảnh sản phẩm là bảng lưu trữ ảnh của từng sản phẩm chi tiết. Quan hệ giữa bảng sản phẩm chi tiết và bảng ảnh sản phẩm là quan hệ một nhiều.
Bảng 2.19 Cấu trúc dữ liệu bảng porduct_images
ST
T Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 product_detail_id bigint Khóa ngoại liên kết với bảng product_details
3 image_name varchar Tên ảnh
4 Image_path varchar Đường dẫn ảnh
5 create_at timestamp Thời gian tạo
2.5.1.6. Bảng đánh giá sản phẩm (produst_votes)
Bảng đánh giá là bảng lưu trữ đánh giá của người dùng về một sản phẩm.
Bảng 2.20 Cấu trúc dữ liệu bảng product_votes
ST
T Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 user_id bigint Khóa ngoại liên kết với bảng
users
3 product_id bigint Khóa ngoại liên kết với bảng products
4 rate double Điểm đánh giá
5 content varchar Nội dung đánh giá
6 create_at timestamp Thời gian tạo
7 update_at timestamp Thời gian cập nhật lần cuối
2.5.1.7. Bảng bình luận (comments)
Bảng bình luận là bảng lưu trữ bình luận của người dùng về sản phẩm.
Bảng 2.21 Cấu trúc dữ liệu bảng comments
ST
T Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 comment_id bigint Id của bình luận cha
3 user_id bigint Khóa ngoại liên kết với bảng
users
4 product_id bigint Khóa ngoại liên kết với bảng products
5 content varchar Nội dung bình luận
6 create_at timestamp Thời gian tạo
7 update_at timestamp Thời gian cập nhật lần cuối
2.5.1.8. Bảng thông báo (notices)
Bảng thông báo là bảng lưu trữ tất cả các thông báo của người dùng.
Bảng 2.22 Cấu trúc dữ liệu bảng notices
STT Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 user_id bigint Khóa ngoại liên kết với bảng users
3 content varchar Nội dung thông báo
4 status tinyint Trạng thái thông báo
5 create_at timestamp Thời gian tạo
6 update_at timestamp Thời gian cập nhật lần cuối
Bảng đơn hàng là bảng lưu trữ thông tin đơn hàng của người dùng bao gồm thông tin cá nhân và phương thức thanh toán.
Bảng 2.23 Cấu trúc dữ liệu bảng orders
STT Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 user_id bigint Khóa ngoại liên kết với bảng users 3 payment_method_id bigint Khóa ngoại liên kết với bảng
payment_methods
4 order_code varchar Mã đơn hàng
5 name varchar Tên trên đơn hàng
6 email varchar Email trên đơn hàng
7 phone varchar Số điện thoại trên đơn hàng
8 address varchar Địa chỉ trên đơn hàng
9 status tinyint Trạng thái đơn hàng
10 create_at timestamp Thời gian tạo
11 update_at timestamp Thời gian cập nhật lần cuối
2.5.1.10. Bảng chi tiết đơn hàng (order_details)
Bảng chi tiết đơn hàng là bảng lưu trữ thông tin sản phẩm chi tiết của đơn hàng bao gồm thông tin về sản phẩm, số lượng, đơn giá...
Bảng 2.24 Cấu trúc dữ liệu bảng order_details
STT Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 order_id bigint Khóa ngoại liên kết với bảng orders
3 product_detail_id bigint Khóa ngoại liên kết với bảng product_details
4 quantity int Số lượng sản phẩm
5 price int Giá một sản phẩm
6 create_at timestamp Thời gian tạo
7 update_at timestamp Thời gian cập nhật lần cuối
2.5.1.11. Bảng phương thức thanh toán (payment_methods)
Bảng phương thức thanh toán lưu trữ thông tin phương thức thanh toán.
Bảng 2.25 Cấu trúc dữ liệu bảng payment_methods
STT Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 name varchar Tên phương thức
3 describe varchar Mô tả phương thức
4 create_at timestamp Thời gian tạo
5 update_at timestamp Thời gian cập nhật lần cuối
2.5.1.12. Bảng bài viết (posts)
Bảng 2.26 Cấu trúc dữ liệu bảng posts
STT Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 title varchar Tiêu đề bài viết
3 image varchar Ảnh hiển thị bài viết
4 content longtext Nội dung bài viết
5 create_at timestamp Thời gian tạo
6 update_at timestamp Thời gian cập nhật lần cuối
2.5.1.13. Bảng quảng cáo (advertises)
Bảng quảng cáo là bảng lưu trữ thông tin quản cáo về sản phẩm trên hệ thống.
Bảng 2.27 Cấu trúc dữ liệu bảng advertises
ST
T Tên Trường Kiểu Dữ Liệu Mô Tả
1 id bigint Khóa chính của bảng
2 product_id bigint Khóa ngoại liên kết với bảng
products
3 title varchar Tiêu đề quảng cáo
4 image varchar Ảnh quảng cáo
5 at_home_page tinyint Vị trí hiển thị trên trang chủ
6 start_date date Ngày bắt đầu quảng cáo
7 end_date date Ngày kết thúc quảng cáo
8 create_at timestamp Thời gian tạo
2.5.2. Lược đồ quan hệ của các bảng (ERD)
Mô tả mối quan hệ giữa các bảng trong cơ sở dữ liệu:
Quan hệ giữa bảng người dùng (users) với các bảng như là bảng thông báo (notices), bảng đánh giá (product_votes), bảng bình luận (comments) hoặc bảng đơn hàng (order) là quan hệ một nhiều do một người dùng có thể có nhiều thông báo, đánh giá, bình luận hoặc đơn hàng. Nhưng ngược lại, một thông báo, một bình luận, một đánh giá hoặc một đơn hàng thì chỉ thuộc về một người dùng.
Quan hệ giữa bảng sản phẩm (products) với các bảng như là bảng chi tiết sản phẩm (product_details), bảng đánh giá (notices), bảng bình luận (comments), bảng khuyến mãi (promotions) hay bảng quảng cáo (advertises) là quan hệ một nhiều, do một sản phẩm có thể có nhiều sản phẩm chi tiết, đánh giá, bình luận, khuyến mãi hay quảng cáo nhưng một sản phẩm chi tiết, một đánh giá, một bình luận, một khuyến mãi hay một quảng cáo thì chỉ thuộc về một sản phẩm. Riêng quan hệ giữa bảng sản phẩm với bảng nhà sản xuất (producers) là quan hệ nhiều một do một sản phẩm chỉ thuộc về một nhà sản xuất và một nhà sản xuất thì có nhiều sản phẩm.
Quan hệ giữa bảng sản phẩm chi tiết (order_details) và bảng hình ảnh sản phẩm (product_images) là quan hệ một nhiều do một sản phẩm chi tiết có thể có nhiều hình ảnh nhưng một hình ảnh thì chỉ thuộc về một sản phẩm chi tiết.
Quan hệ giữa bản đơn hàng (orders) với bảng sản phẩm chi tiết (product_details) là quan hệ nhiều nhiều thông qua bảng chi tiết sản phẩm (order_details) do một đơn hàng thì có thể có nhiều sản phẩm chi tiết trong một sản phẩm và ngược lại một sản phẩm chi tiết của sản phẩm có thể thuộc nhiều đơn hàng.
Quan hệ giữa bảng phương thức thanh toán (payment_methods) với bảng đơn hàng là quan hệ một nhiều do một phương thức thanh toán thì có thể có nhiều đơn hàng sử dụng nhưng một đơn hàng chỉ được áp dụng một phương thức thanh toán.
2.6. Kết luận
Trong nội dung của chương 2, em đã phân tích các yêu cầu đặt ra cho hệ thống website bán điện thoại. Trên cơ sở đó em đã đưa ra các tác nhân của hệ thống, chức năng chính của hệ thống, biểu đồ Use case và biểu đồ hoạt động cho từng chức năng đó. Bên cạnh đó em đã đưa ra thiết kế các bảng trong cơ sở dữ liệu và mối quan hệ giữa chúng. Trong chương 3, em sẽ trình bày về kết quả xây dựng website như là một số hình ảnh giao diện website, giao diện chức năng và hiệu năng chạy thực tế trên môi trường thực.
CHƯƠNG III. XÂY DỰNG CHƯƠNG TRÌNH
Nội dung: Trong chương 3, em sẽ trình bày về môi trường triển khai ứng dụng, giao diện chi tiết các chức năng của website.
3.1. Môi trường triển khai ứng dụng
Ứng dụng được triển khai kiểm thử trên một máy chủ phần mềm bảng điều khiển lưu trữ web cPanel với hosting và tên miền tính phí của iNET là https://bkphone.xyz
Hình 3.1 iNET cung cấp hosting và tên miền
3.2. Giao diện ứng dụng
3.2.1. Giao diện một số trang chính
3.2.1.1. Giao diện trang chủ
3.2.1.2. Giao diện trang quản trị
Hình 3.4 Giao diện trang quản trị BKPhone
3.2.1.3. Giao diện trang sản phẩm
3.2.1.4. Giao diện trang chi tiết sản phẩm
3.2.1.5. Giao diện trang tin tức
3.2.1.6. Giao diện trang chi tiết tin tức
3.2.2. Giao diện một số chức năng
3.2.2.1. Giao diện chức năng đăng nhập
Hình 3.9 Giao diện trang đăng nhập hệ thống
Hình 3.11 Thông báo đăng nhập thành công cho tài khoản quản trị
3.2.2.2. Giao diện chức năng đăng ký
Hình 3.14 Email kích hoạt tài khoản
3.2.2.3. Giao diện chức năng quên mật khẩu
Hình 3.16 Giao diện trang quên mật khẩu
Hình 3.18 Giao diện trang đặt lại mật khẩu
3.2.2.4. Giao diện chức năng tìm kiếm
3.2.2.5. Giao diện chức năng sắp xếp và lọc
3.2.2.6. Giao diện chức năng đánh giá và bình luận
3.2.2.7. Giao diện chức năng giỏ hàng
Hình 3.22 Giao diện trang giỏ hàng
3.2.2.8. Giao diện chức năng mua hàng và thanh toán
Hình 3.25 Giao diện trang thanh toán online
3.2.2.9. Giao diện chức năng quản lý tài khoản
Hình 3.28 Giao diện trang quản lý tài khoản
Hình 3.29 Giao diện trang chi tiết tài khoản
3.2.2.10. Giao diện chức năng quản lý bài viết
Hình 3.31 Giao diện trang chỉnh sửa bài viết
3.2.2.11. Giao diện chức năng quản lý sản phẩm
Hình 3.33 Giao diện chức năng thêm sản phẩm mới
3.2.2.12. Giao diện chức năng quản lý đơn hàng
Hình 3.35 Giao diện trang quản lý chi tiết đơn hàng
3.2.2.13. Giao diện chức năng thống kê
Hình 3.37 Giao diện chức năng thông kê doanh thu theo các ngày trong một tháng
Hình 3.39 Giao diện chức năng in báo cáo
3.2.2.14. Giao diện chức năng chatbot tư vấn khách hàng tự động
3.3. Kết luận
Qua nội dung chương 3, em đã trình bày được kết quả xây dựng website như là một số hình ảnh giao diện website, giao diện chức năng và hiệu năng chạy thực tế trên môi trường thực. Trong chương 4, cũng là chương cuối cùng em sẽ đưa ra kết luận tổng quát về những kết quả đạt được và định hướng phát triển dự án trong tương lai.
CHƯƠNG IV. KẾT LUẬN 4.1. Những kết quả đạt được
Sau một thời gian tìm hiểu và khảo sát qua các website bán điện thoại như là Thế Giới Di Động, FPT Shop và một số tài liệu trực tuyến xây dựng website bán hàng bằng Laravel, từ đó thì em đã hoàn thiện được cơ bản đề tài “Thiết kế website thương mại điện tử kinh doanh điện thoại di động chạy được trên cả máy tính và thiết bị di động BKPhone” với những kết quả đạt được như sau:
- Về chức năng: hệ thống website đã hoàn thiệt được hầu hết các chức năng cơ bản của website thương mại điện tử như là: người dùng có thể tạo tài khoản, đăng nhập