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

Ứng dụng trao đổi đồ chơi toydee

88 3 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

Định dạng
Số trang 88
Dung lượng 2,77 MB

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

Nội dung

Thông qua ứng dụng, người dùng có thể nắm được những thông tin về các món đồ chơi đăng lên trao đổi, đăng đồ chơi trao đổi của mình lên, yêu cầu trao đổi đồ chơi với người khác, trò chuy

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

Trang 2

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

Trang 3

LỜI CẢM ƠN

Nhóm chúng em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đến cô Thái Thụy Hàn Uyển đã hướng dẫn, tạo điều kiện cho nhóm chúng em tìm hiểu về đề tài xây dựng ứng dụng trao đổi đồ chơi

Trong vòng 15 tuần, qua các buổi học, nhờ sự hướng dẫn nhiệt tình của cô, chúng em đã tiếp thu được những kiến thức quan trọng, bổ ích, hoàn thành đồ án

Mặc dù đã cố gắng hoàn thành báo cáo với tất cả nỗ lực song báo cáo của nhóm chúng em chắc chắn không tránh khỏi những thiếu sót, chúng em rất mong nhận được sự thông cảm

và góp ý chân thành từ cô Nhóm em xin chân thành cảm ơn

Thành phố Hồ Chí Minh, tháng 6 năm 2022

Nguyễn Đức Thành Phát

Lù Xuân Thái

Trang 4

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌCCÔNG NGHỆ

Cán bộ hướng dẫn: Thái Thị Hàn Uyển

Thời gian thực hiện: Từ ngày 24/02/2022 đến ngày 17/06/2022

Sinh viên thực hiện:

Nguyễn Đức Thành Phát – 19521995

Lù Xuân Thái - 19522186

Nội dung đề tài:

• Đặt vấn đề

Có những đứa trẻ xin mua đồ chơi mới mỗi ngày nhưng chắc chắn trong một ngày hoặc

tuần vài tuần, bạn có thể tìm thấy món đồ chơi đó ở một góc nhà của bạn Cứ khoảng

238 đồ chơi được thu thập với một đứa trẻ, nhưng chỉ sử dụng 12 đồ chơi để chơi trong

khoảng thời gian trong một ngày

Hiện nay, chi phí dành cho trẻ em trong mỗi gia đình đều là một vấn đề rất lớn Trong đó

có chi phí về đồ chơi dành cho trẻ Trẻ em thích chơi đồ chơi tuy nhiên rất nhanh chán

nếu chơi mãi một món đồ chơi Khiến cho phụ huynh phải mua đồ chơi mới để thay thế

các đồ chơi cũ

• Mục tiêu đề tài

Để khắc phục cho vấn đề, ứng dụng Toydee được sinh ra nhằm cho phép người dùng

trao đổi các món đồ chơi với nhau, tiết kiệm chi phí Các phụ huynh trao đổi đồ chơi mà

họ đã có với một số phụ huynh khác có thể cung cấp đồ chơi mà họ có Cả hai cha mẹ sẽ

có thể cung cấp một món đồ chơi mới cho con của họ mà không cần chi một xu

Trang 5

Thông qua ứng dụng, người dùng có thể nắm được những thông tin về các món đồ chơi đăng lên trao đổi, đăng đồ chơi trao đổi của mình lên, yêu cầu trao đổi đồ chơi với người khác, trò chuyện với người trao đổi, …

• Phương pháp nghiên cứu

- Tham khảo các tài liệu trực tuyến về các hoạt động trao đổi qua lại giữa người dùng

- Tiến hình khảo sát lấy yêu cầu thực tế từ người dùng

- Tham khảo một số ý tưởng và ứng dụng trao đổi đồ chơi qua internet

- Tham khảo tài liệu, video hướng dẫn cách áp dụng ứng dụng các công nghệ

mới vào quá trình xây dựng ứng dụng

• Ý nghĩa và kết quả của đề tài

Sản phẩm

- Tạo ra được ứng dụng trao đổi đồ chơi trực tuyến giữa các người dùng

- Đáp ứng được các chức năng đề ra của ứng dụng

Tài liệu

- Kiến thức về các công nghệ đã sử dụng vào đồ án: ngôn ngữ, framework, database, …

