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

Đồ án website blog và các thông tin về xe hơi (text generation with gpt)

84 8 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 đề Đồ Án Website Blog và Các Thông Tin Về Xe Hơi (Text Generation with GPT)
Tác giả Võ Văn Đăng Khoa, Lê Đoàn Đại Lợi
Người hướng dẫn Thầy Huỳnh Tuấn Anh
Trường học Trường Đại Học Công Nghệ Thông Tin, Đại Học Quốc Gia TP.HCM
Chuyên ngành Công nghệ Thông tin, Phần Mềm
Thể loại Báo cáo đồ án
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 84
Dung lượng 5,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

chúng ta có thể sử dụng công cụ “Text Generation with GPT” để tạo ra các bài viết tự động, cung cấp các thông tin một cách nhanh chóng và phù hợp với nhu cầu của người đọc.. - Thiết kế m

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN 1 WEBSITE BLOG VÀ CÁC THÔNG TIN VỀ XE HƠI

(TEXT GENERATION WITH GPT)

Giáo viên hướng dẫn: Huỳnh Tuấn Anh

Lớp: Đồ án 1 – SE121.N21

<Võ Văn Đăng Khoa> - <20521476>

<Lê Đoàn Đại Lợi> - <20521556>

TP Hồ Chí Minh, <2023>

Trang 2

LỜI CẢM ƠN

Đầu tiên, nhóm chúng em xin gửi lời cảm ơn chân thành đến tập thể quý Thầy Cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và quý Thầy Cô của khoa Công nghệ phần mềm đã tạo điều kiện để nhóm chúng em hoàn thành đồ án 1 – Chủ đề Text Generation with GPT

Đặc biệt, nhóm chúng em xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới thầy Huỳnh Tuấn Anh là giảng viên hướng dẫn Đã giúp nhóm chúng em hoàn thành tốt báo cáo môn học của mình

Trong thời gian một học kỳ thực hiện đề tài, nhóm chúng em đã vận dụng những kiến thức nền tảng đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới Từ đó, nhóm chúng em vận dụng tối đa những gì đã thu thập được để hoàn thành một báo cáo đồ án tốt nhất Tuy nhiên, trong quá trình thực hiện, nhóm chúng

em không tránh khỏi những thiếu sót Chính vì vậy, nhóm chúng em rất mong nhận được những sự góp ý từ phía các Thầy Cô nhằm hoàn thiện những kiến thức mà nhóm chúng

em đã học tập và là hành trang để nhóm chúng em thực hiện tiếp các đề tài khác trong tương lai

Nhóm em xin chân thành cảm ơn Thầy!

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

MỤC LỤC 2

TÓM TẮT ĐỒ ÁN 7

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 9

1 Lý do chọn đề tài 9

2 Giải pháp 9

3 Phạm vi nghiên cứu 10

4 Kết quả hướng tới 10

CHƯƠNG 2 GPT 12

1 Giới thiệu về GPT 12

2 Khái niệm và công dụng của GPT API 13

3 Cách thức hoạt động 13

4 Ưu điểm của GPT API 14

5 Nhược điểm của GPT API 15

CHƯƠNG 3 XÂY DỰNG WEBSITE BLOG VÀ CÁC THÔNG TIN XE HƠI 16

1 Phân tích yêu cầu 16

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

1.2 Yêu cầu phi chức năng 17

2 Các công nghệ sử dụng 18

3 Phân tích và thiết kế hệ thống 19

Trang 4

3.1 Sơ đồ Use case 19

3.1.1 Sơ đồ Use case của hệ thống 20

3.1.2 Danh sách Actor 21

3.1.3 Danh sách Use case 22

3.2 Đặc tả Use case 23

3.2.1 Đăng nhập 23

3.2.2 Tìm kiếm 25

3.2.3 Xem và tìm kiếm xe 25

3.2.3.1 Xem chi tiết xe hơi 26

3.2.4 Xem và tìm kiếm brand 27

3.2.4.1 Xem chi tiết brand 27

3.2.4.1.1 Sửa thông tin brand 28

3.2.4.1.2 Thêm series 28

3.2.4.1.3 Sửa series 29

3.2.4.1.4 Thêm xe hơi 30

3.2.4.2 Thêm brand 30

3.2.4.2.1 Tóm tắt thông tin brand bằng GPT 31

3.2.5 Xem và tìm kiếm blog 32

3.2.5.1 Thêm blog 32

