Mỗi người dùng có 1 tài khoản và 1 tài khoản chỉ thuộc về một người dùng, phân biệt bằng ID
Hệ thống cho phép người dùng xem lại thông tin cá nhân
Hệ thống cho phép thay đổi một số thông tin cá nhân như: Họ tên, địa chỉ, điện thoại, mật khẩu, ngày sinh, địa chỉ nhận hàng nhưng không cho phép thay đổi email và role.
Một tài khoản có thể có nhiều địa chỉ nhận hàng, một trong các địa chỉ nhận hàng được đặt làm địa chỉ nhận hàng mặc địch
Tài khoản mới đăng ký sẽ lưu các dữ liệu: Họ tên, Email, Mật khẩu, địa chỉ, số điện thoại, các thông tin là username và địa chỉ nhận hàng có thể nhập sau ở trang quản lý tài khoản.
Mỗi tài khoản chỉ có một role
[x] Category(category_id, name):
Hệ thống phân các sản phẩm ra từng loại: Gundam, Sơn, Công cụ, Mô hình khác.
Một loại sản phẩm có thể có nhiều sản phẩm, một sản phẩm chỉ thuộc 1 loại sản phẩm.
Một sản phẩm trong hệ thống sẽ được lưu với các thông tin: Tên sản phẩm, Đơn giá, Số lượng còn lại, mô tả sản phẩm, hình ảnh, mức sale (%), id loại sản phẩm cụ thể).
Một sản phẩm sẽ thuộc một loại sản phẩm cụ thể (detail_category)
Count thể hiện số sản phẩm hiện có trong kho
Sale_amount thể hiện % giảm giá của sản phẩm
[x] Rating(rating_id, order_id, date, rating):
Người dùng phải đăng nhập nếu muốn đánh giá sản phẩm
Người dùng có thể đánh giá những đơn hàng đã mua trong mục lịch sử mua hàng
Hệ thống sẽ cho người dùng đánh giá sản phẩm các thông tin sẽ được lưu: order_detail_id, thời gian đánh giá, điểm đánh giá.
Người dùng chỉ được đánh giá sản phẩm khi đã mua ít nhất 1 sản phẩm tương ứng
Mỗi sản phẩm người dùng được đánh giá 1 lần.
Người dùng có thể đánh giá nhiều sản phẩm trên một đơn hàng.
Đánh giá trung bình của một sản phẩm được tính bằng tổng rating/ số lần rate
[x] Role(Role_id, name)
Tài khoản được chia làm 3 loại: admin, staff, user
Admin có toàn quyền hệ thống:
Quản lý sản phẩm (thêm xóa sửa sản phẩm/loại sản phẩm/loại chi tiết)
Quản lý người dùng(thêm/khóa/sửa tài khoản, điều chỉnh quyền tài khoản (user/staff))
[x] Account( account_id, name, address, email, phone, delivery address, username, password, role_id):
Mỗi người dùng có 1 tài khoản và 1 tài khoản chỉ thuộc về một người dùng, phân biệt bằng ID
Hệ thống cho phép người dùng xem lại thông tin cá nhân
Hệ thống cho phép thay đổi một số thông tin cá nhân như: Họ tên, địa chỉ, điện thoại, mật khẩu, ngày sinh, địa chỉ nhận hàng nhưng không cho phép thay đổi email và role.
Một tài khoản có thể có nhiều địa chỉ nhận hàng, một trong các địa chỉ nhận hàng được đặt làm địa chỉ nhận hàng mặc địch
Tài khoản mới đăng ký sẽ lưu các dữ liệu: Họ tên, Email, Mật khẩu, địa chỉ, số điện thoại, các thông tin là username và địa chỉ nhận hàng có thể nhập sau ở trang quản lý tài khoản.
Mỗi tài khoản chỉ có một role
[x] Category(category_id, name):
Hệ thống phân các sản phẩm ra từng loại: Gundam, Sơn, Công cụ, Mô hình khác.
Một loại sản phẩm có thể có nhiều sản phẩm, một sản phẩm chỉ thuộc 1 loại sản phẩm.
[x] Detail_category(Detail_category_ID,category_id, name):
Hệ thống phân các sản phẩm theo dòng sản phẩm: RG, PG, MG, HG, SD
Một dòng sản phẩm có thể có nhiều sản phẩm, mỗi sản phẩm chỉ thuộc 1 phân loại.
[x] Order(order_id, products,delivery_method,payment_method,account_id,payment_status,status,date,delivery_address,rating_id ):
Khi đặt hàng (nếu chưa đăng nhập) hệ thống yêu cầu khách hàng đăng nhập
Khi đặt hàng (nếu đã đăng nhập) hệ thống sẽ lấy thông tin họ tên, địa chỉ, số điện thoại từ bảng account và lưu ngày đặt hàng, phương thức thanh toán.
Nếu người dùng đã nhập địa chỉ nhận hàng (delivery_address) thì sẽ lấy địa chỉ đó làm mặc định, ngược lại sẽ lấy địa chỉ (address) làm mặc định.
Admin sẽ cập nhật các trạng thái cho đơn hàng (đã xác nhận, đã giao,đã hủy).
Một khách hàng có thể có nhiều order, 1 order chỉ thuộc 1 khách hàng.
Tổng tiền được tính bằng quantity * price
Một đơn hàng có thể có nhiều products
Các thông tin tên sản phẩm, khuyến mãi sẽ lấy từ bảng product.
Date được xác định là ngày khách hàng đặt hàng.
[x] Bill(bill_id, order_id,date)
Mỗi hóa đơn thuộc về một đơn hàng
Hóa đơn bao gồm: danh sách sản phẩm, tổng tiền thanh toán
Ngày lập hóa đơn là ngày admin xác nhận đơn hàng
[x] Product(product_id, name, price, count, description, image, sale_amount, detail_category_id):
Một sản phẩm trong hệ thống sẽ được lưu với các thông tin: Tên sản phẩm, Đơn giá, Số lượng còn lại, mô tả sản phẩm, hình ảnh, mức sale (%), id loại sản phẩm cụ thể).
Một sản phẩm sẽ thuộc một loại sản phẩm cụ thể (detail_category)
Count thể hiện số sản phẩm hiện có trong kho
Sale_amount thể hiện % giảm giá của sản phẩm
[x] Rating(rating_id, order_id, date, rating):
Người dùng phải đăng nhập nếu muốn đánh giá sản phẩm
Người dùng có thể đánh giá những đơn hàng đã mua trong mục lịch sử mua hàng
Hệ thống sẽ cho người dùng đánh giá sản phẩm các thông tin sẽ được lưu: order_detail_id, thời gian đánh giá, điểm đánh giá.
Người dùng chỉ được đánh giá sản phẩm khi đã mua ít nhất 1 sản phẩm tương ứng
Mỗi sản phẩm người dùng được đánh giá 1 lần.
Người dùng có thể đánh giá nhiều sản phẩm trên một đơn hàng.
Đánh giá trung bình của một sản phẩm được tính bằng tổng rating/ số lần rate
[x] Role(Role_id, name)
Tài khoản được chia làm 3 loại: admin, staff, user
Admin có toàn quyền hệ thống:
Quản lý sản phẩm (thêm xóa sửa sản phẩm/loại sản phẩm/loại chi tiết)
Quản lý người dùng(thêm/khóa/sửa tài khoản, điều chỉnh quyền tài khoản (user/staff))
Xem thống kê doanh thu của cửa hàng
Quản lý đơn hàng
Staff chỉ có quyền:
Thêm sản phẩm
Quản lý đơn hàng
[x] Delivery_method(Delivery_id, name, content, cost)
Có 3 phương thức giao hàng: (giao hàng nhanh 4h(30k)/giao hàng tiêu chuẩn 48h(free)/ chuyển phát nhanh(50k))
Giao hàng nhanh và giao hàng tiêu chuẩn chỉ áp dụng trong nội thành Hồ Chí Minh
Mỗi phương thức giao hàng sẽ có name và content để mô tả
Cost được gắn giá trị cố định
Mỗi phương thức giao hàng sẽ có một cost duy nhất
[x] Payment_method(Payment_id, name, description)
Có 3 loại phương thức thanh toán: (Thanh toán bằng tiền mặt/ chuyển khoản qua ngân hàng/ chuyển khoản qua Momo)