Trang 6

Kế hoạch thực hiện:

Giai đoạn Thời gian Mô tả

Giai đoạn 1 24/02 - 31/03 Lựa chọn đề tài

Tìm hiểu công nghệ Khảo sát ứng dụng

Giai đoạn 2 01/04/ - 29/04 Thiết kế giao diện

Thiết kế một số chức năng

Giai đoạn 3 30/04 – 29/05 Xây dựng giao diện

Hoàn thiện một số chức năng Giai đoạn 4 30/05 – 15/06 Hoàn thiện các chứng năng còn lại

Xây dựng chức năng onBoaring

Xây dựng chức năng trang chủ Xây dựng chức năng trang cá nhân Xây dựng chức năng đồ chơi Xây dựng chức năng đồ chơi Xây dựng chức năng chatting Xây dựng chức năng sự kiện

Trang 8

MỤC LỤC

CHƯƠNG 1 GIỚI THIỆU 1

1.1 Đặt vấn đề 1

1.2 Mục tiêu đề tài 1

1.3 Phạm vi đề tài 1

1.4 Phương pháp nghiên cứu 1

1.5 Ý nghĩa và kết quả của đề tài 2

1.5.1 Sản phẩm 2

1.5.2 Tài liệu 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3

2.1 Ngôn ngữ Dart 3

2.2 Framework Flutter 3

2.2.1 Flutter là gì 3

2.2.2 Tại sao nên sử dụng Flutter 3

2.3 Firebase 4

2.3.1 Ưu điểm 4

2.3.2 Nhược điểm 5

CHƯƠNG 3 KHẢO SÁT VÀ PHÂN TÍCH ĐẶT TẢ YÊU CẦU 6

3.1 Khảo sát hiện hiện trạng 6

3.1.1 Phương pháp khảo sát 6

3.1.2 Đối tượng khách hàng 6

3.1.3 Danh sách câu hỏi khảo sát 6

3.2 Danh sách các yêu cầu 6

CHƯƠNG 4 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9

4.1 Phân tích thiết kế hệ thống 9

4.1.1 Công nghệ sử dụng 9

4.1.2 Kiến trúc hệ thống 9

4.1.3 Kiến trúc ứng dụng 9

4.1.4 Sơ đồ use case 10

4.1.4.1 Diagrams 10

4.1.4.2 Danh sách actor 12

Trang 9

4.1.4.4 Mô tả chi tiết use case 12

4.1.5 Class diagrams 23

4.1.5.1 Diagrams 23

4.1.5.2 Danh sách các bảng 23

4.1.5.3 Mô tả chi tiết các bảng 24

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

4.1.6.1 Danh sách các collection trong cơ sở dữ liệu 28

4.1.6.2 Sơ đồ thiết kế 28

4.1.6.3 Mô tả chi tiết các collection 28

4.1.7 Activity diagram 32

4.1.7.1 Login 32

4.1.7.2 Sign Up 33

4.1.7.3 Forgot password 34

4.1.7.4 Swap 35

4.1.7.5 Post toy 36

4.1.7.6 Search 37

4.1.7.7 Donate toy 38

4.1.7.8 Delete toy 39

4.1.7.9 Create event 40

4.1.8 Sequence diagrams 41

4.1.8.1 Login 41

4.1.8.2 Sign Up 42

4.1.8.3 Chatting 43

4.1.8.4 Delete post 43

4.1.8.5 Filter 44

4.1.8.6 Search 44

4.1.8.7 Change information 45

4.1.8.8 Create event 45

4.1.8.9 Donate toy 46

4.2 Thiết kế giao diện 47

4.2.1 Danh sách màn hình 47

Trang 10

4.2.2.1 Onboarding 47

4.2.2.2 Login 48

4.2.2.3 Sign Up 50

4.2.2.4 Reset password 51

4.2.2.5 Home 52

4.2.2.6 Filter 53

4.2.2.7 Search 54

4.2.2.8 All toys 54

4.2.2.9 Toy detail 55

4.2.2.10 Welcome upload 56

4.2.2.11 Upload toy screen 57

4.2.2.12 Preview upload 59

4.2.2.13 Done upload 59

4.2.2.14 Profile 60