3.2.5.1.1 Tóm tắt blog bằng GPT 33

3.2.5.2 Xem thông tin chi tiết blog 34

3.2.5.2.1 Viết comment 34

Trang 5

3.3 Sơ đồ cơ sở dữ liệu 35

3.3.1 User 35

3.3.1.1 Users 35

3.3.1.2 Read_blogs 36

3.3.2 Car 37

3.3.2.1 Car_models 38

3.3.2.2 Car_series 39

3.3.2.3 Car_brands 39

3.3.2.4 Car_transmissions 40

3.3.2.5 fuel_types 40

3.3.3 Blog 41

3.3.3.1 Car_blogs 42

3.3.3.2 Blog_comments 42

3.3.3.3 Blog_tags 43

3.3.3.4 Blog_cars 43

3.3.3.5 Tags 43

4 Sơ đồ hoạt động của các flow trong hệ thống 43

4.1 Đăng nhập 44

4.2 Đăng xuất 45

4.3 Text generate (Tạo văn bản tự động) 45

4.4 Tìm kiếm 46

4.5 Authenication 47

Trang 6

4.6 Tạo response và request 48

5 Kiến trúc hệ thống 49

6 Giao diện hệ thống 51

6.1 Đăng nhập 51

6.2 Đăng ký 53

6.3 Thêm hãng xe 55

6.4 Sửa chi tiết xe 57

6.5 Navigation bar 58

6.6 Profile menu 60

6.7 Thêm, sửa dòng xe 62

6.8 Tìm kiếm chung 63

6.9 Trang bắt đầu 64

6.10 Trang đọc blog và phần recommendation 65

6.11 Trang đọc blog, tóm tắt và bình luận 66

6.12 Trang đọc blog 67

6.13 Trang viết, chỉnh sửa blog và tóm tắt bằng GPT 68

6.14 Trang viết, chỉnh sửa blog 69

6.15 Trang xem chi tiết xe 70

6.16 Trang xem thông tin hãng xe 72

6.17 Trang xe và tìm kiếm hãng xe 74

6.18 Trang xem và tìm kiếm danh sách blog 76

6.19 Trang xem và tìm kiếm danh sách xe 77

Trang 7

7 Kiểm thử ứng dụng 79

CHƯƠNG 4 KẾT LUẬN 80

1 Kết quả 80

2 Hạn chế 80

3 Hướng phát triển 80

CHƯƠNG 5 BẢNG TỰ ĐÁNH GIÁ 82

TÀI LIỆU THAM KHẢO 83

Trang 8

TÓM TẮT ĐỒ ÁN

Đồ án “Text Generation with GPT” tập trung vào việc tìm hiểu công nghệ, tin năng mới của GPT Từ đó xây dựng một Website blog và các thông tin về xe Đề tài tập trung vào lĩnh vực xe, cụ thể là các thông tin của hãng xe, các thông số của xe đó và các bài blog

có liên quan đến Hỗ trợ người dùng có thể đọc thông tin và tìm kiếm loại xe ưng ý một cách nhanh chống và đầy đủ thông tin Đề tài áp dụng kiến trúc Microservices cho Backend và NextJS cho Frontend với khả năng mở rộng và nâng cấp cao

Đề tại được bắt đầu từ việc tìm hiểu thực trạng, đưa ra các vấn đề tồn đọng và cần cải thiện Xác định được phạm vi của bài toán và mục tiêu đề tài đặt ra Từ đó đưa ra các chức năng cần thiết của ứng dụng Ngoài việc xử lý các yêu cầu nghiệp vụ, nhóm em cũng đã tìm hiểu và sử dụng các công nghệ mới để phù hợp và giúp trải nghiệm người dùng được tốt hơn, ít tốn chi phí và bảo trì hệ thống dễ dàng hơn

Vì ứng dụng yêu cầu cần cập nhật, thay đổi thường xuyên và đảm bảo ít xảy ra lỗi nhất

có thể nên quy tình phát triển sản phẩm đã vận dụng mô hình Agile làm phương pháp luận chính cho quy trình phần mềm Kết quả của giai đoạn tìm hiểu và phân tích được

mô hình hóa bằng UML thông qua công cụ StarUML Ở giai đoạn thực hiện, chương trình sẽ được cập nhật trên Github để có thể dễ dàng tổng hợp và kiểm soát lỗi Phần cuối cùng của đồ án là trình bày kết quả đã thực hiện lên báo cáo, đưa ra kết luận và hướng phát triển của ứng dụng trong tương lai

