1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng website bán đồ nội thất online

93 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Bán Đồ Nội Thất Online
Tác giả Nguyễn Hoàng Phúc, Nguyễn Thanh Sang
Người hướng dẫn GV Nguyễn Tấn Toàn
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Đồ Án
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 93
Dung lượng 7,58 MB

Cấu trúc

  • 1.1. Lý do chọn đề tài (13)
  • 1.2. Mục tiêu đề tài (13)
  • 1.3. Đối tượng sử dụng (13)
  • 1.4. Phạm vi (13)
  • 1.5. Công nghệ sử dụng (13)
  • 1.6. Liên kết (14)
  • 2.1. ReactJS (15)
    • 2.1.1. Virtual DOM (15)
    • 2.1.2. Component (16)
    • 2.1.3. JSX (16)
    • 2.1.4. Props & State (16)
    • 2.1.5. React Lifecycle (17)
  • 2.2. NodeJS (17)
  • 2.3. ExpressJS (19)
  • 2.4. MongoDB (20)
  • 3.1. Kiến trúc hệ thống: Mô hình Client – Server (22)
  • 3.2. Yêu cầu chức năng (23)
    • 3.2.1. Sơ đồ Use case (23)
    • 3.2.2. Danh sách các actor (24)
    • 3.2.3. Danh sách các use case (24)
    • 3.2.4. Đặc tả use case (26)
  • 4.1. Sơ đồ lớp (43)
  • 4.2. Danh sách các quan hệ (43)
    • 4.2.1. Bảng CUSTOMER (43)
    • 4.2.2. Bảng STAFF (44)
    • 4.2.3. Bảng PRODUCT (44)
    • 4.2.4. Bảng PRODUCT_IMAGE (44)
    • 4.2.5. Bảng PRODUCT_COLOR (45)
    • 4.2.6. Bảng PRODUCT_DIMENSION (45)
    • 4.2.7. Bảng CATEGORY (45)
    • 4.2.8. Bảng SUBCATEGORY (45)
    • 4.2.9. Bảng COLOR (45)
    • 4.2.10. Bảng SUPPLIER (46)
    • 4.2.11. Bảng CART (46)
    • 4.2.12. Bảng CART_ITEM (46)
    • 4.2.13. Bảng ORDER (46)
    • 4.2.14. Bảng ORDER_ITEM (47)
    • 4.2.15. Bảng IMPORT (47)
    • 4.2.16. Bảng IMPORT_DETAIL (47)
    • 4.2.17. Bảng FEEDBACK (47)
    • 4.2.18. Bảng FEEDBACK_IMAGE (48)
    • 4.2.19. Bảng ADDRESS (48)
    • 4.2.20. Bảng DISCOUNT (48)
    • 4.2.21. Bảng WISHLIST (48)
    • 4.2.22. Bảng PAYMENT (49)
    • 4.2.23. Bảng ATTACHMENT (49)
  • 5.1. Màn hình trang chủ (49)
  • 5.2. Màn hình đăng nhập / đăng ký (51)
  • 5.3. Màn hình quên mật khẩu (51)
  • 5.4. Màn hình sản phẩm (52)
  • 5.5. Màn hình chi tiết sản phẩm (52)
  • 5.6. Màn hình giỏ hàng (54)
  • 5.7. Màn hình đặt hàng (55)
  • 5.8. Màn hình thông tin tài khoản (56)
  • 5.9. Màn hình danh sách địa chỉ (56)
  • 5.10. Màn hình danh sách hóa đơn (57)
  • 5.11. Màn hình chi tiết hóa đơn (58)
  • 5.12. Màn hình đánh giá sản phẩm (59)
  • 5.13. Màn hình đổi mật khẩu (60)
  • 5.14. Màn hình danh sách sản phẩm yêu thích (61)
  • 5.15. Màn hình về chúng tôi (62)
  • 5.16. Màn hình đăng nhập (nhân viên) (62)
  • 5.17. Màn hình trang chủ (63)
  • 5.18. Màn hình đổi mật khẩu (64)
  • 5.19. Màn hình quản lý sản phẩm (65)
  • 5.20. Màn hình thêm sản phẩm (66)
  • 5.21. Màn hình chi tiết sản phẩm (67)
  • 5.22. Màn hình chỉnh sửa sản phẩm (68)
  • 5.23. Màn hình quản lý danh sách nhập kho (69)
  • 5.24. Màn hình chi tiết nhập kho (70)
  • 5.25. Màn hình nhập kho (70)
  • 5.26. Màn hình thêm sản phẩm nhập kho (71)
  • 5.27. Màn hình quản lý đơn hàng (72)
  • 5.28. Màn hình chi tiết đơn hàng (73)
  • 5.29. Màn hình quản lý khách hàng (74)
  • 5.30. Màn hình chi tiết khách hàng (74)
  • 5.31. Màn hình quản lý nhân viên (75)
  • 5.32. Màn hình thêm nhân viên (76)
  • 5.33. Màn hình chỉnh sửa nhân viên (77)
  • 5.34. Màn hình quản lý đợt giảm giá (78)
  • 5.35. Màn hình thêm đợt giảm giá (79)
  • 5.36. Màn hình chỉnh sửa đợt giảm giá (80)
  • 5.37. Màn hình áp dụng đợt giảm giá cho sản phẩm (81)
  • 5.38. Màn hình quản lý loại sản phẩm (82)
  • 5.39. Màn hình thêm loại sản phẩm (82)
  • 5.40. Màn hình chỉnh sửa loại sản phẩm (83)
  • 5.41. Màn hình quản lý loại phòng (83)
  • 5.42. Màn hình thêm loại phòng (84)
  • 5.43. Màn hình chỉnh sửa loại phòng (84)
  • 5.44. Màn hình quản lý màu (85)
  • 5.45. Màn hình thêm màu (86)
  • 5.46. Màn hình chỉnh sửa màu (87)
  • 5.47. Màn hình quản lý nhà cung cấp (88)
  • 5.48. Màn hình thêm nhà cung cấp (88)
  • 5.49. Màn hình chỉnh sửa nhà cung cấp (89)
  • 6.1. Môi trường cài đặt và thử nghiệm (90)
  • 6.2. Kết quả đánh giá (90)
  • 7.1. Kết quả đạt được (91)
  • 7.2. Hạn chế (91)
  • 7.3. Hướng phát triển (91)
  • TÀI LIỆU THAM KHẢO..........................................................................................................84 (93)

Nội dung

Mục tiêu đề tài

- Xây dựng website cho phép quản lý cửa hàng nội thất online, cho phép người dùng mua hàng, tìm kiếm hàng, xem lịch sử mua hàng, cùng với đó là các chức năng để tối ưu hóa dịch vụ chăm sóc khách hàng, nâng cao trải nghiệm mua hàng và tăng cường khả năng tiếp cận khách hàng.

- Xây dựng website với giao diện thân thiện, tối ưu, dễ tiếp cận.

- Xây dựng hệ thống với tốc độ xử lý tối ưu nhất có thể.

Đối tượng sử dụng

- Các công ty sản xuất nội thất, muốn áp dụng công nghệ trong kinh doanh,muốn tạo ra một website để mang lại dấu ấn riêng cho doanh nghiệp của mình.

Phạm vi

- Website admin cho phép quản lý hàng hóa nội thất, thống kê số liệu và quản lý người dùng, nhân viên, đợt giảm giá sản phẩm.

- Website khách hàng cho phép người dùng mua hàng, tìm kiếm thông tin hàng hóa, và các chức năng để tối ưu dịch vụ chăm sóc khách hàng.

Công nghệ sử dụng

- Thiết kế giao diện: Figma

Liên kết

- Github Front-end (Website khách hàng): https://github.com/sang1833/DoAn1_20521767_20521833

- Github Front-end (Website admin): https://github.com/PhucNguyenHoang611/DoAn1_20521767_20521833_A DMIN

- Github Back-end: https://github.com/PhucNguyenHoang611/DoAn1_20521767_20521833_BE

Chương 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

ReactJS

Virtual DOM

- DOM hay Document Object Model là một cấu trúc trừu tượng của text Mỗi đoạn mã của HTML được gọi là một HTML DOM, các yếu tố trong HTML là các nodes của DOM đó.

- Tại sao chúng ta cần virtual DOM vì khi nodes thay đổi các nodes khác cũng cần thay đổi Chẳng hạn, bạn có 10 items nhưng nếu bạn thay đổi 1 thì DOM cững thay đổi 9 items còn lại quay trở lại trạng thái ban đầu.

- Điều này là không thực sự cần thiết, bởi tốc độ xử lý của DOM nhanh nhưng với các ứng dụng SPA việc thay đổi các DOM liên tục sẽ xảy ra khá chậm và không mang tính khả thi cao khi triển khai ứng dụng lớn Khi đó virtual DOM sẽ được sử dụng để thay thế, được xây dựng dựa trên DOM thực tế.

- Khi thực hiện render một JSX element, các virtual DOM object sẽ được cập nhật khi virtual DOM được cập nhật ReactJS so sánh virtual DOM với virtual DOM trước đó nhằm đảm bảo trước khi thực hiện cập nhật, cập nhật trên DOM thật sau đó và hiển thị trên màn hình.

- Việc sử dụng virtual DOM sẽ giúp tiết kiệm tài nguyên và tốc độ xử lý nhanh hơn vì virtual DOM tập trung cập nhật 1 items duy nhất.

