PHÂN TÍCH HỆ THỐNG
Sơ đồ use case
Hình 1: Sơ đồ Use case
Đặc tả use case
-Tác nhân: Quản trị viên, khách hàng thành viên, nhân viên.
-Chức năng: Đăng nhập để mua hàng và làm các thao tác của thành viên
-Đầu vào: Thành viên đã có tài khoản
Bước 1: Người dùng vào biểu tượng đăng nhập
Bước 2: Nhập gmail và mật khẩu rồi nhấn đăng nhập
Bước 3: Hệ thống bắt đầu kiểm tra tài khoản.
-Đầu ra: Nếu đúng hệ thống sẽ thông báo đăng nhập thành công và đƣa khách hàng về trang chủ Ngƣợc lại, nếu sai hệ thống sẽ bắt nhập thông tin lại
Hình 2.1: Use case đăng nhập
Hình 2.2: Giao diện đăng nhập
-Tác nhân: Người dung chưa có tài khoản
-Chức năng: Cho phép khách hàng đăng kí tài khoản
-Đầu vào: Nhập thông tin tài khoản
Bước 1: Nhấn vào biểu tượng đăng kí thành viên
Bước 2: Khách hàng nhập đầy đủ thông tin mà hệ thống yêu cầu
Bước 3: Nhấp đăng kí và hệ thống sẽ xử lý
Hệ thống sẽ thông báo bạn đăng kí thành công
Ngƣợc lại, nếu thất bạn thì bạn kiểm tra thông tin bạn nhập có đúng hay không
Hình 2.3: Use case đăng kí
Hình 2.4: Giao diện đăng kí
3 Use case cập nhật thông tin cá nhân
-Chức năng: Thay đổi thông tin cá nhân
-Đầu vào: Điền thông tin cần cập nhật và thông tin cần chỉnh sửa
Bước 1: Người dùng điền thông tin cần cập nhật
Bước 2: Hệ thống sẽ kiểm tra và lưu thông tin
-Đầu ra: Thông báo kết quả cập nhật
Hình 2.5: Use case thay đổi thông tin cá nhân
Hình 2.6: Giao diện cập nhật thông tin
-Tác nhân: Khách hàng chọn sản phẩm
-Chức năng: Xem sản phẩm mà khách hàng đã thêm vào giỏ
-Đầu vào: Sản phẩm đƣợc chọn
Bước 1: Nhấn vào biểu tượng giỏ hàng
Bước 2: Hệ thống đưa bạn đến trang giỏ hàng
-Đầu ra: Các sản phẩm bạn chọn vào giỏ hàng
Hình 2.7: Use case giỏ hàng
Hình 2.8: Giao diện giỏ hàng
5 Use case tìm kiếm sản phẩm
-Tác nhân: khách vãng lai, thành viên
-Đầu vào: Nhập tên sản phẩm muốn tìm kiếm
Bước 1: Người dùng nhập dữ liệu vào ô tìm kiếm, hệ thống sẽ tiến hành lọc và tìm kiếm những thông tin liên quan với dữ liệu mà người dùng nhập.
Bước 2: Nhấn nút tìm kiếm, hệ thống xử lý và đưa ra kết quả
-Hiển thị ra những sản phẩm mà người dùng tìm kiếm.
-Ngược lại hệ thống sẽ thông báo không có sản phẩm mà người dùng tìm kiếm.
Hình 2.9: Use case tìm kiếm
Hình 2.10: Giao diện tìm kiếm
-Chức năng: Đặt hàng, thanh toán sản phẩm
-Đầu vào: Thành viên đã có tài khoản
Bước 1: Nhấn vào biểu tượng giỏ hàng
Bước 2: Hệ thống đưa bạn đến trang giỏ hàng
Bước 3: Nhấn thanh toán ngay
Bước 4: Nhập thông tin đầy đủ, chọn phương thức thanh toán
-Đầu ra: Thông báo mua hàng thành công.Ngƣợc lại nếu nhận thông báo mua hàng thất bại, bạn phải kiểm tra thông tin
Hình 2.12: Giao diện đặt hàng
7 Use case quản lý sản phẩm
-Tác nhân: Quản trị viên
-Chức năng: Cập nhật sản phẩm
-Đầu vào: Thông tin sản phẩm
Bước 1: Đăng nhập vào trang quản trị
Bước 2: Hệ thống đưa bạn đến trang quản trị
Bước 3: Cập nhật sản phẩm
-Đầu ra: Thông báo cập nhật thành công
Hình 2.11: Use case đặt hàng
Hình 2.13: Use case quản lí sản phẩm
Hình 2.14: Giao diện quản lí sản phẩm
Sơ đồ ERD
THIẾT KẾ CƠ SỞ DỮ LIỆU
Bảng dữ liệu
-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 1: Cấu trúc dữ liệu bảng users
STT Tên Trường Kiểu Dữ
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
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 dùng lần cuối cùng
-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: Cấu trúc dữ liệu bảng products
STT Tên Trường Kiểu Dữ
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
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 3: Cấu trúc dữ liệu bảng producers
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 nhà sản xuất
3 infomation 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
4 Bảng sản phẩm chi tiết (product_details)
-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 4: Cấu trúc dữ liệu bảng product_details
STT Tên Trường Kiểu Dữ
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
5 Bảng ảnh sản phẩm (product_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 5: Cấu trúc dữ liệu bảng porduct_images
STT 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
6 update_at timestamp Thời gian cập nhật lần cuối
6 Bảng đánh giá sản phẩm (product_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 6: Cấu trúc dữ liệu bảng product_votes
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 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
-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 7: Cấu trúc dữ liệu bảng comments
STT 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
-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 8: 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 9: 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
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 10: 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
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 11: 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
-Bảng bài viết là bảng lưu trữ tất cả các bài viết trên hệ thống Bảng 12: 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
-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 13: Cấu trúc dữ liệu bảng advertises
STT 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
9 update_at timestamp Thời gian cập nhật lần cuối
Sơ đồ quan hệ
Hình 3: Sơ đồ quan hệ
XÂY DỰNG CHƯƠNG TRÌNH
Hình 4.1: Giao diện trang chủ
2 Giao diện trang quản trị
Hình 4.2: Giao diện trang quản trị
Hình 4.3: Giao diện trang giới thiệu
4 Giao diện trang sản phẩm
Hình 4.4: Giao diện trang sản phẩm
5 Giao diện trang chi tiết sản phẩm
Hình 4.5: Giao diện trang chi tiết sản phẩm
6 Giao diện trang tin tức
Hình 4.6: Giao diện trang tin tức
Hình 4.7: Giao diện liên hệ
Hình 4.8: Giao diện trang đăng nhập
9 Giao diện đăng nhập thành công cho quản trị viên
Hình 4.9: Giao diện đăng nhập thành công cho quản trị viên
10.Giao diện đăng nhập thành công cho người dùng
Hình 4.10: Giao diện đăng nhập thành công cho người dung
11.Giao diện chức năng đăng kí
Hình 4.11: Giao diện chức năng đăng kí
12 Giao diện gmail kích hoạt tài khoản
Hình 4.12: Giao diện gmail kích hoạt tài khoản
13.Giao diện trang quên mật khẩu
Hình 4.13: Giao diện trang quên mật khẩu
14.Giao diện gmail quên mật khẩu
Hình 4.14: Giao diện gmail quên mật khẩu
15.Giao diện trang đặt lại mật khẩu
Hình 4.15: Giao diện trang đặt lại mật khẩu
16.Giao diện chức năng tìm kiếm, lọc thông tin
Hình 4.16: Giao diện chức năng tìm kiếm, lọc thông tin
17 Giao diện chức năng đánh giá, bình luận
Hình 4.17: Giao diện chức năng đánh giá, bình luận
18.Giao diện chức năng giỏ hàng
Hình 4.18: Giao diện chức năng giỏ hàng
19 Giao diện chức năng mua hàng và thanh toán
Hình 4.19: Giao diện chức năng mua hàng và thanh toán
20.Giao diện chức năng mua hàng online
Hình 4.20: Giao diện mua hàng online
21.Giao diện trang quản lí quảng cáo
Hình 4.21: Giao diện trang quản lí quảng cáo
22.Giao diện trang quản lí tài khoản
Hình 4.22: Giao diện trang quản lí tài khoản
Hình 4.23: Giao diện trang chi tiết tài khoản
23.Giao diện trang quản lí sản phẩm
Hình 4.24: Giao diện trang quản lí sản phẩm
Hình 4.25: Giao diện trang chỉnh sửa sản phẩm
24.Giao diện chức năng quản lí đơn hàng
Hình 4.26: Giao diện quản lí đơn hành
Hình 4.27: Giao diện trang chi tiết đơn hành
Hình 4.28: Giao diện trang in hóa đơn
25.Giao diện trang báo cáo thống kê
Hình 4.29: Giao diện báo cáo thống kê
Hình 4.30: Giao diện báo cáo thống kê
Hình 4.31: Giao diện in báo cáo
Hình 4.32: Giao diện in báo cáo