Nội dung đồ án được trình bày trong các chương như sau:

- Chương 1: Giới thiệu tổng quan về đề tài (Xác định mục tiêu, nội dung nghiên cứu và phạm vi đề tài)

- Chương 2: GPT (Giới thiệu về GPT API, cách thức hoạt động, ưu điểm của GPT)

- Chương 3: Xây dựng ứng dụng minh họa sử dụng GPT “Website blog và các

Trang 9

▪ Thiết kế cơ sỡ dữ liệu cho ứng dụng

▪ Thiết kế giao diện

o Kiểm thử và triển khai ứng dụng

- Chương 4: Kết luận (Những kết quả đặt được, hạn chế và hướng phát triển trong tương lai)

Trang 10

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

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

- Xe hơi là một phương tiện giao thông phổ biến và quan trọng trong đời sống hiện đại, đóng vai trò quan trọng trong việc di chuyển và kết nối các địa điểm khác nhau Việc tìm hiểu và chia sẻ thông tin về các hãng xe, các loại xe hơi, cũng như các xu hướng và công nghệ mới trong ngành công nghiệp xe hơi sẽ giúp cho người đọc có cái nhìn tổng quan và cập nhật được thông tin mới nhất về lĩnh vực này

- Bên cạnh đó, việc lựa chọn đề tài này còn giúp cho chúng ta có thể khai thác tối

đa tiềm năng của blog như một công cụ truyền thông và tiếp cận khách hàng Bằng cách cung cấp các thông tin hữu ích và chất lượng về các hãng xe, các loại

xe hơi, blog của chúng ta sẽ thu hút được lượng lớn người đọc quan tâm và tạo ra

sự tương tác tích cực với khách hàng Điều này cũng giúp cho chúng ta tăng khả năng tiếp cận và tương tác với khách hàng, đồng thời củng cố vị thế của chúng ta trong thị trường mạng

- Ngày này, thời đại 4.0 thông tin trên mạng ngày càng nhiều, và có khá nhiều thông tin sai lệch và không đúng với yêu cầu của người dùng Việc tìm hiểu và chia sẻ thông tin về xe hơi cũng giúp chúng ta có thể thực hiện một vai trò giáo dục và tư vấn cho độc giả, giúp họ có thể đưa ra quyết định thông minh và hiệu quả khi mua

xe Đây là một trong những yếu tố quan trọng giúp cho blog của chúng ta trở thành một nguồn thông tin tin cậy và được khách hàng đánh giá cao, tiết kiệm thời gian cho người tìm kiếm thông tin

2 Giải pháp

- Tạo ra một trang web có nội dung chất lượng, admin cần tìm hiểu rõ các thông tin liên quan đến xe hơi để có thể đưa ra các thông tin chính xác nhất Sau đó,

Trang 11

chúng ta có thể sử dụng công cụ “Text Generation with GPT” để tạo ra các bài viết tự động, cung cấp các thông tin một cách nhanh chóng và phù hợp với nhu cầu của người đọc

- Thiết kế một trang web đẹp và dễ sử dụng, áp dụng các công cụ thiết kế và framework để thiết kế ra một giao diện sao cho người đọc có thể tìm kiếm thông tin dễ dàng và tiếp cận được các nội dung một cách nhanh chóng

- Ngoài ra, chúng ta cần đảm bảo an toàn thông tin, nhằm không cho những người xấu có thể đánh cắp và làm các việc bất hợp pháp với trang web của mình, tránh các tình huống xấu không đáng có

4 Kết quả hướng tới

- Sản phẩm hướng tới một trang web có nguồn thông tin đáng tin cậy, chất lượng cho người đọc về các chủ đề xe hơi

- Sản phẩm giúp tăng cường tính tương tác và trải nghiệm của người đọc trên trang web Và việc sử dụng công nghệ “Text Generation with GPT” sẽ giúp tăng hiệu quả cho trang web và giúp tiết kiệm nhân lực, thời gian cho việc viết các thông tin, bài blog cho trang web

Trang 12

- Xây dựng một cộng đồng người đọc trên trang web, mang lại giá trị cho người đọc và tạo ra những phản hồi tích cực từ người đọc Giúp những người đam mê

xe hơi có cái nhìn tổng quát và cập nhật được thông tin mới về lĩnh vực này

Trang 13