Component

- Khi làm việc trong các project lớn, UI có độ phức tạp cao và cần được chia thành các thành phần nhỏ được gọi là component.

- Trong ReactJS có hai loại component chính là Class component và Function component.

JSX

- JSX là thuật ngữ viết tắt của Javascript XML cho phép việc viết đoạn mãHTML trong React trở nên đơn giản, dễ dàng và có cấu trúc hơn Cú pháp gần tương tự với HTML.

Props & State

- Props và State là hai kiểu dữ liệu React Nếu bạn chỉ mới tìm hiểu thì khá khó để phân biệt ngay từ đầu, nhưng khi bạn bắt đầu công việc code thì sẽ nhanh chóng có thể phân biệt được hai loại dữ liệu này.

- Sự khác biệt lớn nhất giữa hai kiểu dữ liệu này: Trong khi state thì private và chỉ thay đổi bên trong component thì Props mang tính external, được truyền từ component cao hơn theo phân cấp.

- Props là tham số được chuyển qua lại giữa các React component và được truyền qua các component với cú pháp tương tự HTML attributes.

- State là một object lưu trữ giá trị của các thuộc tính trong component và tồn tại trong phạm vi của component đó Khi giá trị của state được thay đổi, component sẽ được render lại.

- Cách để cài đặt state khá đơn giản là việc cài đặt hàm getInitialState() vào component, và trả về bất cứ gì bạn muốn cài đặt trong state của component này.

- Để thay đổi state, chúng ta gọi hàm this.setState(), và truyền vào state mới giống như một tham số.

React Lifecycle

- React Lifecycle là một vòng đời của component Trong khi render một component thì ReactJS thực hiện nhiều tiến trình khác nhau và được lặp lại nhiều lần với các component.

- Khi một component được gọi lên trước, nó sẽ tiến hành cài đặt props và state tiếp đó là mounting, unmounting, update, v.v khi đó bạn cần sử dụng hỗ trợ của các hàm lifecycle.

NodeJS

- NodeJS là một môi trường runtime chạy JavaScript đa nền tảng và có mã nguồn mở, được sử dụng để chạy các ứng dụng web bên ngoài trình duyệt của client Nền tảng này được phát triển bởi Ryan Dahl vào năm 2009, được xem là một giải pháp hoàn hảo cho các ứng dụng sử dụng nhiều dữ liệu nhờ vào mô hình hướng sự kiện (event-driven) không đồng bộ.

- IO hướng sự kiện không đồng bộ, cho phép xử lý nhiều yêu cầu đồng thời.

- Sử dụng JavaScript – một ngôn ngữ lập trình dễ học.

- Chia sẻ cùng code ở cả phía client và server.

- NPM(Node Package Manager) và module Node đang ngày càng phát triển mạnh mẽ

- Cộng đồng hỗ trợ tích cực.

- Cho phép stream các file có kích thước lớn.

- Không có khả năng mở rộng, vì vậy không thể tận dụng lợi thế mô hình đa lõi trong các phần cứng cấp server hiện nay.

- Khó thao tác với cơ sử dữ liệu quan hệ.

- Mỗi callback sẽ đi kèm với rất nhiều callback lồng nhau khác.

- Cần có kiến thức tốt về JavaScript.

- Không phù hợp với các tác vụ đòi hỏi nhiều CPU.

ExpressJS

- ExpressJS là một framework miễn phí và mã nguồn mở dành cho việc xây dựng ứng dụng web trên nền tảng Node.js Với ExpressJS, người dùng có thể nhanh chóng thiết kế và phát triển các ứng dụng web và API một cách dễ dàng và tiện lợi Điều này đặc biệt hữu ích cho các nhà phát triển và lập trình viên đã quen thuộc với JavaScript.

- Vì ExpressJS là một framework phát triển ứng dụng web trên Nodejs, các lập trình viên có thể sử dụng mã đã có sẵn để xây dựng các ứng dụng web đơn trang (SPA), đa trang hoặc kết hợp cả hai Ngoài ra, ExpressJS còn cung cấp một kiến trúc MVC (Model-View-Controller) hữu ích để tổ chức các ứng dụng web phía máy chủ.

- Với các tính năng hỗ trợ nâng cao của Nodejs, ExpressJS giúp giảm bớt sự phức tạp của việc xây dựng API hiệu quả Nếu không sử dụng ExpressJS, lập trình viên sẽ phải viết rất nhiều mã để xử lý các yêu cầu khác nhau.

- Nhưng ExpressJS giúp cho việc này trở nên đơn giản hơn đáng kể Với sự hỗ trợ từ cộng đồng và các thư viện bên thứ ba, ExpressJS là một công cụ hữu ích cho việc xây dựng các ứng dụng web và API trên Nodejs.

Lợi ích khi sử dụng:

- ExpressJS là một công nghệ rất dễ học và sử dụng nếu bạn đã biếtJavaScript Điều này giúp cho việc phát triển back-end dễ dàng hơn rất nhiều Bởi vì mã JavaScript được diễn giải thông qua Google V8 JavaScript Engine của Nodejs, ExpressJS cho phép mã được thực hiện một cách nhanh chóng và hiệu quả.

- ExpressJS giúp giảm một nửa thời gian viết mã nhưng vẫn giúp nhà phát triển xây dựng các ứng dụng web hiệu quả Nó còn cung cấp các tính năng khác nhau giúp tiết kiệm công sức rất nhiều.

- Sử dụng ExpressJS tương đối dễ dàng vì nó hỗ trợ JavaScript, một ngôn ngữ rất dễ học đối với bất kỳ ai Do đó, ExpressJS được coi là một công cụ tuyệt vời để cho những người mới bắt đầu tham gia vào lĩnh vực phát triển ứng dụng web và có thể giúp họ gặt hái thành công.

- Ngoài ra, ExpressJS được phát triển dựa trên nền tảng Nodejs Đây chính là một kiến trúc hướng sự kiện và nó có khả năng xử lý lên đến hàng nghìn yêu cầu của khách hàng trong cùng một lúc Đó cũng là điều mà PHP không thể thực hiện được Nodejs được thiết kế đặc biệt để hỗ trợ các ứng dụng web thực.

- Việc sử dụng tiền một cách hiệu quả để tối đa hóa lợi nhuận là một điều quan trọng đối với bất kỳ doanh nghiệp nào ExpressJS là một ứng dụng web miễn phí và mã nguồn mở, do đó không có lý do gì để không sử dụng framework này.

MongoDB

- MongoDB, được biết đến như cơ sở dữ liệu NoSQL phổ biến nhất, là cơ sở dữ liệu định hướng tài liệu mã nguồn mở Thuật ngữ 'NoSQL' có nghĩa là'không có mối quan hệ' (Non-relational) Điều đó có nghĩa là MongoDB không dựa trên cấu trúc cơ sở dữ liệu quan hệ giống như bảng mà cung cấp một cơ chế hoàn toàn khác để lưu trữ và truy xuất dữ liệu Định dạng lưu trữ này được gọi là BSON (tương tự như định dạng JSON).

Cấu trúc tài liệu MongoDB đơn giản:

- CSDL SQL sẽ lưu trữ dữ liệu ở định dạng bảng Dữ liệu này được lưu trữ trong một mô hình dữ liệu được xác định trước, điều này sẽ không linh hoạt lắm đối với các ứng dụng đang phát triển nhanh trong thế giới thực ngày nay. Các ứng dụng hiện đại cần phải được kết nối với nhau, xã hội hóa và có tính tương tác hơn Các ứng dụng ngày nay đang ngày càng lưu trữ nhiều dữ liệu và các dữ liệu đó đang cần phải được truy cập với tốc độ cao hơn.

- Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) không phải là lựa chọn chính xác khi xử lý dữ liệu lớn do thiết kế của chúng không thể mở rộng theo quy mô ngang Nếu CSDL chạy trên một máy chủ thì nó sẽ đạt đến giới hạn mở rộng Cơ sở dữ liệu NoSQL có khả năng mở rộng hơn và cung cấp hiệu suất vượt trội MongoDB là một cơ sở dữ liệu NoSQL có thể mở rộng quy mô bằng cách thêm ngày càng nhiều máy chủ và tăng hiệu suất với mô hình tài liệu linh hoạt của nó.

Chương 3 THIẾT KẾ HỆ THỐNG

Kiến trúc hệ thống: Mô hình Client – Server

- Hệ thống được xây dựng dựa trên bộ công cụ MERN Stack (MongoDB, ExpressJS, ReactJS, NodeJS).

- Mô hình hệ thống là mô hình client server (mô hình khách chủ) là mô hình mạng máy tính được tạo nên bởi 2 thành phần chính gồm client và server (được dịch ra tiếng Việt là “máy khách” và “máy chủ”) Client sẽ đưa ra các yêu cầu về lưu trữ tài nguyên và dịch vụ cài đặt từ phía server.

- Yêu cầu dữ liệu được máy tính client gửi đến server qua kết nối mạng Internet và sẽ được chấp nhận bởi server Tiếp đó, server sẽ gửi trở lại những gói dữ liệu mà máy client yêu cầu Như vậy với mô hình này, client không hề chia sẻ bất cứ tài nguyên nào do mình nắm giữ.

