1. Trang chủ
  2. » Giáo Dục - Đào Tạo

xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá

69 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 ứng dụng bán hàng cho các cửa hàng tạp hoá
Tác giả Nguyễn Thành Nhân
Người hướng dẫn ThS. Lê Vũ
Trường học Đại học Đà Nẵng
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 69
Dung lượng 1,45 MB

Cấu trúc

  • 1.6.1. Chương 1: Tổng quan đề tài (18)
  • 1.6.2. Chương 2: Cơ sở lý thuyết (18)
  • 1.6.3. Chương 3: Phân tích thiết kế hệ thống (18)
  • 1.6.4. Chương 4: Kết quả triển khai hệ thống (19)
  • 1.6.5. Phần kết luận (19)
  • 2.1.1. Tổng quan (20)
  • 2.3.1. Ứng dụng của JavaScript (22)
  • 2.3.2. Cách hoạt động của JavaScript (22)
  • 2.4.1. Ưu điểm (23)
  • 2.4.2. Nhược điểm (24)
  • 2.5.1. Giới thiệu (24)
  • 2.5.2. Mô hình hoạt động của nodejs (25)
  • 2.6.1. Giới thiệu về Visual Studio Code (26)
  • 3.1.1. Xác định các tác nhân (27)
  • 3.1.2. Các yêu cầu chức năng (27)
  • 3.2.1. Sơ đồ Usecase (28)
  • 3.2.2. Kịch bản cho Usecase (29)
  • 3.2.4. Sơ đồ tuần tự (38)
  • 3.2.5. Sơ đồ ERD (44)
  • 3.3.1. Thiết kế cơ sở dữ liệu (45)
  • 4.1.1. Giao diện người dùng (51)
  • 4.1.2. Giao diện admin (64)
  • KẾT LUẬN (6)
  • TÀI LIỆU THAM KHẢO (69)

Nội dung

Tên đề tài: Xây dựng ứng dụng Bán hàng cho các cửa hàng tạp hoá Sinh viên thực hiện: Nguyễn Thành Nhân Mã SV: 1911505310242 Lớp: 19T2 Nội dung tóm tắt: Ứng dụng bán hàng cho các cửa hàn

Chương 1: Tổng quan đề tài

Giới thiệu lý do và các mục tiêu mà đề tài cần giải quyết, phạm vi nghiên cứu của đề tài Giới thiệu tóm tắt nội dung sẽ được trình bày trong các chương trình tiếp theo

Nghiên cứu, tìm hiểu và đưa ra lý do chọn đề tài, mục tiêu và mục đích khi xây dựng và phát triển đề tài Xác định rỏ phạm vi và đối tượng hướng đến, giải pháp công nghệ để triển khai, xây dựng đề tài, đồng thời phân tích đặc tả yêu cầu nghiệp vụ.

Chương 2: Cơ sở lý thuyết

Tìm hiểu, giới thiệu tổng quan về ngôn ngữ lập trình JavaScript, công nghệ React Native, và hệ quản trị cơ sở dữ liệu MySQL.

Chương 3: Phân tích thiết kế hệ thống

Phân tích các tác nhân và chức năng của từng tác nhân của hệ thống Thiết kế sơ đồ Usecase, sơ đồ hoạt động, sơ đồ ERD Thiết kế cơ sở dữ liệu Xây dựng kịch bản cho từng Usecase hệ thống.

Chương 4: Kết quả triển khai hệ thống

Xây dựng giao diện và chức năng của ứng dụng

Phần kết luận

Kết luận chung cho các chương trong đồ án Trình bày những vấn đề đã giải quyết đồng thời trình bày hướng phát triển

Giới thiệu hệ quản trị cơ sở dữ liệu MySQL

Tổng quan

MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở phổ biến Nó được phát triển bởi một nhóm các nhà phát triển tại Oracle Corporation MySQL được xây dựng trên mô hình quan hệ, trong đó dữ liệu được lưu trữ trong các bảng có quan hệ với nhau thông qua các khóa ngoại