- GPT sử dụng kiến trúc Transformer để học quan hệ giữa các từ trong dữ liệu đầu vào và sử dụng các kết quả học tập đó để tạo ra văn bản tự động GPT có thể được

sử dụng để tạo ra các bài viết, tin tức, phản hồi, và thậm chí là để thực hiện các tác vụ ngôn ngữ tự động khác

- GPT đã được sử dụng rộng rãi trong các ứng dụng như tạo nội dung web tự động, tạo tiêu đề tự động cho các bài báo, và thậm chí là để tạo ra các bài luận pháp

Trang 14

GPT cũng đã trở thành một công cụ quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên và có tiềm năng để phát triển các ứng dụng mới trong tương lai

- GPT-4 là phiên bản mới nhất của GPT Nó được xem là một trong những mô hình ngôn ngữ tự động tiên tiến nhất và có thể tạo ra các văn bản tự động với chất lượng và độ chính xác cao

2 Khái niệm và công dụng của GPT API

- GPT API là một dịch vụ của OpenAI, cung cấp truy cập vào mô hình GPT thông qua giao diện lập trình ứng dụng (API) API cho phép người dùng sử dụng các tính năng của GPT trong các ứng dụng của họ

- GPT API cung cấp một loạt các tính năng, bao gồm tạo văn bản tự động, thực hiện tác vụ ngôn ngữ tự động, phân loại văn bản, dịch thuật và nhận diện giọng nói API hỗ trợ nhiều ngôn ngữ khác nhau và cho phép người dùng tùy chỉnh các tham số để tạo ra các kết quả chính xác và phù hợp với nhu cầu của họ

- Để sử dụng GPT API, người dùng cần đăng ký và đăng nhập vào tài khoản của mình trên trang web của OpenAI Sau đó, họ có thể tạo các yêu cầu API và nhận kết quả trả về từ GPT GPT API cũng cung cấp tài liệu hướng dẫn và ví dụ để giúp người dùng sử dụng API một cách hiệu quả

- GPT API đã được sử dụng rộng rãi trong các ứng dụng như tạo nội dung web tự động, tạo tiêu đề tự động cho các bài báo, và thậm chí là để tạo ra các bài luận pháp Nó đã trở thành một công cụ quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên và có tiềm năng để phát triển các ứng dụng mới trong tương lai

3 Cách thức hoạt động

Trang 15

Hình 2.3.1 Response trong GPT

- GPT API hoạt động bằng cách cung cấp truy cập vào mô hình GPT-3 thông qua giao diện lập trình ứng dụng (API) API cho phép người dùng gửi yêu cầu tới mô hình GPT-3 và nhận kết quả trả về

- Khi nhận được yêu cầu, GPT-3 sử dụng phương pháp học sâu để phân tích và hiểu nội dung của yêu cầu Sau đó, mô hình sử dụng các kết quả học tập từ việc đào tạo trên hàng triệu văn bản để tạo ra câu trả lời hoặc kết quả tương ứng với yêu cầu

- GPT-3 có thể tạo ra các kết quả văn bản tự động với mức độ chính xác và độ phức tạp khác nhau, phù hợp với nhu cầu của người dùng Nó cũng có khả năng thực hiện các tác vụ ngôn ngữ tự động khác như phân loại văn bản, dịch thuật và nhận diện giọng nói

- GPT API cung cấp các endpoint API để cho phép người dùng gửi yêu cầu tới mô hình GPT-3 và nhận kết quả trả về Người dùng cũng có thể sử dụng các tham số tùy chỉnh để tạo ra các kết quả chính xác và phù hợp với nhu cầu của họ

4 Ưu điểm của GPT API

- Tính tiên tiến: API cho phép người dùng truy cập vào mô hình này và sử dụng tính năng của nó trong các ứng dụng của họ

- Tính linh hoạt: GPT API cung cấp cho người dùng nhiều tính năng khác nhau, bao gồm tạo văn bản tự động, thực hiện tác vụ ngôn ngữ tự động, phân loại văn

Trang 16

bản, dịch thuật và nhận diện giọng nói Ngoài ra, API cũng hỗ trợ nhiều ngôn ngữ khác nhau và cho phép người dùng tùy chỉnh các tham số để tạo ra các kết quả chính xác và phù hợp với nhu cầu của họ

- Tính chính xác: GPT-4 có khả năng tạp ra các văn bản tự động với mức độ chính xác và độ phức tạp khác nhau, phù hợp với nhu cầu của người dùng giúp cho người dùng có thể tin tưởng vào kết quả trả về từ API