- Nói cách khác, mô hình client – server là cấu trúc ứng dụng phân tán có chức năng phân vùng các nhiệm vụ (workload) giữa các server (nhà cung cấp dịch vụ hoặc tài nguyên) và client (người yêu cầu dịch vụ) Những ứng dụng của mô hình Client Server phổ biến nhất hiện nay đó là nền tảng Email, World Wide Web…

- Client nghĩa là “khách hàng”, như vậy có thể hiểu đơn giản client là một cá nhân, tổ chức đăng ký sử dụng một dịch vụ nào đó Khái niệm này cũng được áp dụng tương tự trong lĩnh vực công nghệ Cụ thể, Client đóng vai trò là máy tính (Host) có thể tiếp nhận dữ liệu hoặc sử dụng dịch vụ nào đó được cung cấp bởi Server (nhà cung cấp dịch vụ)

- Server là máy chủ hoặc phương tiện dùng để phục vụ những dịch vụ nào đó.Trong thế giới kỹ thuật số thì Server chính là máy tính từ xa có nhiệm vụ cung cấp dữ liệu/thông tin hoặc quyền truy cập vào những dịch vụ nào đó.

- Về bản chất, trong mô hình Client – Server thì Client là đối tượng thực hiện yêu cầu và Server sẽ đáp ứng yêu cầu đó (miễn là nó phải thuộc cơ sở dữ liệu).

Yêu cầu chức năng

Sơ đồ Use case

Hình 5: S đ Use case cho đ i tơng 1 ồ Use case cho đối tượng khách hàng ối tượng khách hàng ượng khách hàngng khách hàng

Hình 6: S đ Use case cho đ i tơng 1 ồ Use case cho đối tượng khách hàng ối tượng khách hàng ượng khách hàngng nhân viên

Danh sách các actor

Khách hàng: có thể xem, tìm kiếm sản phẩm mà không cần đăng nhập; có thể đăng ký để sử dụng giỏ hàng, wishlist, mua hàng và quản lý tài khoản

3 Sale Staff Nhân viên quản lý đơn hàng

4 Storage Staff Nhân viên quản lý kho

Danh sách các use case

Customer Đăng nhập Đăng nhập để sử dụng đầy đủ các chức năng của hệ thống Đăng ký Đăng ký tài khoản khách hàng Đăng xuất Đăng xuất khỏi hệ thống

Quên mật khẩu Yêu cầu thay đổi mật khẩu

Tìm kiếm sản phẩm Tìm kiếm sản phẩm theo yêu cầu

Xem danh sách sản phẩm Xem danh sách tất cả sản phẩm

Xem thông tin sản phẩm Xem thông tin chi tiết sản phẩm Đặt hàng Tạo đơn hàng Đánh giá sản phẩm Viết đánh giá sản phẩm

Xem lịch sử đơn hàng Xem danh sách các đơn hàng

Thêm sản phẩm yêu thích Thêm sản phẩm vào danh sách yêu thích Đổi mật khẩu Thay đổi mật khẩu Cập nhật thông tin cá nhân Thay đổi thông tin cá nhân

Quản lý địa chỉ Thêm, xóa, sửa địa chỉ nhận hàng

Quản lý giỏ hàng Thêm, xóa, sửa sản phẩm, trong giỏ hàng

Admin Đăng nhập Đăng nhập vào hệ thống Đăng xuất Đăng xuất khỏi hệ thống Đổi mật khẩu Thay đổi mật khẩu

Xem thống kê Xem thông tin thống kế của hệ thống

Quản lý sản phẩm Thêm, xóa, sửa, tìm kiếm sản phẩm Quản lý nhập kho

Xem, xác nhận yêu cầu nhập kho, gửi yêu cầu nhập kho

Quản lý đơn hàng Xem thông tin, thay đổi trạng thái đơn hàng

Quản lý khách hàng Xem thông tin, tìm kiếm khách hàng

Quản lý nhân viên Thêm, xóa, sửa, tìm kiếm nhân viên Quản lý đợt giảm giá

Thêm, xóa, sửa, tìm kiếm đợt giảm giá, áp dụng đợt giảm giá cho sản phẩm Sale Staff Đăng nhập Đăng nhập vào hệ thống Đăng xuất Đăng xuất khỏi hệ thống Đổi mật khẩu Thay đổi mật khẩu

Quản lý sản phẩm Xem chi tiết, tìm kiếm sản phẩm

Quản lý đơn hàng Xem thông tin, thay đổi trạng thái đơn hàng

Storage Staff Đăng nhập Đăng nhập vào hệ thống Đăng xuất Đăng xuất khỏi hệ thống Đổi mật khẩu Thay đổi mật khẩu

Quản lý sản phẩm Xem chi tiết, tìm kiếm sản phẩmQuản lý nhập kho Xem, gửi yêu cầu nhập kho

Đặc tả use case

Tên use case Đăng nhập

Mô tả Đăng nhập để sử dụng đầy đủ các chức năng của hệ thống

Trigger Nhấn vào nút đăng nhập Điều kiện tiên quyết Thiết bị có kết nối mạng

Tài khoản có tồn tại trong hệ thống

Kết quả Đăng nhập thành công và chuyển qua trang chủ

1 Hệ thống hiển thị màn hình đăng nhập

2 Khách hàng nhập email và mật khẩu

3 Hệ thống xác nhận email và mật khẩu đúng định dạng

4 Hệ thống xác nhận tài khoản có tồn tại trong database

5 Đăng nhập thành công, chuyển qua trang chủ

3a Email và mật khẩu không đúng định dạng, use case tiếp tục ở bước 2 4a Tài khoản không tồn tại trong database, use case tiếp tục ở bước 2

Tên use case Đăng ký

Mô tả Đăng ký tài khoản khách hàng

Trigger Nhấn vào nút đăng ký Điều kiện tiên quyết Thiết bị có kết nối mạng

Kết quả Đăng ký thành công và chuyển qua trang chủ

1 Hệ thống hiển thị màn hình đăng ký

2 Khách hàng nhập email, mật khẩu và các thông tin cần thiết

3 Hệ thống xác nhận email và mật khẩu đúng định dạng

4 Hệ thống kiểm tài khoản có tồn tại trong database hay không

5 Hệ thống gửi OTP qua email cho khách hàng

6 Khách hàng nhập OTP nhận được để hoàn tất đăng ký tài khoản.

7 Hệ thống xác thực OTP và hoàn tất đăng ký.

8 Đăng ký thành công, chuyển qua trang chủ

3a Email và mật khẩu không đúng định dạng, use case tiếp tục ở bước 2 4a Tài khoản đã tồn tại trong database, use case tiếp tục ở bước 2

7a OTP không đúng, use case tiếp tục ở bước 6

3.2.4.3 Đăng xuất (khách hàng)Tên use case Đăng xuất

Mô tả Đăng xuất khỏi hệ thống

Trigger Nhấn vào nút đăng xuất Điều kiện tiên quyết Đăng nhập thành công vào hệ thống

Kết quả Đăng xuất khỏi hệ thống và quay lại trang đăng nhập

1 Khách hàng bấm chọn đăng xuất

2 Hệ thống thoát khỏi tài khoản đang đăng nhập

3 Hệ thống quay lại trang đăng nhập

Tên use case Quên mật khẩu

Mô tả Yêu cầu thay đổi mật khẩu

Trigger Nhấn vào nút Đổi mật khẩu Điều kiện tiên quyết Thiết bị có kết nối mạng

Email có tồn tại trong database

Kết quả Yêu cầu đổi mật khẩu thành công

1 Hệ thống hiển thị màn hình đổi mật khẩu

2 Khách hàng nhập email đã dùng để đăng ký tài khoản

3 Hệ thống gửi email và OTP xác nhận cho khách hàng

4 Khách hàng nhập OTP đã được nhận

5 Hệ thống xác thực OTP

6 Khách hàng nhập mật khẩu mới

7 Đổi mật khẩu thành công

Kịch bản thay thế 5a OTP không đúng, use case tiếp tục ở bước 4

3.2.4.5 Tìm kiếm sản phẩmTên use case Tìm kiếm sản phẩm

Mô tả Tìm kiếm sản phẩm cần tìm

Trigger Nhấn vào nút Tìm kiếm sản phẩm Điều kiện tiên quyết Thiết bị có kết nối mạng

Kết quả Hiển thị danh sách sản phẩm theo yêu cầu

Kịch bản chính 1 Khách hàng nhập tên sản phẩm cần tìm

2 Hệ thống hiển thị danh sách sản phẩm theo tên đã nhập

3.2.4.6 Xem danh sách sản phẩm

Tên use case Xem danh sách sản phẩm

Mô tả Xem danh sách tất cả sản phẩm

Trigger Nhấn vào nút Sản phẩm Điều kiện tiên quyết Thiết bị có kết nối mạng

Kết quả Hiển thị danh sách tất cả sản phẩm

Kịch bản chính 1 Khách hàng nhấn vào nút Sản phẩm

2 Hệ thống hiển thị màn hình danh sách sản phẩm

3.2.4.7 Xem thông tin sản phẩm

Tên use case Xem thông tin sản phẩm

Mô tả Xem thông tin chi tiết sản phẩm

Trigger Nhấn vào sản phẩm bất kỳ Điều kiện tiên quyết Thiết bị có kết nối mạng

Kết quả Hiển thị màn hình chi tiết sản phẩm

