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

Đề t i xây dựng api cho website bán mỹ phẩm skinlele

59 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 đề Đề Tài: Xây Dựng API Cho Website Bán Mỹ Phẩm Skinlele
Tác giả Đỗ Văn Phong, Nguyễn Thị Thương
Người hướng dẫn Trần Thị Minh Thu
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo chuyên đề
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 59
Dung lượng 5,77 MB

Nội dung

- Các yêu cầu đặc biệt: Không có - Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu - Trạng thái hệ thống sau khi sử dụng use case:  Nếu đăng nhập thành công: Thông báo

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN

NGÔN NGỮ LẬP TRÌNH PYTHON

ĐỀ T I: XÂY DỰNG API CHO WEBSITE BÁN MỸ PHẨM SKINLELE

Sinh viên thực hiện : ĐỖ VĂN PHONG

NGUYỄN THỊ THƯƠNG Giảng viên hướng dẫn : TRẦN THỊ MINH THU

Hà Nội, tháng năm 2024

Trang 2

STT Họ và tên sinh viên Nội dung thực hiện Điểm Chữ ký

Trang 3

LỜI MỞ ĐẦU 1

1.1 Lý do chọn đề tài 2

1.2 Giới thiệu về ngôn ngữ lập trình Python 3

1.2.1 Lịch sử phát triển của ngôn ngữ lập trình Python 3

1.2.2 Đặc điểm và ưu nhược điểm của ngôn ngữ lập trình Python 4

1.2.3 Giới thiệu về framework FastAPI 6

1.3 Mục tiêu nghiên cứu 6

1.4 Phạm vi nghiên cứu 7

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 9

2.1 Phân tích chức năng hệ thống 9

2.2 Biểu đồ Use Case tổng quát của hệ thống 10

2.3 Biểu đồ lớp của hệ thống 21

2.4 Thiết kế giao diện 22

CHƯƠNG 3: C I ĐẶT V TRIỂN KHAI 30

3.1 Xây dựng API cho website 30

3.1.2 Cài đặt môi trường phát triển 30

3.1.2 Xây dựng API cho các chức năng bên phía khách hàng 31

3.1.3 Xây dựng API cho các chức năng bên phía quản lý 45

3.2 Xây dựng giao diện kết hợp với API 47

KẾT LUẬN 54

Trang 4

Hình 2 1 Biểu đồ use case tổng quát toàn hệ thống 12

Hình 2 2 Biểu đồ lớp của hệ thống 13

Hình 2 3 Layout trang chủ 15

Hình 2 4 Layout trang đăng nhập 15

Hình 2 5 Layout trang đăng ký 16

Hình 2 6 Layout trang chi tiết sản phẩm 18

Hình 2 7 Layout trang giỏ hàng 18

Hình 2 8 Layout trang đăng nhập Admin 19

Hình 2 9 Layout trang chủ DashBoard 20

Hình 2 10 Sơ đồ Diagram 21

Hình 3 1 Cài đặt thư viện 23

Hình 3 2 Xây dựng thư mục 24

Hình 3 3 Code xử lý API cho chức năng đăng nhập, đăng ký 25

Hình 3 4 Kết quả chạy API cho chức năng đăng nhập 26

Hình 3 5 Kết quả chạy API cho chức năng đăng ký 27

Hình 3 6 Code xử lý API chức năng lấy sản phẩm, danh mục, chi tiết sản phẩm, tìm kiếm sản phẩm 28

Hình 3 7 Kết quả chạy API lấy các sản phẩm 29

Hình 3 8 Kết quả chạy API lấy chi tiết sản phẩm 30

Hình 3 9 Kết quả chạy API cho chức năng tìm kiếm sản phẩm 31

Hình 3 10 Code xử lý API cho chức năng đặt hàng, quản lý đơn hàng 32

Hình 3 11 Kết quả chạy API cho chức năng đặt hàng 33

Hình 3 12 Kết quả chạy API lấy đơn hàng chờ xử lý 34

Hình 3 13 Kết quả chạy API cho đơn hàng đang vận chuyển 35

Hình 3 14 Kết quả chạy API cho đơn hàng đã giao 36

Hình 3 15 Code xử lý API cho chức năng đánh giá 37

Hình 3 16 Kết quả chạy API cho chức năng đánh giá 38

Trang 5

Hình 3 18 Code xử lý API cho các chức năng quản lý của admin 40

Hình 3 19 Xây dựng thư mục cho Front-end 41

Hình 3 20 Giao diện đăng nhập 41

Hình 3 21 Giao diện đăng ký 42

Hình 3 22 Giao diện trang chủ 42

Hình 3 23 Giao diện danh mục sản phẩm 43

Hình 3 24 Giao diện giỏ hàng 43

Hình 3 25 Giao diện thông tin đơn hàng 44

Hình 3 26 Giao diện đăng nhập admin 44

Hình 3 27 Giao diện trang chủ admin 45

Hình 3 28 Giao diện quản lý sản phẩm 45

Hình 3 29 Giao diện quản lý người dùng 46

Hình 3 30 Giao diện quản lý đơn hàng 46

Trang 6