- Tính tiện lợi: GPT API cung cấp tài liệu hướng dẫn và ví dụ để giúp người dùng

sử dụng API một cách hiệu quả Người dùng có thể sử dụng API thông qua các thư viện mã nguồn mở hoặc các công cụ lập trình phổ biến như Python

5 Nhược điểm của GPT API

Mặc dù GPT API có nhiều ưu điểm, tuy nhiên nó cũng có một số nhược điểm sau:

- GPT API là một dịch vụ có thu phí và giá thành khá cao Điều này khiến cho việc

sử dụng API trở nên khó khăn hơn đối với các công ty hoặc cá nhân có ngân sách hạn chế

- GPT API yêu cầu kết nối internet để hoạt động Nếu không có kết nối internet hoặc kết nối internet chậm, việc sử dụng API có thể bị gián đoạn hoặc không thể thực hiện được

- GPT API có giới hạn về số lần sử dụng trong một tháng Nếu người dùng muốn

sử dụng API nhiều hơn giới hạn này, họ phải trả phí bổ sung

- Mặc dù GPT-4 là một mô hình ngôn ngữ tự động tiên tiến, tuy nhiên vẫn có thể đưa ra kết quả không chính xác Điều này có thể xảy ra khi mô hình không hiểu

rõ yêu cầu của người dùng hoặc không có đủ thông tin để đưa ra kết quả chính xác

Trang 17

CHƯƠNG 3 XÂY DỰNG WEBSITE BLOG VÀ CÁC THÔNG TIN XE HƠI

1 Phân tích yêu cầu

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

Bảng 1.1 Bảng các yêu cầu chức năng

- Lưu trữ thông tin:

o Thông tin về các blog, xe hơi và brand của trang web

o Thông tin các tài khoản của người dùng và admin

Trang 18

o Các comment của người dùng hoặc admin khi bình luận các bài viết trong website

- Tra cứu, tìm kiếm thông tin:

o Tra cứu thông tin các bài blog, các brand và danh sách xe hơi trong

website

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

- Yêu cầu GUI:

o Giao diện dễ sử dụng và trực quan

o Tương tác cao, màu sắc phù hợp nhằm tăng tính thẩm mỹ và giảm mỏi mắt cho người dùng

- Vận hành:

o Hệ thống phải chạy được trên các thiết bị khác nhau, có kích thước màn hình khác nhau và trên mọi trình duyệt web

- Hiệu suất:

o Tốc độ và khả năng phản hồi nhanh chóng

o Hệ thống phải hoạt động được 24/7

- Bảo mật:

o Có phân quyền các người dùng để xác định được các quyền hạn chỉnh sửa

o Thông tin người dùng phải được bảo mật để đảm bảo quyền lợi khách hàng

- Văn hóa, chính trị:

o Phù hợpe với văn hóa và chính trị Việt Nam

o Không sử dụng các từ ngữ thô tục

Trang 19

2 Các công nghệ sử dụng

- React: Là một thư viện JavaScript mã nguồn mở, dùng để xây dựng giao diện người dùng cho trang web của nhóm

- Next js: Là một framework React mã nguồn mở giúp tạo website một cách tốt

hơn Cung cấp các tính năng này giúp tăng tốc độ tải trang, cải thiện trải nghiệm

người dùng Ngoài ra, nó còn giúp quản lý các API hiệu quả

- Tailwind: Là một thư viện CSS mã nguồn mở sử dụng để thiết kế các giao diện

cho website Nó cung cấp các lớp CSS được định nghĩa trước giúp ta tạo ra các

giao diện người dùng một cách nhanh chóng và dễ dàng

- Rest API: Là một kiểu thiết kế API dựa trên giao thức HTTP (Hypertext Transfer

Protocol), nó cho phép tương tác thông qua các yêu cầu HTTP như: GET, POST,

PUT, DELETE và PATCH

- GRPC: Là một công cụ truyền thông máy tính mã nguồn mở được thiết kế bởi

Google Nó được thiết kế để kết nối các ứng dụng phân tán Trong đồ án sử dụng

GRPC để kết nối các services lại với nhau một cách dễ dàng và nhanh chóng

- Microservices: Là một kiến trúc phần mềm được sử dụng để phát triển các ứng