Kịch bản chính 1 Khách hàng nhấn vào sản phẩm bất kỳ

2 Hệ thống hiển thị màn hình thông tin chi tiết sản phẩm

Tên use case Đặt hàng

Mô tả Xác nhận mua hàng

Trigger Nhấn vào nút thanh toán Điều kiện tiên quyết

Thiết bị có kết nối mạng Đăng nhập vào hệ thống thành công

Có sản phẩm trong giỏ hàng

Kết quả Đặt hàng thành công

1 Khách hàng nhấn vào nút thanh toán

2 Hệ thống hiển thị màn hình thông tin chi tiết đơn hàng

3 Khách hàng nhập thông tin nhận hàng và chọn phương thức thanh toán

4 Khách hàng nhấn vào nút Xác nhận

5 Hệ thống thêm đơn hàng mới vào database

Tên use case Đánh giá sản phẩm

Mô tả Đánh giá sản phẩm sau khi mua hàng

Trigger Nhấn vào nút đánh giá Điều kiện tiên quyết

Thiết bị có kết nối mạng Đăng nhập vào hệ thống thành côngTrạng thái đơn hàng đã hoàn tất

Kết quả Đánh giá sản phẩm của khách hàng được lưu lại

1 Khách hàng nhấn vào nút đánh giá

2 Hệ thống hiển thị màn hình đánh giá sản phẩm

3 Khách hàng nhập tiêu đề, nội dung đánh giá, hình ảnh và xếp hạng cho sản phẩm

4 Khách hàng nhấn vào nút Gửi nhận xét

5 Hệ thống thêm đánh giá mới vào database

3.2.4.10 Xem lịch sử đơn hàng

Tên use case Xem lịch sử đơn hàng

Mô tả Xem lịch sử đơn hàng đã đặt

Trigger Nhấn vào nút Hóa đơn mua hàng Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập vào hệ thống thành công

Kết quả Hiển thị danh sách hóa đơn đã đặt của khách hàng

1 Khách hàng nhấn vào nút Hóa đơn mua hàng

2 Hệ thống hiển thị màn hình danh sách hóa đơn đã đặt của khách hàng

3.2.4.11 Thêm sản phẩm yêu thích

Tên use case Thêm sản phẩm yêu thích

Mô tả Thêm sản phẩm vào danh sách yêu thích

Trigger Nhấn vào nút Yêu thích ở danh sách sản phẩm hoặc màn hình chi tiết sản phẩm Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập vào hệ thống thành công

Kết quả Sản phẩm được thêm vào danh sách yêu thích

1 Khách hàng nhấn vào nút Yêu thích ở danh sách sản phẩm hoặc màn hình chi tiết sản phẩm

2 Hệ thống lưu thông tin sản phẩm vào danh sách yêu thích của khách hàng

Tên use case Đổi mật khẩu

Mô tả Đổi mật khẩu cho tài khoản

Trigger Nhấn vào nút Đổi mật khẩu Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Đổi mật khẩu thành công

1 Hệ thống hiển thị màn hình đổi mật khẩu

2 Khách hàng nhập mật khẩu cũ và mật khẩu mới

3 Hệ thống xác nhận mật khẩu đúng định dạng

4 Hệ thống xác nhận mật khẩu cũ trong database

5 Đổi mật khẩu thành công

3a Mật khẩu không đúng định dạng, use case tiếp tục ở bước 2 4a Mật khẩu không tồn tại trong database, use case tiếp tục ở bước 2

3.2.4.13 Cập nhật thông tin cá nhânTên use case Cập nhật thông tin cá nhân

Mô tả Thay đổi thông tin cá nhân của khách hàng

Trigger Nhấn vào nút Thông tin tài khoản Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập vào hệ thống thành công

Kết quả Thông tin khách hàng cập nhật thành công

1 Khách hàng nhấn vào nút Thông tin tài khoản

2 Hệ thống hiển thị màn hình chi tiết tài khoản

3 Khách hàng nhập thông tin mới

4 Khách hàng nhấn nút Cập nhật

5 Hệ thống cập nhật thông tin khách hàng vào database

Tên use case Quản lý địa chỉ

Mô tả Thêm, xóa, sửa địa chỉ nhận hàng

Trigger Nhấn vào nút Danh sách địa chỉ Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Thêm, xóa, sửa địa chỉ nhận hàng thành công

Kịch bản chính 1 Khách hàng nhấn vào nút Danh sách địa chỉ

2 Hiển thị trang quản lý địa chỉ

3 Khách hàng chọn chức năng

- Thêm địa chỉ nhận hàng

4 Khách hàng nhập thông tin địa chỉ

5 Khách hàng nhấn vào nút Xác nhận

6 Hệ thống lưu địa chỉ vào database

- Sửa địa chỉ nhận hàng

7 Khách hàng nhập thông tin địa chỉ

8 Khách hàng nhấn vào nút Xác nhận

9 Hệ thống cập nhật địa chỉ vào database

10 Nhân viên chọn địa chỉ để xóa

11 Hệ thống xóa địa chỉ khỏi database

- Đặt địa chỉ mặc định:

12 Nhân viên chọn địa chỉ đặt làm mặc định

13 Hệ thống cập nhật địa chỉ vào database

Tên use case Quản lý giỏ hàng

Mô tả Thêm, xóa, sửa sản phẩm trong giỏ hàng

Trigger Nhấn vào nút Giỏ hàng Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Thêm, xóa, sửa sản phẩm trong giỏ hàng thành công

Kịch bản chính 1 Khách hàng nhấn vào nút Giỏ hàng

2 Hiển thị trang giỏ hàng

3 Khách hàng chọn chức năng

- Thêm sản phẩm vào giỏ hàng

4 Khách hàng chọn sản phẩm trong màn hình danh sách sản phẩm

5 Khách hàng nhấn vào nút Thêm vào giỏ hàng

6 Hệ thống cập nhật sản phẩm vào giỏ hàng

- Chỉnh sửa sản phẩm trong giỏ hàng

7 Khách hàng chọn sản phẩm để chỉnh sửa

8 Khách hàng chỉnh sửa số lượng sản phẩm và nhấn nút xác nhận

9 Hệ thống cập nhật sản phẩm trong giỏ hàng

- Xóa sản phẩm khỏi giỏ hàng:

10 Nhân viên chọn sản phẩm để xóa

11 Hệ thống xóa sản phẩm khỏi giỏ hàng

Tên use case Đăng nhập

Mô tả Đăng nhập vào hệ thống

Trigger Nhấn vào nút đăng nhập Điều kiện tiên quyết Thiết bị có kết nối mạng

Tài khoản có tồn tại trong hệ thống

Kết quả Đăng nhập thành công và chuyển qua trang chủ

1 Hệ thống hiển thị màn hình đăng nhập

2 Nhân viên nhập email và mật khẩu

3 Hệ thống xác nhận email và mật khẩu đúng định dạng

4 Hệ thống xác nhận tài khoản có tồn tại trong database

5 Đăng nhập thành công, chuyển qua trang chủ

3a Email và mật khẩu không đúng định dạng, use case tiếp tục ở bước 2 4a Tài khoản không tồn tại trong database, use case tiếp tục ở bước 2

Tên use case Đăng xuất

Mô tả Đăng xuất khỏi hệ thống

Trigger Nhấn vào nút đăng xuất Điều kiện tiên quyết Đăng nhập thành công vào hệ thống

Kết quả Đăng xuất khỏi hệ thống và quay lại trang đăng nhập

1 Nhân viên bấm chọn đăng xuất

2 Hệ thống thoát khỏi tài khoản đang đăng nhập

3 Hệ thống quay lại trang đăng nhập

Tên use case Đổi mật khẩu

Mô tả Đổi mật khẩu cho tài khoản

Trigger Nhấn vào nút Đổi mật khẩu Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Đổi mật khẩu thành công

1 Hệ thống hiển thị màn hình đổi mật khẩu

2 Nhân viên nhập mật khẩu cũ và mật khẩu mới

3 Hệ thống xác nhận mật khẩu đúng định dạng

4 Hệ thống xác nhận mật khẩu cũ trong database

5 Đổi mật khẩu thành công

3a Mật khẩu không đúng định dạng, use case tiếp tục ở bước 2 4a Mật khẩu không tồn tại trong database, use case tiếp tục ở bước 2

Tên use case Xem thống kê

Mô tả Xem thông tin thống kê của hệ thống

Trigger Nhấn vào nút Trang chủ Điều kiện tiên quyết

Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thốngTài khoản Admin

Kết quả Hiển thị các biểu đồ thống kê

1 Nhân viên nhấn vào nút Trang chủ

2 Hiển thị trang thống kê

3 Nhân viên nhập năm cần xem thống kê

4 Hệ thống hiển thị biểu đồ thống kê tương ứng với năm

Tên use case Quản lý sản phẩm

Mô tả Thêm, xóa, sửa, tìm kiếm sản phẩm

Trigger Nhấn vào nút Sản phẩm Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Tìm kiếm, thêm, xóa, sửa sản phẩm thành công

Kịch bản chính 1 Nhân viên nhấn vào nút Sản phẩm

2 Hiển thị trang quản lý sản phẩm

3 Nhân viên chọn chức năng

5 Hệ thống lọc dữ liệu theo keyword

6 Nhân viên nhấn vào nút thêm sản phẩm

7 Nhập thông tin sản phẩm