4.2.2.15 Configuration 62

4.2.2.16 Password configuration 63

4.2.2.17 Phone configuration 63

4.2.2.18 Name configuration 64

4.2.2.19 Date of birth configuration 65

4.2.2.20 Gender configuration 66

4.2.2.21 Address configuration 67

4.2.2.22 List events 68

4.2.2.23 List my events 69

4.2.2.24 Upload event 70

4.2.2.25 List toy donated 71

4.2.2.26 Request screen 72

4.2.2.27 Chatting screen 73

4.2.2.28 Chatting detail 74

CHƯƠNG 5 KẾT LUẬN 76

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

5.2 Ưu điểm 76

Trang 11

5.4 Hướng phát triển 76

Trang 12

CHƯƠNG 1 GIỚI THIỆU

1.1 Đặt vấn đề

Có những đứa trẻ xin mua đồ chơi mới mỗi ngày nhưng chắc chắn trong một ngày hoặc tuần vài tuần, bạn có thể tìm thấy món đồ chơi đó ở một góc nhà của bạn Cứ khoảng 238

đồ chơi được thu thập với một đứa trẻ, nhưng chỉ sử dụng 12 đồ chơi để chơi trong

khoảng thời gian trong một ngày

Hiện nay, chi phí dành cho trẻ em trong mỗi gia đình đều là một vấn đề rất lớn Trong đó

có chi phí về đồ chơi dành cho trẻ Trẻ em thích chơi đồ chơi tuy nhiên rất nhanh chán nếu chơi mãi một món đồ chơi Khiến cho phụ huynh phải mua đồ chơi mới để thay thế các đồ chơi cũ

1.4 Phương pháp nghiên cứu

- Tham khảo các tài liệu trực tuyến về các hoạt động trao đổi qua lại giữa người dùng

- Tiến hình khảo sát lấy yêu cầu thực tế từ người dùng

Trang 13

- Tham khảo một số ý tưởng và ứng dụng trao đổi đồ chơi qua internet

- Tham khảo tài liệu, video hướng dẫn cách áp dụng ứng dụng các công nghệ

mới vào quá trình xây dựng ứng dụng

1.5 Ý nghĩa và kết quả của đề tài

1.5.1 Sản phẩm

- Tạo ra được ứng dụng trao đổi đồ chơi trực tuyến giữa các người dùng

- Đáp ứng được các chức năng đề ra của ứng dụng

1.5.2 Tài liệu

- Kiến thức về các công nghệ đã sử dụng vào đồ án: ngôn ngữ, framework, database, …

Trang 14

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Ngôn ngữ Dart

Dart là ngôn ngữ lập trình mới, được phát triển bởi Google, hiện đã được chấp thuận bởi

tổ chức Ecma Dart được sử dụng để xây dựng các loại ứng dụng: web, server, di động (IOS và Android với công cụ Flutter)

Dart là ngôn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã code Dart có thể biên dịch thành JavaSript để chạy trên trình duyệt Nó hỗ trợ những khái niệm lập trình hiện đại như giao diện lớp, lớp trừu tượng, …

2.2 Framework Flutter

2.2.1 Flutter là gì

Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trên iOS và Android trong khoảng thời gian ngắn Flutter hoạt động với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức

Flutter gồm 2 thành phần quan trọng:

- Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ giúp bạn phát triển các ứng dụng của mình Điều này bao gồm các công cụ để biên dịch mã của bạn thành mã máy gốc (mã cho iOS và Android)

- Một Framework (UI Library based on widgets): Một tập hợp các thành phần giao diện người dùng (UI) có thể tái sử dụng (button, text inputs, slider, ) giúp bạn có thể cá nhân hóa tùy theo nhu cầu của riêng mình

2.2.2 Tại sao nên sử dụng Flutter

- Phát triển ứng dụng nhanh chóng: Tính năng hot reload giúp bạn nhanh chóng và dễ dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính năng và sửa lỗi nhanh hơn Trải nghiệm tải lại lần thứ hai, mà không làm mất trạng thái, trên emulator, simulator và device cho iOS và Android

- Giao diện người dùng đẹp và thu hút: Thỏa mãn người dùng của bạn với các widget built-in đẹp mắt của Flutter theo Material Design và Cupertino (iOS-flavor), các giao diện