Hiện nay trên thế giới nói chung và Việt Nam nói riêng đang diễn ra quá trình tin học hóa toàn diện trên mọi lĩnh vực hoạt động kinh tế xã hội, con người đang chuyển sang một kỉ nguyên mới- kỉ nguyên của công nghệ thông tin 4.0 Máy tính và các công cụ của nó đã trở thành nhu cầu không thể thiếu đối với các ngành khoa học và kĩ thuật, trong các ngành quản lý, thiết kế giảng dạy, các ngành công nghiệp đồ họa,…

Nhờ ứng dụng của công nghệ thông tin đã làm giảm được rất nhiều khó khăn trong việc quản lý trên các giấy tờ Nó có yếu tố không nhỏ trong việc phát triển và thành công không nhỏ của mỗi ngành nghề, mỗi xí nghiệp, mỗi quốc gia ngày nay

Nhắc đến công nghệ thông tin không thể không kể đến các ngôn ngữ lập trình đóng vài trò quyết định đến việc xây dựng các phần mềm hay các website hiện tại Trong đó ngôn ngữ lập trình Python đã và đang trở thành xu hướng hàng đầu mà người lập trình hướng đến để phát triển công nghệ Sau khi hoàn thành học phần môn “ Ngôn ngữ lập trình python ” và sự giúp đỡ của cô Trần Thị Minh Thu, chúng em đã chọn đề tài: ” Xây dựng API cho website bán mỹ phẩm Skinlele ” Với vốn kiến thức còn hạn chế vì vậy bài làm của chúng em chắc chắn

sẽ có nhiều thiếu khuyết Rất mong được sự góp ý của thầy, cô để bài làm tốt hơn.

Chúng em xin chân thành cảm ơn !

Trang 7

CHƯƠNG 1: GIỚI THIỆU ĐỀ T I

1.1 Lý do chọn đề tài

Đáp ứng nhu cầu thị trường: Ngành công nghiệp mỹ phẩm đang phát triển mạnh

mẽ và có tiềm năng lớn Việc xây dựng một trang web bán mỹ phẩm sẽ giúp chúng ta tận dụng cơ hội kinh doanh trong lĩnh vực này Trang web có thể giúp chúng ta tiếp cận với nhiều khách hàng tiềm năng và mở rộng phạm vi kinh doanh.

Tính phát triển của ngành công nghiệp mỹ phẩm: Ngành công nghiệp mỹ phẩm đang có sự tăng trưởng đáng kể và đóng góp lớn vào nền kinh tế Việc xây dựng một website bán mỹ phẩm có thể tận dụng cơ hội kinh doanh trong ngành này

Tiềm năng thị trường: Nhu cầu sử dụng mỹ phẩm không ngừng tăng, và việc mua sắm mỹ phẩm trực tuyến đang trở thành xu hướng phổ biến Xây dựng một website bán mỹ phẩm có thể tiếp cận được khách hàng tiềm năng trên một quy mô rộng lớn

Tiện lợi và linh hoạt: Mua sắm mỹ phẩm trực tuyến mang lại sự tiện lợi và linh hoạt cho khách hàng Họ có thể dễ dàng tìm kiếm và so sánh các sản phẩm, đọc đánh giá từ người dùng khác và mua hàng từ bất kỳ đâu và bất kỳ lúc nào

Khả năng tạo ra thu nhập: Xây dựng một website bán mỹ phẩm có thể tạo ra nguồn Hiện tại, có rất nhiều website bán mỹ phẩm trên Internet, và điều này chứng tỏ ngành công nghiệp mỹ phẩm đang phát triển mạnh mẽ

Một số ví dụ về các website bán mỹ phẩm phổ biến hiện nay: Sephora (www.sephora.com): Sephora là một trong những website bán mỹ phẩm hàng đầu trên thế giới Họ cung cấp một loạt các sản phẩm mỹ phẩm từ các thương hiệu nổi tiếng và cũng có dịch vụ tư vấn và đánh giá sản phẩm từ cộng đồng người dùng Ulta Beauty (www.ulta.com): Ulta Beauty cung cấp một bộ sưu tập rộng lớn các sản phẩm mỹ phẩm, từ mỹ phẩm cao cấp cho đến các thương hiệu phổ biến Họ cũng có các cửa hàng truyền thống và dịch vụ chăm sóc da và tóc.

Trang 8

Tích hợp dễ dàng: Python là một ngôn ngữ lập trình linh hoạt và có thể tích hợp

dễ dàng với nhiều công nghệ khác nhau Chúng ta có thể sử dụng Python để kết nối với

cơ sở dữ liệu, tích hợp các hệ thống thanh toán trực tuyến, và tạo ra các tính năng tùy chỉnh cho trang web của chúng ta.

Sử dụng các thư viện hỗ trợ: Python có một cộng đồng lớn và năng động, với rất nhiều thư viện hỗ trợ phát triển web Ví dụ, chúng ta có thể sử dụng thư viện BeautifulSoup để phân tích cú pháp HTML và trích xuất dữ liệu từ các trang web khác Ngoài ra, thư viện Pandas có thể giúp xử lý và phân tích dữ liệu liên quan đến mỹ phẩm, như danh sách sản phẩm, thông tin khách hàng và doanh thu.