8 Hệ thống lưu sản phẩm vào database, thông báo thành công

9 Nhân viên chọn sản phẩm để chỉnh sửa

10 Nhập thông tin sản phẩm

11 Hệ thống cập nhập sản phẩm vào database, thông báo thành công

12 Nhân viên chọn sản phẩm để xoá

13 Hệ thống xóa sản phẩm khỏi database, thông báo thành công

- Xem chi tiết sản phẩm:

14 Nhân viên chọn sản phẩm để xem chi tiết

15 Hệ thống hiển thị trang chi tiết sản phẩm

8a Thông tin sản phẩm không hợp lệ, use case tiếp tục ở bước 7 11a Thông tin sản phẩm không hợp lệ, use case tiếp tục ở bước 10

Tên use case Quản lý nhập kho

Mô tả Xem, xác nhận yêu cầu nhập kho, gửi yêu cầu nhập kho

Trigger Nhấn vào nút Nhập kho Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Xác nhận yêu cầu nhập kho, gửi yêu cầu nhập kho thành công

Kịch bản chính 1 Nhân viên nhấn vào nút Nhập kho

2 Hiển thị trang quản lý nhập kho

3 Nhân viên chọn chức năng

5 Hệ thống lọc dữ liệu theo keyword

- Xác nhận yêu cầu nhập kho:

6 Nhân viên nhấn vào nút xác nhận hoặc hủy yêu cầu

7 Hệ thống lưu trạng thái vào database, thông báo thành công

- Gửi yêu cầu nhập kho:

9 Nhân viên chọn thêm sản phẩm

10 Nhập thông tin sản phẩm

11 Hệ thống cập nhập sản phẩm vào bảng danh sách sản phẩm

12 Nhân viên nhấn vào nút Gửi yêu cầu nhập kho

13 Hệ thống lưu yêu cầu vào database, thông báo thành công

Tên use case Quản lý đơn hàng

Mô tả Xem thông tin, thay đổi trạng thái đơn hàng

Trigger Nhấn vào nút Đơn hàng Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Xem thông tin, thay đổi trạng thái đơn hàng thành công

1 Nhân viên nhấn vào nút Đơn hàng

2 Hiển thị trang quản lý đơn hàng

3 Nhân viên chọn chức năng

5 Hệ thống lọc dữ liệu theo keyword

- Thay đổi trạng thái đơn hàng

6 Nhân viên chọn đơn hàng để xác nhận

7 Nhân viên nhấn vào nút xác nhận đơn hàng

8 Hệ thống cập nhật trạng thái đơn hàng vào database, thông báo thành công

9 Nhân viên chọn đơn hàng để hủy

10 Nhân viên nhấn vào nút hủy

11 Hệ thống cập nhật trạng thái đơn hàng vào database, thông báo thành công

- Xem chi tiết đơn hàng:

12 Nhân viên chọn đơn hàng để xem chi tiết

13 Hệ thống hiển thị trang chi tiết đơn hàng

Tên use case Quản lý khách hàng

Mô tả Xem thông tin, tìm kiếm khách hàng

Trigger Nhấn vào nút Khách hàng Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Xem thông tin, tìm kiếm khách hàng thành công

1 Nhân viên nhấn vào nút Khách hàng

2 Hiển thị trang quản lý khách hàng

3 Nhân viên chọn chức năng

5 Hệ thống lọc dữ liệu theo keyword

- Xem chi tiết khách hàng:

6 Nhân viên chọn khách hàng để xem chi tiết

7 Hệ thống hiển thị trang chi tiết khách hàng

Tên use case Quản lý nhân viên

Mô tả Thêm, xóa, sửa, tìm kiếm nhân viên

Trigger Nhấn vào nút Nhân viên Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Tìm kiếm, thêm, xóa, sửa nhân viên thành công

1 Nhân viên nhấn vào nút Nhân viên

2 Hiển thị trang quản lý nhân viên

3 Nhân viên chọn chức năng

5 Hệ thống lọc dữ liệu theo keyword

6 Nhân viên nhấn vào nút thêm nhân viên

7 Nhập thông tin nhân viên

8 Hệ thống lưu nhân viên vào database, thông báo thành công

9 Nhân viên chọn nhân viên để chỉnh sửa

10 Nhập thông tin nhân viên

11 Hệ thống cập nhập nhân viên vào database, thông báo thành công

8a Thông tin sản phẩm không hợp lệ, use case tiếp tục ở bước 7 11a Thông tin sản phẩm không hợp lệ, use case tiếp tục ở bước 10

3.2.4.25 Quản lý đợt giảm giá Tên use case Quản lý đợt giảm giá

Mô tả Thêm, xóa, sửa, tìm kiếm đợt giảm giá, áp dụng đợt giảm giá cho sản phẩm

Trigger Nhấn vào nút Giảm giá Điều kiện tiên quyết Thiết bị có kết nối mạng Đăng nhập thành công vào hệ thống

Kết quả Tìm kiếm, thêm, xóa, sửa đợt giảm giá, áp dụng đợt giảm giá cho sản phẩm thành công

Kịch bản chính 1 Nhân viên nhấn vào nút Giảm giá

2 Hiển thị trang quản lý đợt giảm giá

3 Nhân viên chọn chức năng

5 Hệ thống lọc dữ liệu theo keyword

6 Nhân viên nhấn vào nút thêm đợt giảm giá

7 Nhập thông tin đợt giảm giá

8 Hệ thống lưu đợt giảm giá vào database, thông báo thành công

9 Nhân viên chọn đợt giảm giá để chỉnh sửa

10 Nhập thông tin đợt giảm giá

11 Hệ thống cập nhập đợt giảm giá vào database, thông báo thành công

12 Nhân viên chọn đợt giảm giá để xóa

13 Nhân viên nhấn vào nút xóa

14 Hệ thống xóa đợt giảm giá khỏi database, thông báo thành công

- Áp dụng đợt giảm giá cho sản phẩm:

15 Nhân viên chọn đợt giảm giá

16 Nhân viên chọn các sản phẩm

17 Hệ thống cập nhật danh sách sản phẩm vào database, thông báo thành công

8a Thông tin sản phẩm không hợp lệ, use case tiếp tục ở bước 711a Thông tin sản phẩm không hợp lệ, use case tiếp tục ở bước 10

Chương 4 THIẾT KẾ CƠ SỞ DỮ LIỆU

Sơ đồ lớp

Hình 7: S đ l pơng 1 ồ Use case cho đối tượng khách hàng ớp

Danh sách các quan hệ

Bảng CUSTOMER

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 customerId ObjectId Khóa chính Mã khách hàng

3 customerFirstName String Tên khách hàng

4 customerLastName String Họ khách hàng

6 customerEmail String Email khách hàng

7 customerPhone String SĐT khách hàng

9 customerAvatar ObjectId Khóa ngoại Mã ảnh đại diện

10 customerStatus Boolean Trạng thái hoạt động

11 customerProvider String Phương thức đăng nhập

12 isVerified Boolean Trạng thái xác thực

13 isActive Boolean Trạng thái tài khoản

Bảng STAFF

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 staffId ObjectId Khóa chính Mã nhân viên

3 staffFirstName String Tên nhân viên

4 staffLastName String Họ nhân viên

5 staffEmail String Email nhân viên

6 staffPhone String SĐT nhân viên

8 staffStartWork Date Ngày vào làm

9 staffStatus Number Trạng thái nhân viên

10 privilege Number Chức vụ nhân viên

Bảng PRODUCT_IMAGE

1 staffId ObjectId Khóa chính Mã nhân viên

3 staffFirstName String Tên nhân viên

4 staffLastName String Họ nhân viên

5 staffEmail String Email nhân viên

6 staffPhone String SĐT nhân viên

8 staffStartWork Date Ngày vào làm

9 staffStatus Number Trạng thái nhân viên

10 privilege Number Chức vụ nhân viên

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 productId ObjectId Khóa chính Mã sản phẩm

2 productName String Tên sản phẩm

3 productDescription String Mô tả sản phẩm

4 productPrice Number Giá sản phẩm

5 productCategoryId ObjectId Khóa ngoại Mã loại sản phẩm

6 productSubcategoryId ObjectId Khóa ngoại Mã loại phòng

7 productDiscountId ObjectId Khóa ngoại Mã đợt giảm giá

8 productQuantity Number Số lượng sản phẩm

9 productSold Number Số lượng sản phẩm đã bán

10 productStatus Boolean Trạng thái sản phẩm

11 productSupplierId ObjectId Khóa ngoại Mã nhà cung cấp

4.2.4 Bảng PRODUCT_IMAGESTT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 productImageId ObjectId Khóa chính Mã ảnh sản phẩm

2 productId ObjectId Khóa ngoại Mã sản phẩm

3 productColorId ObjectId Khóa ngoại Mã màu sản phẩm

4 productImage ObjectId Khóa ngoại Mã ảnh

Bảng PRODUCT_COLOR

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 productColorId ObjectId Khóa chính Mã màu sản phẩm

2 productId ObjectId Khóa ngoại Mã sản phẩm

3 colorId ObjectId Khóa ngoại Mã màu

4 productQuantity Number Số lượng sản phẩm

Bảng PRODUCT_DIMENSION

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 productDimensionId ObjectId Khóa chính Mã kích thước sản phẩm

2 productId ObjectId Khóa ngoại Mã sản phẩm