MySQL có cơ chế kiểm soát quyền truy cập của người dùng cho phép quản lý nhiều cơ sở dữ liệu khác nhau Mỗi người dùng được xác định bằng tên đăng nhập và mật khẩu duy nhất để truy cập vào các cơ sở dữ liệu được chỉ định.

MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,

2.1.2 Ưu điểm khi sử dụng MySQL

MySQL được tối ưu hóa để cung cấp hiệu suất cao cho các hoạt động đọc và ghi dữ liệu Nó sử dụng các kỹ thuật tối ưu hóa truy vấn và chỉ mục để đảm bảo truy vấn được thực hiện nhanh chóng và hiệu quả Điều này rất quan trọng khi bạn có một ứng dụng có lượng truy cập lớn hoặc xử lý dữ liệu phức tạp

Hệ thống quản lý giao dịch mạnh mẽ và hỗ trợ các tính năng bảo mật như phân quyền và mã hóa dữ liệu Nó cũng có khả năng sao lưu và phục hồi dữ liệu, giúp bảo vệ dữ liệu của bạn khỏi sự mất mát và giúp phục hồi sau các sự cố

Cho phép bạn tạo và quản lý các cơ sở dữ liệu lớn với hàng nghìn bảng và triệu hàng tỷ bản ghi Nó cung cấp tính năng phân tán và sao chép để tăng tính sẵn có và khả năng mở rộng của hệ thống

API (Application Programming Interface) đóng vai trò trung gian giữa các ứng dụng, cho phép chúng giao tiếp với nhau Sự hiện diện của API thể hiện rõ trong những hành động hàng ngày như sử dụng Facebook, nhắn tin tức thời hay kiểm tra thời tiết trên điện thoại.

Kiến trúc API thường được giải thích dưới dạng máy chủ và máy khách Ứng dụng gửi yêu cầu được gọi là máy khách, còn ứng dụng gửi phản hồi được gọi là máy chủ

Như vậy, trong ví dụ về thời tiết, cơ sở dữ liệu của cơ quan thời tiết là máy chủ còn ứng dụng di động là máy khách API hoạt động theo 4 cách khác nhau, tùy vào thời điểm và lý do chúng được tạo ra

Cách hoạt động của API: a) API SOAP Các API này sử dụng Giao thức truy cập đối tượng đơn giản Máy chủ và máy khách trao đổi thông đệp bằng XML Đây là loại API kém linh hoạt được dùng phổ biến trước đây b) API RPC Những API này được gọi là Lệnh gọi thủ tục từ xa Máy khách hoàn thành một hàm (hoặc thủ tục) trên máy chủ còn máy chủ gửi kết quả về cho máy khách c) API Websocket API Websocket là một bản phát triển API web hiện đại khác sử dụng các đối tượng JSON để chuyển dữ liệu API WebSocket hỗ trợ hoạt động giao tiếp hai chiều giữa ứng dụng máy khách và máy chủ Máy chủ có thể gửi thông điệp gọi lại cho các máy khách được kết nối, điều này khiến loại API này hiệu quả hơn API REST d) API REST Đây là loại API phổ biến và linh hoạt nhất trên web hiện nay Máy khách gửi yêu cầu đến máy chủ dưới dạng dữ liệu Máy chủ dùng dữ liệu đầu vào từ máy khách này

Giới thiệu ngôn ngữ lập trình Java Script JavaScript rất phổ biến được dùng để tạo ra các trang web tương tác Được tích hợp và nhúng vào HTML giúp website trở nên sống động hơn JavaScript đóng vai trò như một phần của trang web, thực thi cho phép Client-Side Script từ phía người dùng cũng như phía máy chủ (Nodejs) tạo ra các trang web động Là một ngôn ngữ lập trình thông dịch với khả năng hướng đến đối tượng Là một ngôn ngữ bậc cao, có các giao diện lập trình ứng dụng (API) để làm việc với văn bản, ngày tháng, biểu thức chính quy, cấu trúc dữ liệu tiêu chuẩn và Mô hình đối tượng tài liệu (DOM).

Ứng dụng của JavaScript