Trang 15

lập trình ứng dụng (API) chuyển động phong phú, scroll tự nhiên mượt mà và tự nhận thức được nền tảng

- Framework hiện đại: Dễ dàng tạo giao diện người dùng của bạn với framework hiện đại của Flutter và tập hợp các platform, layout và widget phong phú Giải quyết các thách thức giao diện người dùng khó khăn của bạn với các API mạnh mẽ và linh hoạt cho 2D, animation, gesture, hiệu ứng và hơn thế nữa

2.3 Firebase

Firebase là một nền tảng mà Google cung cấp để phát triển các ứng dụng di động

và trang web, hỗ trợ Developer trong việc đơn giản hóa các thao tác với dữ liệu và không cần tác động tới backend hay server

- Một nền tảng, đa dịch vụ: Firebase cung cấp đầy đủ các dịch vụ hỗ trợ phát triển web, bạn có thể chọn database Firestore hoặc Realtime theo ý muốn

- Là một phần của Google: Firebase đã được mua lại và hiện tại đang là một phần của Google Nó khai thác triệt để sức mạnh và các dịch vụ sẵn có của Google

- Tập trung phát triển chủ yếu về giao diện người dùng: Firebase cho phép lập trình viên tập trung chủ yếu vào phát triển phần giao diện người dùng nhờ kho Backend mẫu phong phú đa dạng

- Không có máy chủ: Điều này giúp Firebase có khả năng tối ưu hóa về hiệu suất làm việc thông qua mở rộng cụm database

Trang 16

- Học máy: Firebase cung cấp học máy cho lập trình viên, hỗ trợ tối đa cho việc phát triển ứng dụng

- Tạo ra lưu lượng truy cập: Với khả năng hỗ trợ tạo lập các chỉ mục, Firebase giúp nâng cao thứ hạng của ứng dụng trên bảng xếp hạng Google, từ đó tăng lượt traffic

- Theo dõi lỗi: Firebase là công cụ phát triển, khắc phục lỗi tuyệt vời

- Sao lưu: Firebase sao lưu thường xuyên, giúp đảm bảo tính sẵn có và bảo mật thông tin cho dữ liệu

2.3.2 Nhược điểm

- Không phải mã nguồn mở

- Chỉ hoạt động trên CSDL NoSQL

- Lập trình viên không được truy cập mã nguồn

- Phạm vi hoạt động bị hạn chế ở một vài quốc gia

- Một vài dịch vụ cần trả phí, chi phí dành cho Firebase tương đối lớn và không ổn

- Chỉ có thể chạy trên Google Cloud

Trang 17

CHƯƠNG 3 KHẢO SÁT VÀ PHÂN TÍCH ĐẶT TẢ YÊU CẦU

3.1 Khảo sát hiện hiện trạng

3.1.1 Phương pháp khảo sát

Dùng bảng câu hỏi

3.1.2 Đối tượng khách hàng

Những người trong độ tuổi từ 18 – 30

3.1.3 Danh sách câu hỏi khảo sát

• Giới tính của bạn là gì?

• Độ tuổi của bạn là bao nhiêu?

• Bạn đang là sinh viên trường nào?

• Gia đình bạn có thường chi tiền để mua sắm đồ chơi không?

• Nếu có thì số tiền đó nằm ở mức nào?

• Gia đình bạn có những đồ chơi không sử dụng không?

• Gia đình bạn có nhu cầu trao đổi món đồ chơi không?

• Bạn có từng sử dụng qua ứng dụng trao đổi đồ chơi nào chưa?

• Tần suất sử dụng các ứng dụng này?

• Theo bạn, ứng dụng trao đổi đồ chơi sẽ mang lại những lợi ích như thế nào?

• Theo bạn, một ứng dụng trao đổi đồ chơi nên tập trung vào mặt nào?

• Các chức năng cần thiết của một ứng dụng trao đổi là?

3.2 Danh sách các yêu cầu

STT Phân loại Tên yêu cầu Mô tả

1 Chức năng Đăng bài trao đổi các món

đồ chơi

Tính năng quan trọng của ứng dụng Người dùng nhập bắt đầu nhập thông tin, xem trước bài đăng