3 productLength Number Chiều dài sản phẩm

4 productWidth Number Chiều rộng sản phẩm

5 productHeight Number Chiều cao sản phẩm

6 productWeight Number Trọng lượng sản phẩm

Bảng CATEGORY

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 categoryId ObjectId Khóa chính Mã loại sản phẩm

2 categoryName String Tên loại sản phẩm

Bảng COLOR

1 productColorId ObjectId Khóa chính Mã màu sản phẩm

2 productId ObjectId Khóa ngoại Mã sản phẩm

3 colorId ObjectId Khóa ngoại Mã màu

4 productQuantity Number Số lượng sản phẩm

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 productDimensionId ObjectId Khóa chính Mã kích thước sản phẩm

2 productId ObjectId Khóa ngoại Mã sản phẩm

3 productLength Number Chiều dài sản phẩm

4 productWidth Number Chiều rộng sản phẩm

5 productHeight Number Chiều cao sản phẩm

6 productWeight Number Trọng lượng sản phẩm

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 categoryId ObjectId Khóa chính Mã loại sản phẩm

2 categoryName String Tên loại sản phẩm

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 subcategoryId ObjectId Khóa chính Mã loại phòng

2 subcategoryName String Tên loại phòng

4.2.9 Bảng COLORSTT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 colorId ObjectId Khóa chính Mã màu

3 colorHex String Mã HEX của màu

Bảng SUPPLIER

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 supplierId ObjectId Khóa chính Mã nhà cung cấp

2 supplierName String Tên nhà cung cấp

Bảng CART

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 cartId ObjectId Khóa chính Mã giỏ hàng

2 customerId ObjectId Khóa ngoại Mã khách hàng

3 cartStatus Boolean Trạng thái giỏ hàng

Bảng CART_ITEM

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 cartItemId ObjectId Khóa chính Mã mặt hàng

2 cartId ObjectId Khóa ngoại Mã giỏ hàng

3 productId ObjectId Khóa ngoại Mã sản phẩm

4 productColorId ObjectId Khóa ngoại Mã màu sản phẩm

5 productQuantity Number Số lượng sản phẩm

Bảng ORDER

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 orderId ObjectId Khóa chính Mã đơn hàng

2 customerId ObjectId Khóa ngoại Mã khách hàng

3 staffId ObjectId Khóa ngoại Mã nhân viên

4 orderCode String Code đơn hàng

5 orderStatus String Trạng thái đơn hàng

7 orderAddress ObjectId Khóa ngoại Địa chỉ nhận hàng

8 paymentMethod ObjectId Khóa ngoại Phương thức thanh toán

9 orderShippingFee Number Phí vận chuyển

10 orderCompleteDay Date Ngày hoàn tất

Bảng ORDER_ITEM

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 orderItemId ObjectId Khóa chính Mã mặt hàng

2 orderId ObjectId Khóa ngoại Mã đơn hàng

3 productId ObjectId Khóa ngoại Mã sản phẩm

4 productColorId ObjectId Khóa ngoại Mã màu sản phẩm

5 productQuantity Number Số lượng sản phẩm

6 productPrice Number Tổng giá trị sản phẩm

7 productSalePrice Number Giá sản phẩm sau giảm

Bảng IMPORT

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 importId ObjectId Khóa chính Mã nhập kho

2 staffId ObjectId Khóa ngoại Mã nhân viên

3 importDate Date Ngày nhập kho

4 importStatus String Trạng thái nhập kho

Bảng IMPORT_DETAIL

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 importDetailId ObjectId Khóa chính Mã chi tiết nhập kho

2 importId ObjectId Khóa ngoại Mã nhập kho

3 productId ObjectId Khóa ngoại Mã sản phẩm

4 productColorId ObjectId Khóa ngoại Mã màu sản phẩm

5 productSupplierId ObjectId Khóa ngoại Mã nhà cung cấp

6 productQuantity Number Số lượng sản phẩm

Bảng FEEDBACK

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 feedbackId ObjectId Khóa chính Mã đánh giá

2 customerId ObjectId Khóa ngoại Mã khách hàng

3 productId ObjectId Khóa ngoại Mã sản phẩm

4 productColorId ObjectId Khóa ngoại Mã màu sản phẩm

5 orderId ObjectId Khóa ngoại Mã đơn hàng

6 feedbackRating Number Xếp hạng sản phẩm

7 feedbackTitle String Tiêu đề đánh giá

8 feedbackContent String Nội dung đánh giá

Bảng FEEDBACK_IMAGE

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 feedbackImageId ObjectId Khóa chính Mã ảnh đánh giá

2 feedbackId ObjectId Khóa ngoại Mã đánh giá

3 feedbackImage ObjectId Khóa ngoại Mã ảnh

Bảng ADDRESS

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 addressId ObjectId Khóa chính Mã địa chỉ

2 customerId ObjectId Khóa ngoại Mã khách hàng

3 receiverFirstName String Tên người nhận

4 receiverLastName String Họ người nhận

5 receiverPhone String SĐT người nhận

6 receiverAddress String Địa chỉ người nhận

9 receiverCity String Tỉnh / Thành phố

10 isDefault Boolean Địa chỉ mặc định

Bảng DISCOUNT

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 discountId ObjectId Khóa chính Mã đợt giảm giá

2 discountName String Tên đợt giảm giá

4 discountPercent Number Phần trăm giảm

5 discountStartDate Date Ngày bắt đầu

6 discountEndDate Date Ngày kết thúc

Bảng WISHLIST

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 wishlistId ObjectId Khóa chính Mã yêu thích

2 productId ObjectId Khóa ngoại Mã sản phẩm

3 customerId ObjectId Khóa ngoại Mã khách hàng

Bảng PAYMENT

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 paymentId ObjectId Khóa chính Mã thanh toán

2 paymentType String Loại thanh toán

3 paymentStatus Boolean Trạng thái thanh toán

Bảng ATTACHMENT

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải

1 attachmentId ObjectId Khóa chính Mã tệp đính kèm

2 attachmentMimeType String Loại tệp đính kèm

3 attachmentName String Tên tệp đính kèm

4 attachmentSize Number Kích thước tệp đính kèm

Chương 5 THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

Màn hình trang chủ

Hình 8: Màn hình trang chủ

Màn hình đăng nhập / đăng ký

Hình 9: Màn hình đăng nh p / đăng kýập / đăng ký

Màn hình quên mật khẩu

Hình 10: Màn hình quên m t kh uập / đăng ký ẩu

Màn hình sản phẩm

Hình 11: Màn hình s n ph mản phẩm ẩu

Màn hình chi tiết sản phẩm

Hình 12: Màn hình chi ti t s n ph mết sản phẩm ản phẩm ẩu

Màn hình giỏ hàng

Hình 13: Màn hình gi hàngỏ hàng

Màn hình đặt hàng

Hình 14: Màn hình đ t hàngặt hàng

Màn hình thông tin tài khoản

Hình 15: Màn hình thông tin tài kho nản phẩm

Màn hình danh sách địa chỉ

Hình 16: Màn hình danh sách đ a chịa chỉ ỉ

Màn hình danh sách hóa đơn

Hình 17: Màn hình danh sách hóa đ nơng 1.

Màn hình chi tiết hóa đơn

Hình 18: Màn hình chi ti t hóa đ nết sản phẩm ơng 1.

Màn hình đánh giá sản phẩm

ssHình 19: Màn hình đánh giá s n ph mản phẩm ẩu

Màn hình đổi mật khẩu

Hình 20: Màn hình đ i m t kh uổi mật khẩu ập / đăng ký ẩu

Màn hình danh sách sản phẩm yêu thích

Hình 21: Màn hình danh sách s n ph m yêu thíchản phẩm ẩu

Màn hình về chúng tôi

Hình 22: Màn hình v chúng tôiề chúng tôi

Màn hình đăng nhập (nhân viên)

Hình 23: Màn hình đăng nh p (nhân viên)ập / đăng ký

STT Biến cố Xử lý

1 Nhấn nút “Hiện mật khẩu” (icon mắt) Hiển thị mật khẩu đã nhập

2 Nhấn nút “Đăng nhập” Đăng nhập vào hệ thống

Màn hình trang chủ

Hình 24: Màn hình trang chủ

STT Biến cố Xử lý

1 Nhấn icon mũi tên Thu nhỏ thanh menu

2 Đưa chuột vào avatar nhân viên Hiện thông tin và các chức năng

3 Nhấn nút “Sản phẩm” Chuyển sang màn hình quản lý sản phẩm

4 Nhấn nút “Nhập kho” Chuyển sang màn hình nhập kho

5 Nhấn nút “Đơn hàng” Chuyển sang màn hình quản lý đơn hàng

6 Nhấn nút “Khách hàng” Chuyển sang màn hình quản lý khách hàng

7 Nhấn nút “Nhân viên” Chuyển sang màn hình quản lý nhân viên

8 Nhấn nút “Giảm giá” Chuyển sang màn hình quản lý giảm giá

9 Nhấn nút “Đăng xuất” Đăng xuất khỏi hệ thống

10 Nhấn icon lịch Hiện popup chọn năm để hiển thị thống kê

Màn hình đổi mật khẩu

Hình 25: Màn hình đ i m t kh uổi mật khẩu ập / đăng ký ẩu

STT Biến cố Xử lý