- Thay đổi nội dung HTML như tìm một phần tử của HTML và dùng để thay đổi nội dung của phần từ (Internal HTML) sang nội dung thuộc Javascript

- Tiến hành lưu trữ và truy xuất cho các giá trị - Thực hiện tải và sử dụng những mô-đun ở bên ngoài

- Thực hiện xác định và gọi cho các hàm

- Tiến hành viết trình xử lý cho các sự kiện để có thể đáp ứng với tất cả người dùng và những sự kiện khác.

Cách hoạt động của JavaScript

Khi trình duyệt tải một trang web chứa mã JavaScript, trình duyệt sẽ tải mã đó và xử lý nó từ trên xuống dưới, tuần tự theo thứ tự mà mã được đặt trong tài liệu HTML

JavaScript được sử dụng để xử lý sự kiện và phản ứng với hành động người dùng trên trang web khi người dùng tương tác với trang

JavaScript có khả năng thay đổi nội dung và giao diện người dùng của trang web bằng cách truy cập vào Document Object Model (DOM) DOM cho phép JavaScript thêm, xóa hoặc sửa đổi nội dung của các phần tử HTML, cũng như thay đổi kiểu dáng và tạo hiệu ứng động.

JavaScript cho phép kết nối với các API và tương tác với dữ liệu từ máy chủ bằng các phương thức như XMLHttpRequest, Fetch API hay giao thức WebSocket Thông qua các phương thức này, JavaScript có thể gửi yêu cầu đến máy chủ và xử lý dữ liệu trả về.

React Native là một framework mã nguồn mỡ được sáng tạo bởi Facebook Nó được sử dụng để phát triển ứng dụng di động Android, IOS, Web bằng cách cho phép các nhà phát triển sử dụng React cùng với môi trường ứng dụng gốc (native) React native cũng giống như React vậy chúng sử dụng các native components thay vì các web components Sự ra đời của React Native là lời giải đáp cho bài toán về hiệu năng và tối ưu hóa ngôn ngữ cho mọi nền tảng di động Vì vậy để hiểu về cấu trúc của React native chúng ta cần phải có các kiến thức cơ bản với các khái niệm cơ bản của React như là

JSX, components, props hay là state

Với những ưu điểm của mình mà JavaScript được các ông lớn như Google, Facebook,… hỗ trợ trong việc phát triển để cho ra đời các library hay framework JavaScript nổi tiếng hiện nay như: AngularJS, ReactJS và React Native, VueJS, NuxtJS, NextJS, Jquery, NodeJS …

Ưu điểm

Ưu điểm của React Native có rất nhiều, trong đó có 4 nội dung chính bao gồm:

Phát triển ứng dụng di động cho cả iOS và Android từ một mã nguồn duy nhất Điều này giúp tiết kiệm thời gian và công sức phát triển

React Native sử dụng JavaScript, một ngôn ngữ lập trình phổ biến và dễ tiếp cận Điều này có nghĩa là bạn có thể sử dụng kiến thức và kỹ năng JavaScript hiện có của mình để phát triển ứng dụng React Native mà không cần học một ngôn ngữ mới

Cộng đồng React Native rất lớn và phong phú, cung cấp rất nhiều gói thư viện sẵn có để giúp bạn xây dựng các tính năng phức tạp một cách nhanh chóng

Sử dụng bridge, công cụ kết nối mã JavaScript với các thành phần giao diện người dùng trên nền tảng di động, giúp tăng hiệu suất và cải thiện thời gian phản hồi so với các ứng dụng lai di động thông thường.

Nhược điểm

Với những ưu điểm tiện dụng, người học lập trình có thể dễ học thì React Native cũng có những nhược điểm cơ bản Trong đó, nó được thể hiện qua:

Một số chức năng cụ thể mà bạn có thể cần phải sử dụng mã native hoặc giao diện lập trình ứng dụng (API) riêng của từng nền tảng

Mặc dù React Native có hiệu suất vượt trội so với các ứng dụng lai truyền thống, nhưng nó vẫn không thể đạt được hiệu suất tương tự như các ứng dụng di động được viết bằng mã gốc.