Trang 18

2 Chức năng Tìm kiếm nhanh theo yêu

cầu người dùng

Ứng dụng hiện ra một danh sách các điều kiện lọc Người dùng chọn điều kiện mong muốn để tìm sản phẩm

3 Chức năng Trò chuyện giữa các bên

trao đổi

Sau khi đồng ý trao đổi, hệ thống kết nối 2 người dùng với nhau thông qua màn hình tin nhắn

Hai bên tự trao đổi hình thức nhận đồ chơi (Ứng dụng chưa hỗ trợ vận chuyển)

4 Chức năng Đánh giá và điểm tin cậy

người dùng

Sau khi hoàn thành một trao đổi, người dùng sẽ được tăng điểm tin cậy (Điểm đánh giá),

Sau khi quyên góp cũng sẽ nhận được điểm tin cậy

5 Chức năng Kiểm trang tình trạng đồ

chơi chơi

Hệ thống cần xác nhận tình trạng của món đồ chơi thông qua thông tin người dùng cung cấp trong bài đăng Sau khi xác nhận xong, bài đăng sẽ được hiển thị trên ứng dụng

6 Chức năng Đăng ký Hệ thống cho phép người dùng đăng

ký tài khoản mới bằng email, số điện thoại, google, facebook, …

Sau khi đăng ký, hệ thống sẽ gửi mail xác nhận cho người dùng (cần xác nhận email)

7 Chức năng Đăng nhập Người dùng đăng nhập ứng dụng

bằng tài khoản đã đăng ký

Người dùng có thể thay đổi mật khẩu thông qua email khi quên mật khẩu

Trang 19

8 Chức năng Cài đặt Hệ thống cho phép người dùng thay

đổi ngôn ngữ theo vị trí

Hệ thống cho phép người dùng thay đổi giao diện sáng tối ứng dụng Người dùng có thể đặt lại mật khẩu hoặc lưu đăng nhập

9 Chức năng Thông báo Hệ thống sẽ thông báo cho người

dùng khi có yêu cầu trao đổi đồ chơi

10 Giao diện Giao diện bắt mắt, đơn

giản

11 Hiệu năng Thời gian truy cập, tốc độ

xử lý tương tác, độ chính xác cao

Trang 20

CHƯƠNG 4 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

4.1 Phân tích thiết kế hệ thống

4.1.1 Công nghệ sử dụng

• Nền tảng: Flutter Framework, version 4.7.2

• Ngôn ngữ: Dart

• UI Framework: Flutter Framework

• UI design tool: Figma

• Database: Firebase Cloud Firebase

• IDE: VS Code

• Kiến trúc ứng dụng: MVVM’

4.1.2 Kiến trúc hệ thống

Mô hình Client – Server

- Lớp Client: Hiển thị giao diện người dùng, thông qua kết nối Internet để kết nối đến cơ

sở dữ liệu quản lý thư viện Là nơi diễn ra các tương tác của người dùng với chương trình như nhập, các thao tác truy xuất dữ liệu

- Lớp Server: Quản lý và chứa toàn bộ dữ liệu của phần mềm Đồng thời xử lý các yêu

cầu nhập/xuất được gửi xuống từ lớp Client

4.1.3 Kiến trúc ứng dụng

Mô hình MVVM

Trang 21

4.1.4 Sơ đồ use case

4.1.4.1 Diagrams

Trang 23

4.1.4.2 Danh sách actor

STT Tên Mô tả

1 User Người sử dụng ứng dụng

4.1.4.3 Danh sách các use case

STT Tên use case

Trang 24

Tác nhân Người sử dụng ứng dụng

Điều kiện kích hoạt Người dùng nhấn vào nút đăng nhập trên màn hình

Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Nhập thông tin đăng nhập, bao gồm email và password

Luồng thay thế Không

Điều kiện tiên quyết • Người dùng có tài khoản trong hệ thống

• Người dùng đang ở màn hình đăng nhập Điều kiện sau • Đăng nhập thành công: chuyển sang màn hình trang chủ

• Đăng nhập thất bại: thông báo cho người dùng

Trang 25

Luồng thay thế Luồng thay thế 1

1 Hiện lên thông báo cho người dùng: sai thông tin hoặc là tạo tài khoản thất bại