1 Nhấn nút “Xác nhận” Thay đổi mật khẩu của tài khoản nhân viên

2 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

3 Nhấn icon X Hủy thao tác và trở về màn hình trước

Màn hình quản lý sản phẩm

Hình 26: Màn hình qu n lý s n ph mản phẩm ản phẩm ẩu

STT Biến cố Xử lý

1 Nhấn nút “Thêm sản phẩm” Chuyển qua màn hình thêm sản phẩm

2 Nhấn nút “Chi tiết” Chuyển qua màn hình chi tiết sản phẩm

3 Nhấn nút “Chỉnh sửa” Chuyển sang màn hình chỉnh sửa sản phẩm

4 Nhấn nút “Xóa” Xóa sản phẩm

5 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình thêm sản phẩm

Hình 27: Màn hình thêm s n ph mản phẩm ẩu

STT Biến cố Xử lý

1 Nhấn nút “Xác nhận” Thêm sản phẩm vào database

2 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

3 Nhấn nút “Thêm màu” Thêm selectbox chọn màu sản phẩm

4 Nhấn nút “Upload” Upload hình ảnh sản phẩm theo màu

5 Nhấn nút “Xóa màu” Xóa selectbox chọn màu sản phẩm

6 Nhấn icon X Hủy thao tác và trở về màn hình trước

Màn hình chi tiết sản phẩm

Hình 28: Màn hình chi ti t s n ph mết sản phẩm ản phẩm ẩu

STT Biến cố Xử lý

1 Chọn màu sản phẩm Hiển thị ảnh sản phẩm theo màu

2 Nhấn icon X Hủy thao tác và trở về màn hình trước

Màn hình chỉnh sửa sản phẩm

Hình 29: Màn hình ch nh s a s n ph mỉ ửa sản phẩm ản phẩm ẩu

STT Biến cố Xử lý

1 Nhấn nút “Xác nhận” Cập nhật thông tin sản phẩm vào database

2 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

3 Nhấn nút “Thêm màu” Thêm selectbox chọn màu sản phẩm

4 Nhấn nút “Upload” Upload hình ảnh sản phẩm theo màu

5 Nhấn nút “Xóa màu” Xóa selectbox chọn màu sản phẩm

6 Nhấn nút “Xóa hình” Xóa hình ảnh sản phẩm

7 Nhấn icon X Hủy thao tác và trở về màn hình trước

Màn hình quản lý danh sách nhập kho

Hình 30: Màn hình qu n lý danh sách nh p khoản phẩm ập / đăng ký

STT Biến cố Xử lý

1 Chọn trạng thái nhập kho Lọc dữ liệu theo trạng thái nhập kho

2 Nhấn nút “Chi tiết” Chuyển qua màn hình chi tiết nhập kho

3 Nhấn nút “Xác nhận” Xác nhận yêu cầu nhập kho

4 Nhấn nút “Hủy” Hủy yêu cầu nhập kho

5 Nhấn nút “Nhập kho” Chuyển sang màn hình nhập kho

6 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình chi tiết nhập kho

Hình 31: Màn hình chi ti t nh p khoết sản phẩm ập / đăng ký

STT Biến cố Xử lý

1 Nhấn icon X Trở lại màn hình trước

2 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình nhập kho

Hình 32: Màn hình nh p khoập / đăng ký

STT Biến cố Xử lý

1 Nhấn nút “Thêm sản phẩm” Chuyển qua màn hình thêm sản phẩm

2 Nhấn nút “Xóa tất cả” Xóa tất cả sản phẩm trong bảng

3 Nhấn nút “Yêu cầu nhập kho” Gửi yêu cầu nhập kho cho quản trị viên

4 Nhấn nút “Chỉnh sửa” Chuyển qua màn hình chỉnh sửa sản phẩm

5 Nhấn nút “Xóa” Xóa sản phẩm khỏi bảng

6 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình thêm sản phẩm nhập kho

Hình 33: Màn hình thêm s n ph m nh p khoản phẩm ẩu ập / đăng ký

STT Biến cố Xử lý

1 Nhấn nút “Xác nhận” Thêm sản phẩm nhập kho

2 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

3 Nhấn icon X Hủy thao tác và trở về màn hình trước

Màn hình quản lý đơn hàng

Hình 34: Màn hình qu n lý đ n hàngản phẩm ơng 1.

STT Biến cố Xử lý

1 Chọn bộ lọc Lọc dữ liệu theo trạng thái đơn hàng

2 Nhấn nút “Chi tiết” Chuyển qua màn hình chi tiết đơn hàng

3 Nhấn nút “Xác nhận” Xác nhận đơn hàng

4 Nhấn nút “Hủy” Hủy đơn hàng

5 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình chi tiết đơn hàng

Hình 35: Màn hình chi ti t đ n hàngết sản phẩm ơng 1.

STT Biến cố Xử lý

1 Nhấn icon X Trở về màn hình trước

2 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình quản lý khách hàng

Hình 36: Màn hình qu n lý khách hàngản phẩm

STT Biến cố Xử lý

1 Nhấn nút “Chi tiết” Chuyển qua màn hình chi tiết khách hàng

2 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình chi tiết khách hàng

Hình 37: Màn hình chi ti t khách hàngết sản phẩm

STT Biến cố Xử lý

1 Nhấn icon X Trở về màn hình trước

Màn hình quản lý nhân viên

Hình 38: Màn hình qu n lý nhân viênản phẩm

STT Biến cố Xử lý

1 Nhấn nút “Thêm nhân viên” Chuyển qua màn hình thêm nhân viên

2 Nhấn nút “Chỉnh sửa” Chuyển qua màn hình chỉnh sửa nhân viên

3 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình thêm nhân viên

Hình 39: Màn hình thêm nhân viên

STT Biến cố Xử lý

1 Nhấn icon X Hủy thao tác và trở về màn hình trước

2 Nhấn nút “Xác nhận” Thêm nhân viên vào database

3 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

Màn hình chỉnh sửa nhân viên

Hình 40: Màn hình ch nh s a nhân viênỉ ửa sản phẩm

STT Biến cố Xử lý

1 Nhấn icon X Hủy thao tác và trở về màn hình trước

2 Nhấn nút “Xác nhận” Cập nhật nhân viên vào database

3 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

Màn hình quản lý đợt giảm giá

Hình 41: Màn hình qu n lý đ t gi m giáản phẩm ợng khách hàng ản phẩm

STT Biến cố Xử lý

1 Nhấn nút “Thêm đợt giảm giá” Chuyển qua màn hình thêm đợt giảm giá

2 Nhấn nút “Chỉnh sửa” Chuyển qua màn hình chỉnh sửa đợt giảm giá

3 Nhấn nút “Danh sách sản phẩm” Chuyển qua màn hình danh sách sản phẩm

4 Nhấn nút “Xóa” Xóa đợt giảm giá

5 Tìm kiếm dữ liệu theo cột Lọc dữ liệu theo keyword

Màn hình thêm đợt giảm giá

Hình 42: Màn hình thêm đ t gi m giáợng khách hàng ản phẩm

STT Biến cố Xử lý

1 Nhấn icon X Hủy thao tác và trở về màn hình trước

2 Nhấn nút “Xác nhận” Thêm đợt giảm giá vào database

3 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

Màn hình chỉnh sửa đợt giảm giá

Hình 43: Màn hình ch nh s a đ t gi m giáỉ ửa sản phẩm ợng khách hàng ản phẩm

STT Biến cố Xử lý

1 Nhấn icon X Hủy thao tác và trở về màn hình trước

2 Nhấn nút “Xác nhận” Cập nhật thông tin đợt giảm giá vào database

3 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

Màn hình áp dụng đợt giảm giá cho sản phẩm

Hình 44: Màn hình áp d ng đ t gi m giá cho s n ph mụng đợt giảm giá cho sản phẩm ợng khách hàng ản phẩm ản phẩm ẩu

STT Biến cố Xử lý

1 Nhấn icon X Hủy thao tác và trở về màn hình trước

2 Nhấn nút “Xác nhận” Áp dụng đợt giảm giá cho các sản phẩm được chọn

3 Nhấn nút “Hủy bỏ” Hủy thao tác và trở về màn hình trước

Màn hình quản lý loại sản phẩm

Hình 45: Màn hình qu n lý lo i s n ph mản phẩm ại sản phẩm ản phẩm ẩu

Màn hình thêm loại sản phẩm

Hình 46: Màn hình thêm lo i s n ph mại sản phẩm ản phẩm ẩu

Màn hình chỉnh sửa loại sản phẩm

Hình 47: Màn hình ch nh s a lo i s n ph mỉ ửa sản phẩm ại sản phẩm ản phẩm ẩu

Màn hình quản lý loại phòng

Hình 48: Màn hình qu n lý lo i phòngản phẩm ại sản phẩm

Màn hình thêm loại phòng

Hình 49: Màn hình thêm lo i phòngại sản phẩm

Màn hình chỉnh sửa loại phòng

Hình 50: Màn hình ch nh s a lo i phòngỉ ửa sản phẩm ại sản phẩm

Màn hình quản lý màu

Hình 51: Màn hình qu n lý màuản phẩm

Màn hình thêm màu

Hình 52: Màn hình thêm màu

Màn hình chỉnh sửa màu

Hình 53: Màn hình ch nh s a màuỉ ửa sản phẩm