Hiệu năng kém hơn so với khi sử dụng native app

Vì sử dụng JavaScript nên chưa có sự bảo mật an toàn

Khả năng tùy biến trong một số module chưa thật sự tốt

Không thích hợp khi ứng dụng vào các app cần khả năng tính toán cao

Giới thiệu

NodeJs 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ộ

Khi bạn connect đến một server truyền thống, chẳng hạn Apache, nó sẽ sinh ra một thread mới để xử lý request Ở các ngôn ngữ như PHP hay Ruby, mỗi một phép toán I/O (ví dụ truy cập database) sẽ chặn execution trên code của bạn cho đến khi phép toán đó hoàn thành Nói cách khác, server sẽ đợi cho đến khi database được duyệt xong mới xử lý kết quả Nếu có những request mới, server lại tiếp tục sinh những thread mới để xử lý chúng Điều này dẫn đến nguy cơ kém hiệu quả, khi một lượng lớn thread được tạo ra sẽ khiến cho hệ thống trở nên chậm chạp, tệ hơn nữa có thể khiến site bị sập Cách thông thường để giải quyết tình trạng này là bổ sung thêm server.

Mô hình hoạt động của nodejs

Hình 2.1: Mô hình hoạt động của Nodejs

Node.js là single-threaded và dựa trên sự kiện, nghĩa là nó xử lý các sự kiện theo thứ tự nhận được Khi một yêu cầu đến, máy chủ sẽ bắt đầu xử lý nó Nếu cần thực hiện toán tử I/O, thay vì chờ đợi kết quả, máy chủ sẽ đăng ký một callback và tiếp tục xử lý sự kiện tiếp theo Khi toán tử I/O hoàn tất, máy chủ sẽ chạy callback để tiếp tục xử lý yêu cầu ban đầu Mô hình hoạt động này của Node.js sử dụng thư viện libuv để thực hiện hoạt động không đồng bộ (non-blocking), cho phép máy chủ xử lý đồng thời nhiều kết nối đến Để mở rộng quy mô một ứng dụng Node.js, thông thường người ta sử dụng chiến lược clone ứng dụng và chia sẻ công việc giữa các bản sao Node.js thậm chí còn cung cấp mô-đun tích hợp sẵn để hỗ trợ việc thực hiện chiến lược clone này trên một máy chủ duy nhất.

Công cụ sử dụng phát triển hệ thống

Giới thiệu về Visual Studio Code

Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor

Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác

Một số tính năng nổi bật Hỗ trợ nhiều ngôn ngữ lập trình Hỗ trợ đa nền tảng Ít dung lượng, nhẹ Tính năng mạnh mẽ Cung cấp kho tiện ích mở rộng Kho lưu trữ an toàn

Visual Studio Code hỗ trợ nhiều ứng dụng web Ngoài ra, nó cũng có một trình soạn thảo và thiết kế website

Lưu trữ dữ liệu dạng phân cấp Hỗ trợ viết Code

Visual Studio Code có tích hợp thiết bị đầu cuối, giúp người dùng khỏi phải chuyển đổi giữa hai màn hình hoặc trở về thư mục gốc khi thực hiện các thao tác

Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục – mặc dù chúng không hề liên quan với nhau

Intellisense: có thể phát hiện nếu bất kỳ đoạn mã nào không đầy đủ Thậm chí, khi lập trình viên quên không khai báo biến, Intellisense sẽ tự động giúp họ bổ sung các cú pháp còn thiếu

: PHÂN TÍCH THIẾT KẾ HỆ THỐNG Đặc tả chức năng

Xác định các tác nhân

Đề tài gồm 3 tác nhân:

Các yêu cầu chức năng

Khách vãng lai Tìm kiếm Đăng ký thành viên

Khách thành viên Đăng nhập / đăng xuất Cập nhập thông tin cá nhân Tìm kiếm hàng hoá

Mua sản phẩm Thêm/ Cập nhật địa chỉ giao hàng Xem đơn hàng đã giao/ chưa giao

− Quản lý tài khoản người dùng

− Quản lý doanh thu cửa hàng