dụng phân tán, giúp chia các server trong đồ án thành các dịch vụ nhỏ độc lập, được triển khai và quản lý một cách độc lập Các dịch vụ này được kết nối với

nhau thông qua các giao thức và GRPC

- OpenAI: Là một công ty trí tuệ nhân tạo (AI) phát triển các công nghệ AI tiên

tiến, trong đó có GPT là một mô hình ngôn ngữ tự động Ta có thể truy cập vào các mô hình GPT của OpenAI thông qua GPT API Trong đồ án, nhóm đã áp dụng phương pháp này để tóm tắt văn bản tự động một cách nhanh chống, giảm thời

gian cho người dùng

- Database (PostgreSQL + Firebase + Redis):

Trang 20

o PostgreSQL (viết tắt là Postgres): Là một hệ thống quản lý dữ liệu quan

hệ mã nguồn mở được sử dụng trong Website Nhóm đã dùng Postgres vì

cơ sở dữ liệu này được phát triển bởi cộng đồng phần mềm tự do và được

đánh giá cao bởi tính ổn định, độ tin cậy và khả năng mở rộng của nó

o Firebase: Là một nền tảng của Google cung cấp dịch vụ đám mây để phát

triển Website và di động Nó bao gồm các dịch vụ như cơ sở dữ liệu thời gian thực, xác thực người dùng, lưu trữ tệp và phân tích dữ liệu Do đó,

nhóm đã sử dụng firebase để lưu trữ ảnh trong website

o Redis: Là một hệ thống cơ sở dữ liệu key-value mã nguồn mở được sử

dụng để lưu trữ và truy xuất dữ liệu Nó được đánh giá cao bởi hiệu suất cao, khả năng mở rộng và tính năng phân tán của nó Redis được sử dụng rộng rãi trong các ứng dụng web để lưu trữ dữ liệu tạm thời và các thông tin phi cấu trúc Đồ án được áp dụng để làm bộ nhớ tạm thời, giúp tăng tốc

độ truy xuất dữ liệu giúp người dùng có thể truy cập trang web nhanh hơn

- Docker: Là một nền tảng mã nguồn mở cho phát triển, triển khai và quản lý các

ứng dụng trong các container Các container là một cách để đóng gói phần mềm

và tất cả các phụ thuộc của nó vào một gói duy nhất, giúp cho việc triển khai và chạy ứng dụng trở nên dễ dàng hơn Vì trang web sử dụng kiến trúc microservices nên ứng dụng được chia thành các container riêng biệt Việc sử dụng Docker cho phép đóng gói các thành phần này trong các container, giúp cho việc triển khai và

quản lý các thành phần trở nên dễ dàng hơn

3 Phân tích và thiết kế hệ thống

3.1 Sơ đồ Use case

Trang 21

3.1.1 Sơ đồ Use case của hệ thống

Hình 3.3.1 Sơ đồ Use case của Admin

Trang 22

Hình 3.3.2 Sơ đồ Use case của người dùng

3.1.2 Danh sách Actor

1 Admin Được sử dụng hết tính năng của trang web bao gồm: Xem các

thông tin và có thể chỉnh sửa (Bắt buộc phải đăng nhập)

Trang 23

3.1.3 Danh sách Use case

web (Blog, Brand, Xe)

3 Xem và tìm kiếm xe Xem tóm tắt xe và có thể

7 Sửa thông tin brand Admin có thể sửa các

thông tin có trong brand

mới

thông tin có trong series

Trang 24

13 Xem và tìm kiếm blog Xem tóm tắt xe và có thể

16 Xem thông tin chi tiết blog Xem thông tin chi tiết của

blog

Người dùng đã đăng nhập hoặc Admin có thể bình luận trong các bài blog

Bảng 3.3.2 Bảng danh sách các Use case

3.2 Đặc tả Use case

3.2.1 Đăng nhập

Actors Admin và người dùng

Description

Người dùng có thể đăng nhập vào trang web để thực hiện thêm các chức năng khác nhau

Trang 25

2 Người dùng nhập tên tài khoản và mật khẩu, sau đó chọn đăng nhập

3 Hệ thống kiểm tra thông tin đăng nhập

4 Thông báo đăng nhập thành công và chuyển vào trang web

Alternative Flows

4.1 Hệ thống thông báo tài khoản không tồn tại hoặc sai thông tin Vui lòng nhập lại

Exception Flows Người dùng thoát khỏi trang web

Bảng 3.3.3 Đặc tả Use case “Đăng nhập”