2 Tiến nhanh cho người dùng nhập lại thông tin

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình đăng ký Điều kiện sau • Đăng ký thành công: chuyển sang màn hình đăng nhập

• Đăng ký thất bại: thông báo cho người dùng

4.1.4.4.3 Forgot password

Tên Forgot password

Mô tả Người dùng không nhớ mật khẩu tài khoản và muốn cài đặt lại

mật khẩu mới Tác nhân Người dùng

Điều kiện kích hoạt Người dùng ở màn hình quên mật khẩu, nhấn vào nút gửi email Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Người dùng điền email của tài khoản đã tạo

2 Nhấn vào nút gửi email

1 Kiểm tra email người dùng

có trong hệ thống hay không

2 Nếu có tiến hành gửi email cài đặt lại mật khẩu Nếu không tiến hành luồng thay thế

1 Luồng thay thế Luồng thay thế 1

1 Hiện lên thông báo cho người dùng: nhập sai email

2 Tiến nhanh cho người dùng nhập lại thông tin

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình quên lại mật khẩu

Điều kiện sau • Thành công: chuyển sang màn hình xác nhận

• Đăng ký thất bại: thông báo cho người dùng

Trang 26

4.1.4.4.4 Save user credentials

Tên Save user credentials

Mô tả Lưu lại thông tin người dùng sau khi đăng nhập

Tác nhân Người dùng

Điều kiện kích hoạt Người dùng ở màn hình đăng nhập và tiến hành đăng nhập tài

khoản

Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Người dùng điền thông tin đăng nhập

Luồng thay thế Không

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình đăng nhập Điều kiện sau • Đăng nhập thành công: chuyển sang màn hình trang chủ,

lưu thông tin người dùng

• Đăng nhập thất bại: thông báo cho người dùng

Trang 27

1 Người dùng nhập thông tin

2 Người dùng gửi yêu cầu đến

hệ thống bằng cách nhấn nút

1 Kiểm tra thông tin người dùng nhập vào ở cơ sở dữ liệu

Luồng thay thế Không

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình đăng nhập, đăng ký, … Điều kiện sau • Xác thực thành công: thực hiện thao tác tiếp theo

• Xác thực thất bại: thông báo lỗi cho người dùng

1 Người dùng nhần vào nút yêu cầu đồ chơi ở màn hình đồ chơi

2 Người dùng chọn đồ chơi của mình để trao đổi với người khác

1 Kiểm tra hai đồ chơi có hợp

lệ hay không

2 Nếu hợp lệ sẽ gửi yêu cầu đến người dùng được yêu cầu trao đổi Nếu không sẽ không yêu cầu trao đổi

3 Nếu yêu cầu được xác nhận

là đồng ý sẽ tạo trò chuyện giữ hai người dùng Nếu không thì

sẽ không hiển thị

Luồng thay thế Không

Trang 28

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng ở màn hình đồ chơi

• Người dùng chọn đồ chơi trao đổi

Điều kiện sau • Yêu cầu thành công: Tạo yêu cầu gửi tới người dùng

• Yêu cầu thất bại: thông báo cho người dùng

4.1.4.4.7 Post toy exchange

Tên Post toy exchange

Mô tả Người dùng đăng bài về món đồ chơi muốn trao đổi

Tác nhân Người dùng

Điều kiện kích hoạt Người dùng ở màn hình chính, nhấn vào nút đăng bài

Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Người dùng điền tất cả thông tin của món đồ chơi

2 Nhấn vào nút đăng bài

1 Kiểm tra dữ liệu người dùng nhập vào

2 Đăng tải bài đăng của người dùng lên mạng

Luồng thay thế Không

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình chính

Điều kiện sau • Đăng bài thành công: chuyển sang màn hình thông báo

đăng bài thành công

• Đăng bài thất bại: thông báo cho người dùng

4.1.4.4.8 Delete post

Tên Delete post

Mô tả Người dùng xoá bài đăng của mình

Tác nhân Người dùng

Trang 29

Điều kiện kích hoạt Người dùng ở màn hình hiện thị bài đăng, chọn bài đăng đó Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Người dùng chọn xoá bài đăng

1 Xác nhận yêu cầu của người dùng