− Quản lý danh sách sản phẩm

Sơ đồ Usecase

Hình 3.1: Sơ đồ usecase tổng quát

Kịch bản cho Usecase

STT Tên Usecase Đăng nhập

1 Mô tả Người dùng cần phải đăng nhập để sử dụng ứng dụng 2 Tác nhân Quản trị viên, Khách thành viên

3 Đầu vào Email và Mật khẩu

4 Đầu ra Đăng nhập thành công

5 Các bước thực hiện 1 Nhập Email

2 Nhập Mật khẩu 3 Nhấn nút Đăng nhập 6 Các bước phát sinh Người dùng nhập sai Email hoặc Mật khẩu -> Thông báo lỗi không đúng Email hoặc Mật khẩu 7 Trưởng hợp ngoại lệ

Usecase “Quản lý tài khoản”

STT Tên Usecase Quản lý tài khoản

1 Mô tả Thêm, sửa, xóa thông tin người dùng trên hệ thống

2 Tác nhân Quản trị viên

3 Đầu vào Quản trị viên đã đăng nhập thành công 4 Đầu ra Hệ thống thông báo thực hiện chức năng thành công 5 Các bước thực hiện Bước 1: Chủ cửa hàng nhấn vào nút “Quản lý tài khoản” - Bắt đầu use case Bước 2: Chủ cửa hàng chọn chức năng muốn thực hiện (Thêm mới tài khoản, chỉnh sửa tài khoản, hoặc Xóa tài khoản)

1 Chủ cửa hàng chọn chức năng “Thêm mới”

2 Nhập thông tin tài khoản thêm mới 3 Chủ cửa hàng chọn nút “Thêm mới”

4 Hệ thống thông báo thêm mới thành công - Kết thúc usecase

1 Chủ cửa hàng chọn tài khoản cần sửa 2 Chủ cửa hàng chọn nút “Chỉnh sửa”

3 Người dùng nhập thông tin cần sửa 4 Người dùng chọn nút “Xác nhận”

5 Hệ thống xuất thông báo đã chỉnh sửa tài khoản thành công - Kết thúc use case

1 Chủ cửa hàng chọn tài khoản cần xoá 2 Chủ cửa hàng chọn nút “Xoá”

Hệ thống thông báo Xoá tài khoản thành công - Kết thúc use case

6 Các bước phát sinh 7 Trưởng hợp ngoại lệ

Usecase “Quản lý danh sách sản phẩm”

STT Tên Usecase Quản lý danh sách sản phẩm

1 Mô tả Thêm, sửa, xóa thông tin sản phẩm trên hệ thống

2 Tác nhân Quản trị viên

3 Đầu vào Quản trị viên đã đăng nhập thành công 4 Đầu ra Hệ thống thông báo thực hiện chức năng thành công 5 Các bước thực hiện Bước 1: Chủ cửa hàng nhấn vào nút “Quản lý danh sách sản phẩm” - Bắt đầu use case Bước 2: Người quản lý chọn chức năng muốn thực hiện (Thêm mới, chỉnh sửa, hoặc Xóa sản phẩm)

1 Nhập tên sản phẩm 2 Nhập giá tiền 3 Nhấn Upload hình ảnh sản phẩm

4 Nhấn nút Thêm mới -> Hệ thống thông báo

“Bạn có muốn thêm sản phẩm không” -> Nhấn nút thêm -> Hệ thống thông báo đã thêm sản phẩm thành công -> Kết thúc Usecase

1 Nhấn chọn Checkbox một hoặc nhiều sản phẩm cần xóa

2 Nhấn nút xóa -> Hệ thống thông báo “Bạn có muốn xóa phẩm không” -> Nhấn nút xóa -> Kết thúc Usecase

1 Chọn sản phẩm cần cập nhật 2 Nhập tên sản phẩm

3 Nhập giá tiền 4 Upload hình ảnh sản phẩm Nhấn nút cập nhật -> Hệ thống thông báo cập nhật sản

C 3 Nhấn nút Hủy -> Hệ thống quay lại bước 1

Usecase “Quản lý đơn hàng”