Trang 26

3.2.2 Tìm kiếm

Actors Admin và người dùng

Description Cho phép tìm kiếm các thông tin trong

trang web bao gồm: Xe,brand và blog Preconditions None

Post Conditions None

Basic Flows

1 Hiển thị trang chủ của trang web

2 Nhập thông tin cần tìm vào ô tìm kiếm

và nhấn “search”

3 Hệ thống sẽ kiểm tra thông tin và xuất thông tin cần tìm ra màn hình

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.4 Đặc tả Use case “Tìm kiếm”

3.2.3 Xem và tìm kiếm xe

Actors Admin và người dùng

Description Cho phép xem thông tin và tìm kiếm xe

theo yêu cầu

Preconditions None

Post Conditions None

Basic Flows 1 Hiển thị trang thông tin xe

2 Load thông tin từ database

Trang 27

3 Nhập thông tin cần tìm kiếm

4 Tìm kiếm trong database và load thông tin theo yêu cầu

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.5 Đặc tả Use case “Xem và tìm kiếm xe”

3.2.3.1 Xem chi tiết xe hơi

Actors Admin và người dùng

Description Cho phép xem thông tin chi tiết xe theo

yêu cầu

Preconditions None

Post Conditions None

Basic Flows

1 Hiển thị trang thông tin xe

2 Load thông tin từ database

3 Chọn thông tin xe cần xem chi tiết

4 Load data trong database lên màn hình

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.6 Đặc tả Use case “Xem chi tiết xe hơi”

Trang 28

3.2.4 Xem và tìm kiếm brand

Actors Admin và người dùng

Description Cho phép xem và tìm kiếm thông tin

brand theo yêu cầu

Preconditions None

Post Conditions None

Basic Flows

1 Hiển thị trang thông tin brand

2 Load thông tin từ database

3 Nhập thông tin cần tìm kiếm

4 Tìm kiếm trong database và load thông tin theo yêu cầu

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.7 Đặc tả Use case “Xem và tìm kiếm brand”

3.2.4.1 Xem chi tiết brand

Actors Admin và người dùng

Description Cho phép xem thông tin chi tiết brand

theo yêu cầu

Preconditions None

Post Conditions None

Basic Flows

1 Hiển thị trang thông tin brand

2 Load thông tin từ database

3 Chọn thông tin brand cần xem chi tiết

Trang 29

4 Load data trong database lên màn hình

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.8 Đặc tả Use case “Xem chi tiết brand”

3.2.4.1.1 Sửa thông tin brand

Description Cho phép sửa thông tin brand

Preconditions Đăng nhập vào hệ thống với quyền

admin

Post Conditions None

Basic Flows

1 Hiển thị trang thông tin brand

2 Nhập thông tin brand cần sửa

3 Kiểm tra thông tin

4 Lưu thông tin vào database và thông báo sửa thông tin thành công

Alternative Flows 4.1 Thông báo thông tin không hợp lệ,

vui lòng nhập lại thông tin khác

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.9 Đặc tả Use case “Sửa thông tin brand”

Trang 30

Preconditions Đăng nhập vào hệ thống với quyền

3 Nhập các thông tin series cần thêm

4 Lưu series mới vào cơ sở dữ liệu

5 Thông báo thành công và ra lại trang chủ

Alternative Flows 4.1 Thông báo thông tin không hợp lệ,

vui lòng nhập lại thông tin khác

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.10 Đặc tả Use case “Thêm series”

3.2.4.1.3 Sửa series

Description Cho phép sửa thông tin series

Preconditions Đăng nhập vào hệ thống với quyền

admin

Post Conditions None

Basic Flows

1 Hiển thị trang thông tin series cần sửa

2 Nhập thông tin series mới

3 Kiểm tra thông tin

4 Lưu thông tin vào database và thông báo sửa thông tin thành công

Trang 31

Alternative Flows 4.1 Thông báo thông tin không hợp lệ,

vui lòng nhập lại thông tin khác

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.11 Đặc tả Use case “Sửa series”

3.2.4.1.4 Thêm xe hơi

Description Cho phép thêm xe hơi mới

Preconditions Đăng nhập vào hệ thống với quyền

3 Nhập các thông tin xe hơi cần thêm

4 Lưu xe hơi mới vào cơ sở dữ liệu

5 Thông báo thành công và ra lại trang chủ

Alternative Flows 4.1 Thông báo thông tin không hợp lệ,