Học tập và phát triển kỹ năng: Xây dựng một trang web bán mỹ phẩm bằng Python là một dự án phù hợp để rèn luyện và phát triển kỹ năng lập trình Có thể học cách tương tác với cơ sở dữ liệu, xây dựng giao diện người dùng hấp dẫn, và triển khai ứng dụng web trên môi trường thực tế.

1.2 Giới thiệu về ngôn ngữ lập trình Python

1.2.1 Lịch sử phát triển của ngôn ngữ lập trình Python

Python là một ngôn ngữ lập trình cao cấp được tạo ra bởi Guido van Rossum và được giới thiệu lần đầu vào năm 1991 Guido van Rossum thiết kế Python với mục tiêu tạo ra một ngôn ngữ lập trình dễ đọc, dễ hiểu và dễ học, nhằm nâng cao năng suất lập trình viên Tên "Python" được lấy cảm hứng từ sở thích của Guido đối với nhóm hài kịch truyền hình "Monty Python's Flying Circus"

Ban đầu, Python được phát triển như một dự án phần mềm miễn phí source) và được công khai dưới bản quyền Python Software Foundation (PSF) Python nhanh chóng thu hút sự quan tâm và sự đóng góp từ cộng đồng lập trình viên trên toàn thế giới, dẫn đến sự phát triển nhanh chóng và việc ra mắt các phiên bản mới.