STT Tên Usecase Quản lý đơn hàng

1 Mô tả Thêm, Xóa, Cập nhật và Phân loại đơn hàng

2 Tác nhân Quản trị viên

3 Đầu vào Quản trị viên đã đăng nhập thành công 4 Đầu ra Hệ thống thông báo thực hiện chức năng thành công

5 Các bước thực hiện Bước 1: Chủ cửa hàng nhấn vào nút “Quản lý đơn hàng” - Bắt đầu use case Bước 2: Người quản lý chọn chức năng muốn thực hiện (Thêm, Xóa, Cập nhật và Phân loại đơn hàng)

1 Chọn đơn hàng cần thêm 2 Nhấn nút thêm -> Hệ thống thông báo thêm đơn hàng thành công -> Kết thúc Usecase

1 Nhấn chọn Checkbox một hoặc nhiều đơn hàng cần xóa

2 Nhấn nút xóa -> Hệ thống thông báo “Bạn có muốn xóa đơn hàng không” -> Nhấn xóa -> Hệ thống thông báo xóa thành công -> Kết thúc Usecase

1 Chọn đơn hàng cần cập nhật 2 Cập nhật tên đơn hàng 3 Cập nhật giá tiền đơn hàng

Nhấn nút cập nhật -> Hệ thống thông báo cập nhật thành công

6 Các bước phát sinh 7 Trưởng hợp ngoại lệ

3.2.3 Sơ đồ hoạt động (Activity Diagram) Actor quản trị viên, khách thành viên đăng nhập

Hình 3.2: Sơ đồ hoạt động đăng nhập

Sơ đồ hoạt động Mua sản phẩm

Hình 3.3: Sơ đồ hoạt động Mua sản phẩm

Sơ đồ hoạt động Cập nhật thông tin người dùng

Hình 3.4: Sơ đồ hoạt động Cập nhật thông tin người dùng

Sơ đồ hoạt động Quản lý tài khoản

Hình 3.5: Sơ đồ hoạt động Quản lý tài khoản

Sơ đồ hoạt động Quản lý danh sách sản phẩm

Hình 3.6: Sơ đồ hoạt động Quản lý danh sản phẩm

Sơ đồ tuần tự

Hình 3.7: Sơ đồ tuần tự Quản lý tài khoản

Sơ đồ tuần tự Quản lý danh sách sản phẩm

Sơ đồ tuần tự Quản lý đơn hàng

Hình 3.9: Sơ đồ tuần tự Quản lý đơn hàng

Sơ đồ tuần tự Thêm địa chỉ giao hàng

Sơ đồ tuần tự Đăng nhập

Hình 3.11: Sơ đồ tuần tự Đăng nhập

Hình 3.12: Sơ đồ hệ thống

Sơ đồ ERD

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

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú roleID Mã Quyền int Khóa chính, tự động tăng roleName Tên Quyền Varchar(30)

Bảng người dùng có các thuộc tính sau: userID là mã người dùng kiểu int, là khóa chính tự động tăng; userName là tên người dùng kiểu varchar(25); passWord là mật khẩu kiểu varchar(255); fullName là họ và tên kiểu varchar(50); email là địa chỉ email kiểu varchar(255); phone là số điện thoại kiểu varchar(11); address là địa chỉ kiểu varchar(30).

Birthday Ngày sinh date roleID Mã Quyền int Khóa ngoại

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú productID Mã sản phẩm Varchar (7) Khóa chính productName Tên sản phẩm Nvarchar (30) price Giá tiền Varchar (10)

Quantity Số lượng Int stockQuantity Số lượng tồn Int expirationDate Hạn sử dụng Datetime

Unit Đơn vị Varchar (30) productDescription Mô tả sản phẩm Nvarchar (255) productStatus Tình trạng sản phẩm

Nvarchar (30) categoryID Mã danh mục Varchar(11) Khoá ngoại wareHouseID Mã kho hàng Varchar(7) Khoá ngoại importPrice Giá nhập Decimal importDate Ngày nhập Date dateManufactured Ngày sản xuất Date

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú imageID Mã hình ảnh Varchar (7) Khóa chính imageURL Đường dẫn Varchar (255) productID Mã sản phẩm Varchar (7) Khoá ngoại

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú orderID Mã đơn hàng Varchar (7) Khóa chính orderStatus Tình trạng đơn hàng