vui lòng nhập lại thông tin khác

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.12 Đặc tả Use case “Thêm xe hơi”

Trang 32

Preconditions Đăng nhập vào hệ thống với quyền

3 Nhập các thông tin brand cần thêm

4 Lưu brand mới vào cơ sở dữ liệu

5 Thông báo thành công và ra lại trang chủ

Alternative Flows 4.1 Thông báo thông tin không hợp lệ,

vui lòng nhập lại thông tin khác

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.13 Đặc tả Use case “Thêm brand”

3.2.4.2.1 Tóm tắt thông tin brand bằng GPT

Description Cho phép tóm tắt thông tin brand bằng

GPT khi thêm brand mới

Preconditions Đăng nhập vào hệ thống với quyền

Trang 33

5 Hiển thị các thông tin sau khi được tóm tắt

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.14 Đặc tả Use case “Tóm tắt thông tin brand bằng GPT”

3.2.5 Xem và tìm kiếm blog

Actors Admin và người dùng

Description Cho phép xem và tìm kiếm thông tin

blog theo yêu cầu

Preconditions None

Post Conditions None

Basic Flows

1 Hiển thị trang thông tin blog

2 Load thông tin từ database

3 Nhập thông tin cần tìm kiếm

4 Tìm kiếm trong database và load thông tin theo yêu cầu

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.15 Đặc tả Use case “Xem và tìm kiếm blog”

Trang 34

Preconditions Đăng nhập vào hệ thống với quyền

3 Nhập các thông tin blog cần thêm

4 Lưu brand mới vào cơ sở dữ liệu

5 Thông báo thành công và ra lại trang chủ

Alternative Flows 4.1 Thông báo thông tin không hợp lệ,

vui lòng nhập lại thông tin khác

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.16 Đặc tả Use case “Thêm blog”

3.2.5.1.1 Tóm tắt blog bằng GPT

Description Cho phép tóm tắt thông tin blog bằng

GPT khi thêm brand mới

Preconditions Đăng nhập vào hệ thống với quyền

Trang 35

5 Hiển thị các thông tin sau khi được tóm tắt

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.17 Đặc tả Use case “Tóm tắt blog bằng GPT”

3.2.5.2 Xem thông tin chi tiết blog

1 Hiển thị trang thông tin blog

2 Load thông tin từ database

3 Chọn thông tin blog cần xem chi tiết

4 Load data trong database lên màn hình

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.18 Đặc tả Use case “Xem thông tin chi tiết blog”

3.2.5.2.1 Viết comment

Description Cho phép xem thông tin chi tiết brand

theo yêu cầu

Trang 36

Preconditions Người dùng đăng nhập với quyền admin Post Conditions None

Basic Flows

1 Hiển thị trang thông tin chi tiết blog

2 Nhập thông tin cần bình luận

3 Lưu thông tin vào database và load thông tin lên màn hình hiển thị

Alternative Flows None

Exception Flows Người dùng thoát ra khỏi trang web

Bảng 3.3.19 Đặc tả Use case “Viết comment”

3.3 Sơ đồ cơ sở dữ liệu

Trang 37

1 Id Khóa chính của bảng

Bảng 3.3.21 Bảng mô tả chi tiết thành phần trong cơ sở dữ liệu Read_blogs

Trang 38

3.3.2 Car

Hình 3.3.4 Cơ sở dữ liệu của car

Trang 39

3.3.2.1 Car_models

xe

xoắn

liệu của xe

sản phẩm

Bảng 3.3.22 Bảng mô tả chi tiết thành phần trong bảng dữ liệu car_models

Trang 40

3.3.2.2 Car_series

Bảng 3.3.23 Bảng mô tả chi tiết thành phần trong bảng dữ liệu car_series

xe

tin hãng xe

Bảng 3.3.24 Bảng mô tả chi tiết thành phần trong bảng dữ liệu car_brands

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] GPT. [https://platform.openai.com/docs/introduction/overview] Sách, tạp chí
Tiêu đề: GPT
[2] React. [https://legacy.reactjs.org/docs/getting-started.html] Sách, tạp chí
Tiêu đề: React
[3] NextJS. [https://nextjs.org/docs] Sách, tạp chí
Tiêu đề: NextJS
[4] Microservices. [https://microservices.io/] Sách, tạp chí
Tiêu đề: Microservices
[5] GRPC. [https://grpc.io/] Sách, tạp chí
Tiêu đề: GRPC

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w