2 Xoá bài đăng

Luồng thay thế Không

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình đăng ký Điều kiện sau • Xoá thành công: chuyển sang màn hình chính

• Xoá thất bại: thông báo cho người dùng

4.1.4.4.9 Filters

Tên Lọc

Mô tả Lọc các đồ chơi hiện thị trên màn hình theo quyết định của

người dùng Tác nhân Người dùng

Điều kiện kích hoạt Người dùng nhấn vào nút “Filter”

Luồng chính 1 Người dùng chọn các thuộc tính của đồ chơi

2 Chọn OK

3 Hiện thị danh sách các đồ chơi có thuộc tính đã chọn Luồng thay thế Không

Điều kiện tiên quyết Người dùng đã đăng nhập vào hệ thống

Điều kiện sau Hiện thị danh sách đồ chơi với thuộc tính được chọn

4.1.4.4.10 Chatting

Tên Chatting

Mô tả Người dùng chat với những người đồng ý đổi đồ chơi

Trang 30

Tác nhân Người dùng

Điều kiện kích hoạt Người dùng ở màn hình chat

Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Người dùng điền thông tin muốn gửi

2 Nhấn vào nút gửi

1 Chuyển thông tin của người dùng đến người nhận

Luồng thay thế Không

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình chat Điều kiện sau • Gửi thành công: thay đổi trạng thái tin nhắn

• Gửi thất bại: thông báo cho người dùng

Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Người dùng điền thông tin liên quan đến đồ chơi (tên, thuộc tính,…)

2 Nhấn vào nút tìm kiếm

1 Truy xuất dữ liệu khớp với thông tin của người dùng đã nhập

2 Hiện danh sách đã tìm được

Luồng thay thế Không

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình hiện thị danh sách đồ chơi

Trang 31

Điều kiện sau • Tìm kiếm thành công: Hiện danh sách đồ chơi phù hợp

• Tìm kiếm thất bại: thông báo cho người dùng

4.1.4.4.12 Create event

Tên Create event

Mô tả Người dùng muốn tạo sự kiện để quyên gió đồ chơi

Tác nhân Người dùng

Điều kiện kích hoạt Người dùng ở màn hình thông tin cá nhân, chọn vào nút sự kiện Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Người dùng chọn tạo sự kiện

2 Điền thông tin của sự kiện

Luồng thay thế Luồng thay thế 1

1 Hiện lên thông báo cho người dùng: sai thông tin hoặc là tạo

sự kiện thất bại

2 Tiến hành cho người dùng nhập lại thông tin

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình đăng tải sự kiện Điều kiện sau • Tạo sự kiện thành công: chuyển sang màn hình hiện thị

danh sách sự kiện

• Tạo sự kiện thất bại: thông báo cho người dùng

4.1.4.4.13 Donate toy

Tên Donate toy

Mô tả Người dùng muốn quyên góp đồ chơi cho sự kiện

Trang 32

Tác nhân Người dùng

Điều kiện kích hoạt Người dùng ở màn hình hiện thị danh sách sự kiện, chọn

sự kiện muốn quyên góp Luồng chính Hành động của tác nhân Hành động của hệ thống

1 Người dùng điền thông tin của đồ chơi

Luồng thay thế Luồn thay thế 1:

1 Hiện lên thông báo cho người dùng: sai thông tin hoặc

là quyên góp cho sự kiện thất bại

2 Tiến hành cho người dùng nhập lại thông tin

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình hiện thị danh sách sự kiện

Điều kiện sau • Thay đổi thành công: chuyển sang màn hình chính

• Thay đổi thất bại: thông báo cho người dùng

4.1.4.4.14 Change information

Tên Change information

Mô tả Người dùng muốn đổi thông tin của bài đăng

Tác nhân Người dùng

Điều kiện kích hoạt Người dùng ở màn hình hiện thị bài đăng, chọn bài đăng

đó Luồng chính Hành động của tác nhân Hành động của hệ thống

Trang 33

1 Người dùng điền lại thông tin muốn sửa

Điều kiện tiên quyết • Ứng dụng đang được chạy

• Người dùng đang ở màn hình hiện thị bài đăng Điều kiện sau • Thay đổi thành công: chuyển sang màn hình chính