Nvarchar (2) payMethod Phương thức thanh toán

The `Varchar (45)` data type is used to store the `totalPrice` of the order as a string with a maximum length of 45 characters The `Decimal` data type is used to store the `orderDate` as a fixed-precision numeric value The `Datetime` data type is used to store both the `deliveryDate` and the `orderDate` as dates and times Finally, the `Int` data type is used to store the `userID` and `userAddressID` as integers These fields are foreign keys that reference the `User` and `UserAddress` tables, respectively.

Bảng Chi tiết đơn hàng

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú orderDetailID Mã chi tiết đơn hàng

Varchar(11) Khóa chính orderID Mã đơn hàng Varchar(11) Khoá ngoại quantity Số lượng int productID Mã sản phẩm Varchar(50) Khoá ngoại

Bảng 3.6: Bảng Chi tiết đơn hàng

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú categoryID Mã danh mục Varchar(11) Khoá chính

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

CartID Mã giỏ hàng int Khoá chính, tự động tăng productID Mã sản phẩm Varchar(7) Khóa ngoại, tự động tăng userID Mã người dùng int Khóa ngoại, tự động tăng quantity Số lượng int

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú productID Mã sản phẩm Varchar (7) Khóa chính productName Tên sản phẩm Nvarchar (30) importQuantity Số lượng nhập hàng

Int exportQuantity Số lượng xuất hàng Int stockQuantity Số lượng tồn Int dateImport Ngày nhập hàng Datetime dateExport Ngày xuất hàng Datetime

Bảng Địa chỉ người dùng

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú userAddressID Mã địa chỉ người dùng int Khoá chính, tự động tăng userNameAddress Địa chỉ người dùng varchar(100) userID Mã người dùng int Khóa ngoại, tự động tăng

WardsID Mã Phường/ Xã int Khóa ngoại, tự động tăng

Bảng 3.10: Bảng Địa chỉ người dùng

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú provinceID Mã tỉnh/ thành int Khóa chính, tự động tăng nameProvince Tên tỉnh/ thành int

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú districtID Mã quận/ huyện int Khóa chính, tự động tăng provinceID Mã tỉnh/ thành int Khóa ngoại, tự động tăng

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú

WardsID Mã phường/ xã int Khoá chính, tự động tăng districtID Mã quận/ huyện int Khóa ngoại, tự động tăng provinceID Mã tỉnh/ thành int Khóa ngoại, tự động tăng nameWard Tên phường/ xã Varchar (64)

Thuộc tính Giải thích Kiểu dữ liệu Ghi chú userID Mã người dùng int Khóa chính, tự động tăng supplierName Tên nhà cung cấp Nvarchar (50) supplierAddress Địa chỉ nhà cung cấp

Nvarchar (50) supplierPhone SĐT nhà cung cấp Varchar (11) supplierEmail Email nhà cung cấp

Bảng 3.14: Bảng nhà cung cấp

: KẾT QUẢ TRIỂN KHAI HỆ THỐNG

Giao diện người dùng

Hình 4.2: Giao diện đăng ký tài khoản

Hình 4.3: Giao diện đăng nhập tài khoản

Giao diện Chi tiết sản phẩm

Hình 4.4: Giao diện Chi tiết sản phẩm

Hình 4.6: Giao diện Thanh toán

Hình 4.7: Giao diện Thanh toán thành công

Hình 4.8: Giao diện Tài khoản

Hình 4.9: Giao diện Đơn hàng

Hình 4.10: Giao diện Tìm kiếm

Giao diện Thông tin cá nhân

Hình 4.11: Giao diện thông tin cá nhân

Giao diện Danh sách địa chỉ

Hình 4.12: Giao diện Danh sách địa chỉ

Giao diện Cập nhật địa chỉ