Màn hình quản lý nhà cung cấp

Hình 54: Màn hình qu n lý nhà cung c pản phẩm ấp

Màn hình thêm nhà cung cấp

Hình 55: Màn hình thêm nhà cung c pấp

Màn hình chỉnh sửa nhà cung cấp

Hình 56: Màn hình ch nh s a nhà cung c pỉ ửa sản phẩm ấp

Chương 6 CÀI ĐẶT VÀ KIỂM THỬ

Môi trường cài đặt và thử nghiệm

- Môi trường phát triển: Visual Studio Code.

- Môi trường quản lý phiên bản source code: Github.

Kết quả đánh giá

- Giao diện thân thiện, dễ sử dụng, dễ tiếp cận.

- Các chức năng được hoàn thiện và không gặp phải lỗi gì quá nghiêm trọng.

- Tốc độ tải trang, tốc độ phản hồi của hệ thống chưa tối ưu nhưng ổn định, không ảnh hưởng quá nhiều đến trải nghiệm người dùng.

- Có thể đảm bảo bảo mật thông tin người dùng.

Chương 7 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

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

- Hiểu rõ hơn về HTML, CSS, TypeScript, JavaScript và thư viện ReactJS để triển Front-end cho website.

- Hiểu rõ hơn về NodeJS, ExpressJS và Mongoose để phát triển Back-end.

- Biết thêm về cách sử dụng Figma để thiết kế giao diện người dùng.

- Biết thêm về các nền tảng deploy website như Vercel, Render.

- Hiểu rõ hơn về quy trình phát triển một website.

Hạn chế

- Tốc độ hệ thống vẫn chưa tối ưu trong việc xử lý lượng dữ liệu lớn.

- Một số chức năng vẫn chưa tối ưu về tính tiện dụng đối với người dùng.

- Bảo mật chặt chẽ thông tin khách hàng là một khó khăn.

- Số lượng chức năng cho khách hàng vẫn chưa đầy đủ so với kế hoạch ban đầu do quản lý thời gian chưa hiệu quả.

Hướng phát triển

- Bổ sung các chức năng mới: Tương tác với người bán như chatbox, dịch vụ tư vấn nội thất và góc cảm hứng nội thất, quản lý các feedback để loại bỏ các feedback nhạy cảm, thống kê doanh thu cho từng khách hàng.

- Tối ưu hóa các chức năng để thuận tiện cho người dùng.

- Tối ưu tốc độ của hệ thống, tăng cường bảo mật.

- Phát triển ứng dụng mobile để tiếp cận thêm với các đối tượng khách hàng mới.

BẢNG PHÂN CÔNG CÔNG VIỆC

Công việc Nguyễn Hoàng Phúc - 20521767 Nguyễn Thanh Sang - 20521833

Thiết kế cơ sở dữ liệu x x

Code Front-end cho website khách hàng x

Code Front-end cho website admin x

Ngày đăng: 04/09/2023, 20:43

HÌNH ẢNH LIÊN QUAN

Hình 2: NodeJS - Xây dựng website bán đồ nội thất online
Hình 2 NodeJS (Trang 18)
Hình 7: S  đ  l p ơng 1. ồ Use case cho đối tượng khách hàng ớp - Xây dựng website bán đồ nội thất online
Hình 7 S đ l p ơng 1. ồ Use case cho đối tượng khách hàng ớp (Trang 43)
4.2.4. Bảng PRODUCT_IMAGE - Xây dựng website bán đồ nội thất online
4.2.4. Bảng PRODUCT_IMAGE (Trang 44)
Hình 8: Màn hình trang chủ - Xây dựng website bán đồ nội thất online
Hình 8 Màn hình trang chủ (Trang 50)
Hình 9: Màn hình đăng nh p / đăng ký ập / đăng ký - Xây dựng website bán đồ nội thất online
Hình 9 Màn hình đăng nh p / đăng ký ập / đăng ký (Trang 51)
Hình 13: Màn hình gi  hàng ỏ hàng - Xây dựng website bán đồ nội thất online
Hình 13 Màn hình gi hàng ỏ hàng (Trang 54)
Hình 14: Màn hình đ t hàng ặt hàng - Xây dựng website bán đồ nội thất online
Hình 14 Màn hình đ t hàng ặt hàng (Trang 55)
Hình 15: Màn hình thông tin tài kho n ản phẩm - Xây dựng website bán đồ nội thất online
Hình 15 Màn hình thông tin tài kho n ản phẩm (Trang 56)
Hình 16: Màn hình danh sách đ a ch ịa chỉ ỉ - Xây dựng website bán đồ nội thất online
Hình 16 Màn hình danh sách đ a ch ịa chỉ ỉ (Trang 56)
Hình 17: Màn hình danh sách hóa đ n ơng 1. - Xây dựng website bán đồ nội thất online
Hình 17 Màn hình danh sách hóa đ n ơng 1 (Trang 57)
Hình 18: Màn hình chi ti t hóa đ n ết sản phẩm ơng 1. - Xây dựng website bán đồ nội thất online
Hình 18 Màn hình chi ti t hóa đ n ết sản phẩm ơng 1 (Trang 58)
Hình 20: Màn hình đ i m t kh u ổi mật khẩu ập / đăng ký ẩu - Xây dựng website bán đồ nội thất online
Hình 20 Màn hình đ i m t kh u ổi mật khẩu ập / đăng ký ẩu (Trang 60)
Hình 21: Màn hình danh sách s n ph m yêu thích ản phẩm ẩu - Xây dựng website bán đồ nội thất online
Hình 21 Màn hình danh sách s n ph m yêu thích ản phẩm ẩu (Trang 61)
Hình 22: Màn hình v  chúng tôi ề chúng tôi - Xây dựng website bán đồ nội thất online
Hình 22 Màn hình v chúng tôi ề chúng tôi (Trang 62)
Hình 23: Màn hình đăng nh p (nhân viên) ập / đăng ký - Xây dựng website bán đồ nội thất online
Hình 23 Màn hình đăng nh p (nhân viên) ập / đăng ký (Trang 62)
Hình 24: Màn hình trang chủ - Xây dựng website bán đồ nội thất online
Hình 24 Màn hình trang chủ (Trang 63)
Hình 25: Màn hình đ i m t kh u ổi mật khẩu ập / đăng ký ẩu - Xây dựng website bán đồ nội thất online
Hình 25 Màn hình đ i m t kh u ổi mật khẩu ập / đăng ký ẩu (Trang 64)
Hình 26: Màn hình qu n lý s n ph m ản phẩm ản phẩm ẩu - Xây dựng website bán đồ nội thất online
Hình 26 Màn hình qu n lý s n ph m ản phẩm ản phẩm ẩu (Trang 65)
Hình 27: Màn hình thêm s n ph m ản phẩm ẩu - Xây dựng website bán đồ nội thất online
Hình 27 Màn hình thêm s n ph m ản phẩm ẩu (Trang 66)
Hình 29: Màn hình ch nh s a s n ph m ỉ ửa sản phẩm ản phẩm ẩu - Xây dựng website bán đồ nội thất online
Hình 29 Màn hình ch nh s a s n ph m ỉ ửa sản phẩm ản phẩm ẩu (Trang 68)
Hình 30: Màn hình qu n lý danh sách nh p kho ản phẩm ập / đăng ký - Xây dựng website bán đồ nội thất online
Hình 30 Màn hình qu n lý danh sách nh p kho ản phẩm ập / đăng ký (Trang 69)
Hình 38: Màn hình qu n lý nhân viên ản phẩm - Xây dựng website bán đồ nội thất online
Hình 38 Màn hình qu n lý nhân viên ản phẩm (Trang 75)
Hình 41: Màn hình qu n lý đ t gi m giá ản phẩm ợng khách hàng ản phẩm - Xây dựng website bán đồ nội thất online
Hình 41 Màn hình qu n lý đ t gi m giá ản phẩm ợng khách hàng ản phẩm (Trang 78)
Hình 42: Màn hình thêm đ t gi m giá ợng khách hàng ản phẩm - Xây dựng website bán đồ nội thất online
Hình 42 Màn hình thêm đ t gi m giá ợng khách hàng ản phẩm (Trang 79)
Hình 43: Màn hình ch nh s a đ t gi m giá ỉ ửa sản phẩm ợng khách hàng ản phẩm - Xây dựng website bán đồ nội thất online
Hình 43 Màn hình ch nh s a đ t gi m giá ỉ ửa sản phẩm ợng khách hàng ản phẩm (Trang 80)
Hình 48: Màn hình qu n lý lo i phòng ản phẩm ại sản phẩm - Xây dựng website bán đồ nội thất online
Hình 48 Màn hình qu n lý lo i phòng ản phẩm ại sản phẩm (Trang 83)
Hình 51: Màn hình qu n lý màu ản phẩm - Xây dựng website bán đồ nội thất online
Hình 51 Màn hình qu n lý màu ản phẩm (Trang 85)
Hình 52: Màn hình thêm màu - Xây dựng website bán đồ nội thất online
Hình 52 Màn hình thêm màu (Trang 86)
Hình 54: Màn hình qu n lý nhà cung c p ản phẩm ấp - Xây dựng website bán đồ nội thất online
Hình 54 Màn hình qu n lý nhà cung c p ản phẩm ấp (Trang 88)
w