(open-Một số phiên bản quan trọng của Python bao gồm:

o Python 1.0 (Tháng 1 năm 1994): Phiên bản đầu tiên được công bố công khai

Trang 9

o Python 2.0 (Tháng 10 năm 2000): Phiên bản này đưa ra nhiều cải tiến, bao gồm hệ thống garbage collection tự động và hỗ trợ Unicode

o Python 3.0 (Tháng 12 năm 2008): Phiên bản này có những thay đổi lớn

và tương thích ngược với Python 2.x Nó giúp cải thiện hiệu suất, bảo mật và cung cấp cú pháp và tính năng mới.

Cộng đồng Python rất sôi động và có sự phát triển liên tục Hiện nay, Python là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới, được sử dụng trong nhiều lĩnh vực như phát triển web, khoa học dữ liệu, trí tuệ nhân tạo và nhiều ứng dụng khác.

1.2.2 Đặc điểm và ưu nhược điểm của ngôn ngữ lập trình Python

Đặc điểm của Python:

o Đơn giản và dễ đọc: Python có cú pháp đơn giản và rõ ràng, giúp lập trình viên dễ dàng đọc, hiểu và viết mã Ngôn ngữ này giúp giảm độ phức tạp của mã nguồn, tạo điều kiện thuận lợi cho việc phát triển và bảo trì dự án

o Đa năng: Python hỗ trợ nhiều phong cách lập trình, bao gồm lập trình hướng đối tượng, lập trình cấu trúc và lập trình hàm Điều này cho phép lập trình viên lựa chọn phong cách lập trình phù hợp với nhu cầu của dự

án

o Thư viện phong phú: Python đi kèm với một số lượng lớn các thư viện và module chuẩn, cung cấp các chức năng và công cụ hỗ trợ mạnh mẽ cho các nhiệm vụ phổ biến Ví dụ, thư viện NumPy hỗ trợ tính toán số học và khoa học, thư viện pandas hỗ trợ xử lý dữ liệu, và thư viện Django hỗ trợ phát triển ứng dụng web

o Hỗ trợ cộng đồng mạnh mẽ: Python có một cộng đồng lập trình viên sôi nổi và hỗ trợ mạnh mẽ từ cộng đồng này Cộng đồng Python đóng góp

Trang 10

vào việc phát triển ngôn ngữ, cung cấp tài liệu, tham khảo và giải đáp câu hỏi, giúp nâng cao khả năng và hiệu suất của lập trình viên Python.

Ưu điểm của Python:

Dễ học và sử dụng: Python có cú pháp đơn giản và dễ hiểu, giúp người mới học lập trình nhanh chóng tiếp cận và bắt đầu phát triển ứng dụng Ngoài ra, Python cung cấp nhiều tài liệu và nguồn học trực tuyến, hỗ trợ việc học tập và phát triển

kỹ năng

Tích hợp dễ dàng: Python có khả năng tích hợp với các ngôn ngữ và công nghệ khác như C/C++, Java và NET Điều này cho phép lập trình viên kết hợp các thành phần đã có sẵn và tận dụng sức mạnh của Python trong quá trình phát triển

Hệ sinh thái phong phú: Python có một hệ sinh thái mở rộng với hàng ngàn thư viện và framework phát triển được xây dựng bởi cộng đồng Điều này giúp lập trình viên tiết kiệm thời gian và công sức khi phát triển ứng dụng, bởi vì họ có thể tận dụng lại các thành phần đã có sẵn thay vì xây dựng từ đầu

Nhược điểm của Python:

o Tốc độ thực thi: Python có hiệu suất thực thichậm hơn so với một

số ngôn ngữ lập trình khác như C/C++ vì nó là một ngôn ngữ thông dịch (interpreted language) thay vì ngôn ngữ biên dịch (compiled language) Mặc dù có thể cải thiện hiệu suất bằng cách

sử dụng các thư viện bên ngoài như NumPy và Cython, nhưng Python vẫn không phải là lựa chọn tốt nhất cho các ứng dụng yêu cầu hiệu suất cao và thời gian thực

o Ghi nhớ tài nguyên: Python sử dụng quản lý bộ nhớ tự động (automatic memory management) thông qua việc thu gom rác (garbage collection), điều này đồng nghĩa với việc Python tự động quản lý việc phân phối và giải phóng bộ nhớ Tuy nhiên, quản lý

Trang 11

bộ nhớ tự động này có thể gây ra một số độ trễ và tốn tài nguyên

hệ thống

o Không phù hợp cho ứng dụng di động: Mặc dù có một số khung làm việc (framework) như Kivy hỗ trợ phát triển ứng dụng di động bằng Python, nhưng Python không phải là ngôn ngữ phổ biến nhất trong lĩnh vực này Các ngôn ngữ khác như Swift (cho iOS) và Kotlin (cho Android) thường được sử dụng phổ biến hơn.

1.2.3 Giới thiệu về framework FastAPI

FastAPI là một framework web siêu nhanh và dễ sử dụng được xây dựng bằng Python Nó có thể được sử dụng để xây dựng các ứng dụng web và API hiệu suất cao trong thời gian ngắn FastAPI kết hợp các ưu điểm của Python và tốc độ xử lý gần như tiệm cận với các ngôn ngữ lập trình như Go và Node.js

FastAPI hỗ trợ cú pháp kiểu chú thích (annotation) của Python để xác định các endpoint và kiểu dữ liệu của các tham số và giá trị trả về Điều này giúp tạo ra mã nguồn rõ ràng, dễ đọc và dễ bảo trì Ngoài ra, FastAPI cũng hỗ trợ tự động tài liệu hóa API bằng cách sử dụng tiêu chuẩn OpenAPI và Swagger UI

FastAPI có hiệu năng cao nhờ sử dụng ASGI (Asynchronous Server Gateway Interface) và hỗ trợ async/await trong Python Điều này cho phép xử lý đồng thời nhiều yêu cầu từ các client khác nhau, tối ưu hóa tài nguyên và tăng cường khả năng mở rộng của ứng dụng FastAPI cũng tích hợp sẵn các tính năng bảo mật như xác thực và phân quyền, giúp bảo vệ và kiểm soát quyền truy cập vào các endpoint.

1.3 Mục tiêu nghiên cứu

Xác định yêu cầu của trang web: Đầu tiên, xác định rõ yêu cầu cụ thể của trang

web, bao gồm các chức năng, giao diện người dùng, và dữ liệu muốn hiển thị và xử lý thông qua back-end API.

Xây dựng back-end API sử dụng Python: Sử dụng một framework Fastapi Định

nghĩa các endpoint API để xử lý yêu cầu từ phía front-end và trả về dữ liệu tương ứng.

Trang 12

Thiết kế cơ sở dữ liệu: Nếu trang web liên quan đến lưu trữ và truy xuất dữ liệu,

cần thiết kế cơ sở dữ liệu phù hợp Python cung cấp nhiều thư viện để làm việc với cơ

sở dữ liệu như Mysql cho Fastapi

Xây dựng phần front-end sử dụng EJS: EJS là một template engine cho

JavaScript, và sử dụng nó để tạo các trang HTML động Tạo các template EJS để hiển thị dữ liệu từ back-end API và tương tác với người dùng thông qua các sự kiện và hành động.

Giao tiếp giữa back-end và end: Để giao tiếp giữa back-end API và

front-end EJS, sử dụng AJAX hoặc Axios để gửi yêu cầu từ front-front-end và nhận phản hồi từ back-end Sử dụng JavaScript để xử lý dữ liệu trả về và cập nhật giao diện người dùng.

Triển khai trang web: Cuối cùng, triển khai trang web của mình trên môi trường

sản phẩm Sử dụng các dịch vụ đám mây như Heroku, AWS, Auze để triển khai ứng dụng web Python.

1.4 Phạm vi nghiên cứu

Thiết kế và triển khai API: Nghiên cứu có thể tập trung vào việc thiết kế và triển khai các endpoint API cho website mỹ phẫm Điều này bao gồm xác định các chức năng cần thiết cho API như đăng nhập, đăng ký, lấy thông tin sản phẩm, thêm vào giỏ hàng, thanh toán, và các tác vụ quản lý khác

Quản lý sản phẩm: Nghiên cứu có thể tập trung vào việc xây dựng API để quản

lý sản phẩm trên website bán mỹ phẩm Điều này bao gồm việc tạo, cập nhật, xóa sản phẩm, lấy danh sách sản phẩm, tìm kiếm và lọc sản phẩm theo các tiêu chí như danh mục, giá, kích cỡ, màu sắc, v.v

Quản lý đơn hàng: Nghiên cứu có thể tập trung vào việc xây dựng API để quản

lý đơn hàng của khách hàng trên website bán mỹ phẩm Điều này bao gồm việc tạo đơn hàng mới, cập nhật trạng thái đơn hàng, lấy thông tin chi tiết đơn hàng, và hỗ trợ các chức năng khác như hủy đơn hàng, đổi trả, và theo dõi vận chuyển Xác thực và phân quyền:

Trang 13

Nghiên cứu có thể tập trung vào việc xây dựng API để xác thực người dùng và quản lý phân quyền truy cập Điều này bao gồm việc xác thực thông qua token, quản lý tài khoản người dùng, kiểm tra vai trò và quyền hạn của người dùng để đảm bảo rằng chỉ có người dùng có quyền được truy cập vào các tài nguyên phù hợp

Tối ưu hóa hiệu suất: Nghiên cứu có thể tìm hiểu và áp dụng các phương pháp tối ưu hóa hiệu suất cho API Điều này bao gồm sử dụng caching, thực hiện tác vụ bất đồng bộ, tối ưu hóa cơ sở dữ liệu, và các kỹ thuật khác để đảm bảo API hoạt động một cách nhanh chóng và hiệu quả.

Trang 14

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 2.1 Phân tích chức năng hệ thống

Trang 15

Hình 2 1 Biểu đồ use case tổng quát toàn hệ thống

Đặc tả use case đăng nhập:

- Tác nhân: Khách hàng

- Mô tả: Use case này mô tả quá trình đăng nhập cho khách hàng Người dùng cung cấp thông tin đăng nhập hợp lệ (tên đăng nhập và mật khẩu) để xác minh danh tính và truy cập.

- Dòng sự kiện chính:

 Tác nhân yêu cầu giao diện đăng nhập

 Hệ thống hiện thị giao diện đăng nhập

 Tác nhân nhập tên đăng nhập và mật khẩu

 Hệ thống kiểm tra dữ liệu và xác nhận thông tin từ tác nhân gửi vào hệ thống.

 Thông tin đúng thì hệ thống gửi thông báo và đưa tác nhân vào hệ thống.

 Kết thúc use case đăng nhập.

- Dòng sự kiện phụ:

Trang 16

 Sự kiện 1: Nếu tác nhân đăng nhập đúng, nhưng lại muốn thoát khỏi hệ thống.

Hệ thống thông báo thoát bằng cách đăng xuất, kết thúc use case.

 Sự kiện 2: Nếu tác nhân đăng nhập sai hệ thống thông báo đăng nhập lại hoặc thoát Sau khi tác nhân chọn thoát, kết thúc use case.

- Các yêu cầu đặc biệt: Không có

- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu

- Trạng thái hệ thống sau khi sử dụng use case:

 Nếu đăng nhập thành công: Thông báo “Bạn đã đăng nhập thành công” và hiện thị giao diện chính cho tác nhân thực hiện các chức năng khác.

 Nếu đăng nhập thất bại: Hệ thống cũng sẽ gửi thông báo “Bạn đã đăng nhập thất bại” và quay lại chức năng đăng nhập.

Đặc tả use case đăng ký:

- Tác nhân: Khách hàng

- Mô tả: Use case này mô tả quá trình đăng ký tài khoản cho khách hàng Người dùng cung cấp thông tin đăng nhập hợp lệ, tạo thông tin đăng nhập để thực hiện các chức năng khác

- Dòng sự kiện chính:

 Tác nhân yêu cầu giao diện đăng ký

 Hệ thống hiện thị giao diện đăng ký

 Tác nhân nhập các thông tin đăng ký

 Hệ thống kiểm tra dữ liệu và xác nhận thông tin từ tác nhân gửi vào hệ thống.

 Thông tin đúng thì hệ thống gửi thông báo và đưa tác nhân vào hệ thống.

 Kết thúc use case đăng ký

- Dòng sự kiện phụ:

 Sự kiện 1: Nếu tác nhân yêu cầu giao diện đăng ký, nhưng lại không muốn thực hiện đăng ký, kết thúc use case

Trang 17

 Sự kiện 2: Nếu tác nhân nhập thông tin đăng ký không hợp lệ, và muốn thoát khỏi đăng ký kết thúc use case.

- Các yêu cầu đặc biệt: Không có

- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu

- Trạng thái hệ thống sau khi sử dụng use case:

 Nếu đăng ký thành công: Thông báo “Bạn đã đăng ký thành công”

 Nếu đăng ký thất bại: Hệ thống cũng sẽ gửi thông báo “Bạn đã đăng ký thất bại”

và quay lại chức năng đăng ký.

Đặc tả use case tìm kiếm sản phẩm:

- Các yêu cầu đặc biệt: Không có

- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu

- Trạng thái hệ thống sau khi sử dụng use case:

 Nếu tìm kiếm sản phẩm thành công: Hiện thị các sản phẩm cần tìm.

 Nếu tìm kiếm sản phẩm thất bại: Hiện thị không tồn tại sản phẩm cần tìm.

Đặc tả use case thao tác giỏ hàng:

- Tác nhân: Khách hàng

Trang 18

- Mô tả: Use case này mô tả quá trình quản lý giỏ hàng trong hệ thống mua sắm trực tuyến Người dùng có thể thêm sản phẩm vào giỏ hàng, chỉnh sửa số lượng sản phẩm, xóa sản phẩm khỏi giỏ hàng và hoàn tất quá trình mua hàng bằng việc tiến hành đặt hàng.

- Dòng sự kiện chính:

 Người dùng xem sản phẩm trên trang web và quyết định thêm sản phẩm vào giỏ hàng

 Người dùng nhấn vào nút "Thêm vào giỏ hàng" bên cạnh sản phẩm muốn mua

 Hệ thống thêm sản phẩm vào giỏ hàng của người dùng

 Hệ thống hiển thị thông tin giỏ hàng cho người dùng, bao gồm danh sách các sản phẩm đã được thêm vào, số lượng và tổng giá trị của giỏ hàng

 Người dùng có thể tiếp tục mua sắm và quay lại bước 1, hoặc có thể thực hiện các thao tác quản lý giỏ hàng như chỉnh sửa số lượng sản phẩm hoặc xóa sản phẩm khỏi giỏ hàng

 Để chỉnh sửa số lượng sản phẩm trong giỏ hàng: Người dùng chỉnh sửa số lượng sản phẩm tương ứng với mỗi sản phẩm trong giỏ hàng Hệ thống cập nhật thông tin số lượng và tổng giá trị của giỏ hàng

 Để xóa sản phẩm khỏi giỏ hàng: Người dùng chọn sản phẩm muốn xóa khỏi giỏ hàng Hệ thống loại bỏ sản phẩm khỏi giỏ hàng và cập nhật thông tin tổng giá trị của giỏ hàng

 Khi người dùng đã hoàn tất quá trình mua sắm và muốn thanh toán: Người dùng nhấn vào nút "Đặt hàng" Hệ thống chuyển hướng người dùng đến trang thanh toán để hoàn tất quá trình mua hàng

 Kết thúc use case quản lý giỏ hàng

- Dòng sự kiện phụ: Không có

- Các yêu cầu đặc biệt: Không có

- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu

Đặc tả use case đặt hàng:

Trang 19

- Tác nhân: Khách hàng

- Mô tả: Use case này mô tả quá trình đặt hàng trong hệ thống mua sắm trực tuyến Người dùng chọn sản phẩm, cung cấp thông tin giao hàng và hoàn tất quá trình đặt hàng bằng việc xác nhận đơn hàng.

- Dòng sự kiện chính:

 Người dùng xem thông tin giỏ hàng và quyết định tiến hành đặt hàng

 Người dùng nhấn vào nút "Đặt hàng" hoặc "Tiến hành đặt hàng"

 Hệ thống yêu cầu người dùng cung cấp thông tin giao hàng như địa chỉ, số điện thoại, và phương thức thanh toán

 Người dùng điền thông tin giao hàng vào các trường tương ứng

 Hệ thống kiểm tra thông tin giao hàng và xác nhận đơn hàng

 Hệ thống hiển thị thông báo xác nhận đơn hàng cho người dùng, bao gồm số đơn hàng và thông tin chi tiết về đơn hàng

 Người dùng nhận được thông báo xác nhận đơn hàng và có thể tiếp tục mua sắm hoặc quay lại trang chủ.

- Trạng thái hệ thống trước khi sử dụng use case:

 Người dùng đã đăng nhập vào hệ thống

 Sản phẩm đã được chọn và có sẵn trong giỏ hàng

 Thông tin giao hàng đã được người dùng cung cấp

- Trạng thái hệ thống sau khi sử dụng use case:

+ Người dùng chưa đăng nhập:

 Hệ thống yêu cầu người dùng đăng nhập hoặc tạo tài khoản trước khi tiến hành đặt hàng

 Người dùng đăng nhập hoặc tạo tài khoản để tiếp tục quá trình đặt hàng

+ Thông tin giao hàng không hợp lệ:

Trang 20

 Hệ thống kiểm tra thông tin giao hàng và phát hiện thông tin không hợp lệ hoặc thiếu trường bắt buộc

 Hệ thống hiển thị thông báo lỗi và yêu cầu người dùng điền lại thông tin giao hàng

 Quá trình tiếp tục từ bước 4

+ Người dùng muốn tiếp tục mua sắm:

 Người dùng nhấn vào nút "Tiếp tục mua sắm" hoặc quay lại trang sản phẩm để tiếp tục chọn sản phẩm

 Quá trình mua sắm tiếp tục từ bước 1.

Đặc tả use case đánh giá sản phẩm:

- Tác nhân: Khách hàng

- Mô tả: Use case này mô tả quá trình đánh giá sản phẩm trong hệ thống mua sắm trực tuyến Người dùng có thể đánh giá và viết nhận xét về sản phẩm mà họ đã mua

- Dòng sự kiện chính:

 Người dùng tìm kiếm sản phẩm mà họ muốn đánh giá

 Người dùng truy cập vào trang chi tiết sản phẩm

 Người dùng nhấp vào liên kết hoặc nút "Đánh giá" hoặc "Viết nhận xét"

 Hệ thống hiển thị một biểu mẫu đánh giá cho người dùng

 Người dùng điền thông tin vào biểu mẫu đánh giá, bao gồm đánh giá chung về sản phẩm và bình luận chi tiết (tuỳ chọn)

 Người dùng nhấp vào nút "Gửi" hoặc "Đăng" để gửi đánh giá

 Hệ thống lưu trữ đánh giá và nhận xét của người dùng vào cơ sở dữ liệu

 Hệ thống hiển thị đánh giá và nhận xét mới nhất của người dùng trên trang chi tiết sản phẩm và/hoặc trang danh sách sản phẩm

 Các người dùng khác có thể xem và đọc đánh giá và nhận xét của người dùng

- Trạng thái hệ thống trước khi sử dụng use case:

 Người dùng đã đăng nhập vào hệ thống

Trang 21

 Người dùng đã mua sản phẩm và có thông tin về sản phẩm đó.

- Trạng thái hệ thống sau khi sử dụng use case:

+ Người dùng chưa đăng nhập:

 Hệ thống yêu cầu người dùng đăng nhập hoặc tạo tài khoản trước khi viết đánh giá

 Người dùng đăng nhập hoặc tạo tài khoản để tiếp tục quá trình đánh giá + Người dùng không muốn viết bình luận chi tiết:

 Người dùng không bắt buộc phải điền bình luận chi tiết và có thể bỏ qua trường này

 Quá trình tiếp tục từ bước 6

+ Lỗi khi lưu trữ đánh giá:

 Hệ thống gặp sự cố khi lưu trữ đánh giá và không thể hoàn thành quá trình

 Hệ thống hiển thị thông báo lỗi và yêu cầu người dùng thử lại sau Quá trình kết thúc.

Đặc tả use case đăng nhập admin:

- Tác nhân: Người quản lý

- Mô tả: Use case này mô tả quá trình đăng nhập vào hệ thống với tư cách quản trị viên (Admin) Quản trị viên có thể truy cập vào các chức năng và quản lý hệ thống.

- Dòng sự kiện chính:

 Quản trị viên truy cập vào trang đăng nhập của hệ thống

 Quản trị viên nhập tên người dùng (username) và mật khẩu (password) của tài khoản quản trị viên

 Quản trị viên nhấn nút "Đăng nhập" để tiến hành đăng nhập

 Hệ thống kiểm tra thông tin đăng nhập của quản trị viên

Trang 22

 Nếu thông tin đăng nhập chính xác, hệ thống đăng nhập quản trị viên và chuyển hướng đến trang quản lý

 Quản trị viên có quyền truy cập vào các chức năng quản lý, ví dụ: quản lý người dùng, quản lý sản phẩm, thống kê, v.v

 Quản trị viên thực hiện các tác vụ và chức năng quản lý theo nhu cầu

 Khi hoàn thành, quản trị viên có thể chọn đăng xuất hoặc tiếp tục sử dụng các chức năng quản lý khác.

- Trạng thái hệ thống trước khi sử dụng use case: Không có

- Trạng thái hệ thống sau khi sử dụng use case:

+ Thông tin đăng nhập không chính xác:

 Hệ thống kiểm tra thông tin đăng nhập và phát hiện thông tin không chính xác

 Hệ thống hiển thị thông báo lỗi và yêu cầu quản trị viên nhập lại thông tin đăng nhập

 Quá trình tiếp tục từ bước 2

+ Quản trị viên quên mật khẩu:

 Hệ thống cung cấp chức năng khôi phục mật khẩu

 Quản trị viên nhấp vào liên kết hoặc nút "Quên mật khẩu" và làm theo hướng dẫn để khôi phục mật khẩu

 Quá trình tiếp tục từ bước 2 sau khi mật khẩu đã được khôi phục + Quản trị viên muốn thực hiện tác vụ đăng xuất:

 Quản trị viên chọn tùy chọn đăng xuất hoặc thoát khỏi trang quản lý

 Hệ thống đăng xuất quản trị viên và chuyển hướng đến trang đăng nhập.

Đặc tả use case quản lý đơn hàng:

- Tác nhân: Người quản lý

Trang 23

- Mô tả: Chức năng quản lý đơn hàng cho phép quản trị viên (Admin) của hệ thống mua sắm trực tuyến xem, xử lý và quản lý các đơn hàng từ khách hàng.

- Dòng sự kiện chính:

 Quản trị viên truy cập vào chức năng quản lý đơn hàng trong hệ thống Hệ thống hiển thị danh sách các đơn hàng chưa được xử lý

 Quản trị viên có thể sử dụng các tùy chọn và bộ lọc để tìm kiếm các đơn hàng

cụ thể hoặc áp dụng bộ lọc để lọc danh sách đơn hàng Quản trị viên chọn một đơn hàng từ danh sách để xem chi tiết

 Hệ thống hiển thị thông tin chi tiết về đơn hàng, bao gồm thông tin khách hàng, danh sách sản phẩm, tổng giá trị, v.v

 Quản trị viên có thể thực hiện các tác vụ xử lý đơn hàng, bao gồm: Xác nhận đơn hàng: Quản trị viên xác nhận rằng đơn hàng đã được nhận và sẵn sàng để

xử lý Gửi thông tin vận chuyển: Quản trị viên cung cấp thông tin vận chuyển (ví dụ: địa chỉ giao hàng, phương thức vận chuyển, số theo dõi vận đơn, v.v.) Hủy đơn hàng: Quản trị viên hủy bỏ đơn hàng nếu cần thiết Cập nhật trạng thái đơn hàng: Quản trị viên thay đổi trạng thái của đơn hàng (ví dụ: đang xử lý, đang giao hàng, đã hoàn thành, v.v.) Gửi thông báo cho khách hàng: Quản trị viên gửi thông báo cho khách hàng liên quan đến trạng thái và tiến trình của đơn hàng Ghi chú đơn hàng: Quản trị viên thêm ghi chú hoặc thông tin bổ sung về đơn hàng

 Sau khi xử lý đơn hàng, quản trị viên có thể lưu trữ các thay đổi và cập nhật vào

Trang 24

- Trạng thái hệ thống sau khi sử dụng use case:

+ Không có đơn hàng chưa được xử lý:

 Hệ thống hiển thị thông báo rằng không có đơn hàng chưa được xử lý

 Quá trình kết thúc

+ Quản trị viên không tìm thấy đơn hàng cụ thể:

 Quản trị viên không tìm thấy đơn hàng cụ thể trong danh sách hoặc kết quả tìm kiếm

 Quản trị viên có thể điều chỉnh bộ lọc hoặc tìm kiếm lại

 Quá trình tiếp tục từ bước 4

+ Khách hàng đã hủy đơn hàng:

 Quản trị viên nhận được đơn hàng đã bị hủytừ khách hàng

 Hệ thống hiển thị trạng thái "Đã hủy" cho đơn hàng và không cho phép quản trị viên thực hiện các tác vụ xử lý khác

 Quá trình tiếp tục từ bước 8

+ Quản trị viên gặp khó khăn trong việc xử lý đơn hàng:

 Quản trị viên gặp vấn đề hoặc khó khăn trong việc xử lý đơn hàng (ví dụ: lỗi hệ thống, thiếu thông tin, v.v.)

 Quản trị viên có thể tìm kiếm sự trợ giúp từ bộ phận hỗ trợ kỹ thuật hoặc liên hệ với khách hàng để giải quyết vấn đề

 Quá trình tiếp tục từ bước 6 sau khi vấn đề được giải quyết.

Đặc tả use case quản lý sản phẩm:

- Tác nhân: Người quản lý

- Mô tả: Chức năng quản lý sản phẩm cho phép quản trị viên (Admin) của hệ thống mua sắm trực tuyến xem, thêm, sửa đổi và xóa các sản phẩm có trong cửa hàng

- Dòng sự kiện chính:

Trang 25

 Quản trị viên truy cập vào chức năng quản lý sản phẩm trong hệ thống

 Hệ thống hiển thị danh sách các sản phẩm đang có trong cửa hàng

 Quản trị viên chọn một sản phẩm từ danh sách để xem chi tiết Hệ thống hiển thị thông tin chi tiết về sản phẩm, bao gồm tên, mô tả, giá, số lượng có sẵn, hình ảnh, v.v

 Quản trị viên có thể thực hiện các tác vụ quản lý sản phẩm, bao gồm: Thêm sản phẩm mới: Quản trị viên thêm một sản phẩm mới vào cửa hàng, cung cấp các thông tin cần thiết như tên, mô tả, giá, số lượng, hình ảnh, v.v Chỉnh sửa sản phẩm: Quản trị viên cập nhật thông tin của một sản phẩm hiện có, bao gồm tên,

mô tả, giá, số lượng, hình ảnh, v.v Xóa sản phẩm

 Sau khi quản lý sản phẩm, quản trị viên có thể lưu trữ các thay đổi và cập nhật vào hệ thống

 Quản trị viên có thể quay lại danh sách sản phẩm để quản lý các sản phẩm khác hoặc tiếp tục tìm kiếm, lọc các sản phẩm.

- Trạng thái hệ thống trước khi sử dụng use case: Quản trị viên đã đăng nhập vào hệ thống với tư cách quản trị viên.

- Trạng thái hệ thống sau khi sử dụng use case:

+ Thực hiện thêm sửa, xoám sản phẩm thành công

+ Thực hiện thêm sửa xóa sản phẩm thất bại

Đặc tả use case người dùng:

- Tác nhân: Người quản lý

- Mô tả: Chức năng quản lý sản phẩm cho phép quản trị viên (Admin) của hệ thống cho phép sửa, xóa người dùng

- Dòng sự kiện chính:

 Quản trị viên truy cập vào chức năng quản lý người dùng trong hệ thống

 Hệ thống hiển thị danh sách các người dùng

Trang 26

 Quản trị viên có thể thực hiện các tác vụ quản lý người dùng

 Sau khi quản lý danh mục, quản trị viên có thể lưu trữ các thay đổi và cập nhật vào hệ thống

 Quản trị viên có thể quay lại danh sách người dùng để quản lý các danh mục

- Trạng thái hệ thống trước khi sử dụng use case: Quản trị viên đã đăng nhập vào hệ thống với tư cách quản trị viên.

- Trạng thái hệ thống sau khi sử dụng use case:

+ Thực hiện sửa, xoá người dùng thành công

+ Thực hiện sửa, xóa người dùng thất bại

2.3 Biểu đồ lớp của hệ thống

Trang 27

Hình 2 2 Biểu đồ lớp của hệ thống

2.4 Thiết kế giao diện

Thiết kế Layout trang chủ:

Trang 28

Hình 2 3 Layout trang chủ

Thiết kế Layout đăng nhập:

Trang 29

Hình 2 4 Layout trang đăng nhập

Thiết kế Layout đăng ký:

Ngày đăng: 26/12/2024, 17:04