Hình 4.13: Giao diện Cập nhật địa chỉ

Ngày đăng: 20/09/2024, 19:37

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Mô hình hoạt động của Nodejs - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 2.1 Mô hình hoạt động của Nodejs (Trang 25)
Hình 3.1: Sơ đồ usecase tổng quát - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 3.1 Sơ đồ usecase tổng quát (Trang 28)
Sơ đồ hoạt động Mua sản phẩm - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Sơ đồ ho ạt động Mua sản phẩm (Trang 34)
Sơ đồ hoạt động Cập nhật thông tin người dùng - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Sơ đồ ho ạt động Cập nhật thông tin người dùng (Trang 35)
Sơ đồ hoạt động Quản lý tài khoản - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Sơ đồ ho ạt động Quản lý tài khoản (Trang 36)
Sơ đồ hoạt động Quản lý danh sách sản phẩm - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Sơ đồ ho ạt động Quản lý danh sách sản phẩm (Trang 37)
Hình 3.7: Sơ đồ tuần tự Quản lý tài khoản - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 3.7 Sơ đồ tuần tự Quản lý tài khoản (Trang 38)
Sơ đồ tuần tự Quản lý danh sách sản phẩm - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Sơ đồ tu ần tự Quản lý danh sách sản phẩm (Trang 39)
Sơ đồ tuần tự Quản lý đơn hàng - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Sơ đồ tu ần tự Quản lý đơn hàng (Trang 40)
Sơ đồ tuần tự Thêm địa chỉ giao hàng - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Sơ đồ tu ần tự Thêm địa chỉ giao hàng (Trang 41)
Sơ đồ tuần tự Đăng nhập - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Sơ đồ tu ần tự Đăng nhập (Trang 42)
Hình 3.12: Sơ đồ hệ thống - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 3.12 Sơ đồ hệ thống (Trang 43)
Hình 3.13: Sơ đồ ERD - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 3.13 Sơ đồ ERD (Trang 44)
Bảng người dùng - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Bảng ng ười dùng (Trang 45)
Bảng Sản phẩm - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
ng Sản phẩm (Trang 46)
Bảng 3.13: Bảng Phường/ Xã - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Bảng 3.13 Bảng Phường/ Xã (Trang 50)
Hình 4.2: Giao diện đăng ký tài khoản - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.2 Giao diện đăng ký tài khoản (Trang 52)
Hình 4.3: Giao diện đăng nhập tài khoản - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.3 Giao diện đăng nhập tài khoản (Trang 53)
Hình 4.4: Giao diện Chi tiết sản phẩm - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.4 Giao diện Chi tiết sản phẩm (Trang 54)
Hình 4.6: Giao diện Thanh toán - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.6 Giao diện Thanh toán (Trang 56)
Hình 4.7: Giao diện Thanh toán thành công - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.7 Giao diện Thanh toán thành công (Trang 57)
Hình 4.8: Giao diện Tài khoản - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.8 Giao diện Tài khoản (Trang 58)
Hình 4.9: Giao diện Đơn hàng - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.9 Giao diện Đơn hàng (Trang 59)
Hình 4.10: Giao diện Tìm kiếm - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.10 Giao diện Tìm kiếm (Trang 60)
Hình 4.11: Giao diện thông tin cá nhân - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.11 Giao diện thông tin cá nhân (Trang 61)
Hình 4.12: Giao diện Danh sách địa chỉ - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.12 Giao diện Danh sách địa chỉ (Trang 62)
Hình 4.13: Giao diện Cập nhật địa chỉ - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.13 Giao diện Cập nhật địa chỉ (Trang 63)
Hình 4.15: Giao diện quản lý tài khoản - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.15 Giao diện quản lý tài khoản (Trang 64)
Hình 4.17: Giao màn hình hiển thị danh sách sản phẩm - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.17 Giao màn hình hiển thị danh sách sản phẩm (Trang 66)
Hình 4.18: Giao diện thêm sản phẩm - xây dựng ứng dụng bán hàng cho các cửa hàng tạp hoá
Hình 4.18 Giao diện thêm sản phẩm (Trang 67)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w