• Thay đổi thất bại: thông báo cho người dùng

Trang 35

1 Id Int Private Mã người dùng

2 Username String Private Tên tài khoản người dùng

3 Password String Private Mật khẩu tài khoản người dùng

4 Email Boolean Private Email của người dùng

5 IsActived Boolean Private Tình trạng tài khoản

6 IsEmailVerified String Private Tình trạng xác thực email

7 Phone String Private Số điện thoại tài khoản

8 FirstName String Private Tên người dùng

9 LastName String Private Họ và tên đệm người dùng

10 Birthday Datetime Private Ngày sinh nhật người dùng

11 Gender Boolean Private Giới tính người dùng

12 Address String Private Địa chỉ người dùng

13 ImageUrl String Private Hình ảnh người dùng

14 CreateDate Datetime Private Ngày tạo tài khoản người dùng

15 LastUpdateDate Datetime Private Ngày chỉnh sửa tài khoản

người dùng

Trang 36

4.1.5.3.2 Bảng Chatting

STT Tên thuộc tính Kiểu Phạm vi

truy cập

Mô tả

1 Id Int Private Mã cuộc trò chuyện

2 IdRequestingUser Int Private Mã người yêu cầu

3 IdRequestedUser Int Private Mã người được yêu cầu

4.1.5.3.3 Bảng Message

STT Tên thuộc tính Kiểu Phạm vi

truy cập

Mô tả

1 Id Int Private Mã tin nhắn

2 IdChatting Int Private Mã cuộc trò chuyện

3 MessageText String Private Nội dung tin nhắn

4 SendAt Datetime Private Thời gian gửi

5 SendBy Int Private Người gửi

4.1.5.3.4 Bảng Rating

STT Tên thuộc tính Kiểu Phạm vi

truy cập

Mô tả

1 Id Int Private Mã người dùng

2 UserId String Private Tên tài khoản người dùng

3 Swaps String Private Mật khẩu tài khoản người dùng

4 Donation Boolean Private Email của người dùng

4.1.5.3.5 Bảng Swap

Trang 37

STT Tên thuộc tính Kiểu Phạm vi

truy cập

Mô tả

1 Id Int Private Mã trao đổi

2 UserId Int Private Mã người dùng

3 IdRequestedUser Int Private Mã người được yêu cầu

4 ToyId Int Private Mã đồ chơi

5 Status Boolean Private Tình trạng trao đổi

4.1.5.3.6 Bảng Toy

STT Tên thuộc tính Kiểu Phạm vi

truy cập

Mô tả

1 Id Int Protected Mã đồ chơi

2 UserId String Protected Tên tài khoản người dùng

3 Name String Protected Tên đồ chơi

4 Description Boolean Protected Mô tả đồ chơi

5 Location String Protected Vị trí đồ chơi

6 Image String Protected Ảnh đồ chơi

7 IsSwapped Boolean Protected Đã được trao đổi hay chưa

8 IsValid Boolean Protected Có hiệu lực hay không

9 CreateDate Datetime Protected Ngày tạo

4.1.5.3.7 Bảng ToyType

STT Tên thuộc tính Kiểu Phạm vi

truy cập

Mô tả

1 Id Int Private Mã loại đồ chơi

2 ToyId Int Private Mã đồ chơi

3 Categories String Private Loại đồ chơi

4 Condition Boolean Private Tình trạng đồ chơi

Trang 38

5 GenderType Int Private Giới tính phù hợp với đồ chơi

6 Age Int Private Độ tuổi phù hợp với đồ chơi

1 Id Int Private Mã đồ chơi

2 UserId Int Private Mã người dùng

3 Name String Private Tên sự kiện

4 Description String Private Mô tả sự kiện

5 StartDate Datetime Private Ngày bắt đầu

6 EndDate Datetime Private Ngày kết thúc

Trang 39

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

4.1.6.1 Danh sách các collection trong cơ sở dữ liệu

STT Tên Kiểu

1 Id ObjectId

Trang 40

STT Tên Kiểu

1 Id ObjectId

2 RequestedSwapToyId ObjectId

Ngày đăng: 17/08/2022, 21:35

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

TÀI LIỆU LIÊN QUAN

w