Tải bản đầy đủ (.pdf) (132 trang)

Xây dựng ứng dụng sổ tay gia đình hỗ trợ tương tác

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.01 MB, 132 trang )

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

LÝ HIỀN PHÚC
LÊ ĐÌNH TRỌNG NGHĨA

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG SỔ TAY GIA ĐÌNH
HỖ TRỢ TƯƠNG TÁC
Build a family handbook application supporting interaction

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

LÝ HIỀN PHÚC – 17520904
LÊ ĐÌNH TRỌNG NGHĨA – 17520798

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG SỔ TAY GIA ĐÌNH
HỖ TRỢ TƯƠNG TÁC


Build a family handbook application supporting interaction

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
TS. NGUYỄN HÀ GIANG
ThS. NGUYỄN THỊ THANH TRÚC

TP. HỒ CHÍ MINH, 2021


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày
………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. ……………………………………… – Chủ tịch
2. ……………………………………… – Thư ký
3. ……………………………………… – Ủy viên
4. ……………………………………… – Ủy viên


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM ngày 22 tháng 7 năm 2021
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)

Tên khóa luận:
XÂY DỰNG ỨNG DỤNG SỔ TAY GIA ĐÌNH
HỖ TRỢ TƯƠNG TÁC
Nhóm sinh viên thực hiện:

Cán bộ hướng dẫn:

Lý Hiền Phúc

17520904

TS. Nguyễn Hà Giang

Lê Đình Trọng Nghĩa

17520798

ThS. Nguyễn Thị Thanh Trúc

Đánh giá khóa luận:
1. Về cuốn báo cáo:
2. Về nội dung:
3. Về chương trình ứng dụng:
4. Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên:
Lý Hiền Phúc:
Lê Đình Trọng Nghĩa:
Người nhận xét
(Ký tên và ghi rõ học tên)



ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày tháng năm 2021
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG SỔ TAY GIA ĐÌNH
HỖ TRỢ TƯƠNG TÁC
Nhóm sinh viên thực hiện:

Cán bộ hướng dẫn:

Lý Hiền Phúc

17520904

TS. Nguyễn Hà Giang

Lê Đình Trọng Nghĩa

17520798

ThS. Nguyễn Thị Thanh Trúc


Đánh giá khóa luận:
1. Về cuốn báo cáo:
2. Về nội dung:
3. Về chương trình ứng dụng:
4. Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên:
Lý Hiền Phúc:
Lê Đình Trọng Nghĩa:
Người nhận xét
(Ký tên và ghi rõ học tên)


LỜI CẢM ƠN
Lời đầu tiên chúng em xin gửi lời cảm ơn chân thành và tri ân sâu sắc đến
ban giám hiệu nhà trường, quý thầy cô cũng như tất cả các cán bộ và nhân viên
đã và đang công tác tại trường Đại học Công nghệ Thông tin – ĐHQG TP. HCM
vì đã tạo điều kiện, dẫn dắt và trang bị cho chúng em những kiến thức quý báu
để có thể hồn thành tốt khóa luận tốt nghiệp.
Đặc biệt, chúng em xin gửi lời cảm ơn và lòng biết ơn sâu sắc tới TS.
Nguyễn Hà Giang và ThS. Nguyễn Thị Thanh Trúc, người đã dẫn dắt, giúp đỡ và
tạo kiện để chúng em có thể hồn thành tốt khóa luận của mình. Cảm ơn quý giảng
viên vì những chỉ bảo tận tình trong suốt thời gian qua đã giúp cho khóa luận của
chúng em ngày càng hồn thiện hơn.
Chúng em cũng chân thành cảm ơn quý giảng viên phản biện và các quý
giảng viên thầy cô trong ban hội đồng chấm luận văn đã cho chúng em những đóng
góp quý báu để luận văn thêm hoàn chỉnh.
Lời cuối, chúng em xin chúc quý thầy cô cùng tập thể cán bộ và nhân viên
của trường sẽ ln có thật nhiều sức khỏe, gặp thật nhiều may mắn và thành công

trên con đường của mình.
TP. Hồ Chí Minh, tháng năm 2021
Nhóm thực hiện
Lý Hiền Phúc
Lê Đình Trọng Nghĩa


ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI:
XÂY DỰNG ỨNG DỤNG SỔ TAY GIA ĐÌNH HỖ TRỢ TƯƠNG TÁC
TÊN ĐỀ TÀI TIẾNG ANH:
BUILD A FAMILY HANDBOOK APPLICATION SUPPORTING
INTERACTION
Cán bộ hướng dẫn: TS. Nguyễn Hà Giang, Ths. Nguyễn Thị Thanh Trúc
Thời gian thực hiện: Từ ngày 06/09/2021 đến ngày 01/01/2022
Sinh viên thực hiện:
Lý Hiền Phúc – 17520904
Lê Đình Trọng Nghĩa – 17520798
Nội dung đề tài:
(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện, kết quả mong đợi
của đề tài)

1. Mục tiêu
1.1. Bối cảnh đề tài
Trong bối cảnh xã hội hiện đại, khi con người ngày càng bận rộn với cơng việc
cũng như việc học bên ngồi và ít có thời gian hơn để xử lý các cơng việc trong gia
đình. Đặc biệt trong thời gian giãn cách xã hội do đại dịch Covid-19 khiến cho
nhiều người công tác xa gia đình và khơng thể về. Nhu cầu quản lý các cơng việc,
sự kiện trong gia đình và tương tác với các thành viên gia đình càng tăng cao.



Đứng ở góc độ này, ý tưởng giúp việc quản lý các công việc, sự kiện và tương tác
với các thành viên trong gia đình dần hình thành. Đó là việc ứng dụng công nghệ
vào việc xây dựng một ứng dụng sổ tay gia đình hỗ trợ tương tác giúp tăng hiệu
quả quản lý cơng việc cũng như tính tương tác từ xa cho gia đình. Chính vì vậy,
nhóm chúng em quyết định thực hiện đề tài này.
1.2. Mục tiêu
− Tạo ra một không gian tương tác từ xa giành riêng cho gia đình.
− Bên cạnh đó cũng giúp các thành viên trong gia đình:
o Lên danh sách các cơng việc trong gia đình và phân cơng cơng việc cho
các thành viên trong gia đình.
o Đặt lịch để nhắc nhở các thành viên về những sự kiện quan trọn.
o Chia sẻ vị trí với các thành viên trong gia đình để tiện quan sát.
o Giúp các thành viên trong gia đình cập nhật được tình hình thu chi hàng
tháng và thể hiện các số liệu thông qua biểu đồ.

2. Phạm vi nghiên cứu
2.1. Lý thuyết
− Thực trạng để quản lý công việc, lên danh sách sự kiện và cũng như cách thức
liên hệ, tương tác từ xa mà các gia đình đang áp dụng hiện nay.
− Thực trạng của các ứng dụng mạng xã hội ngày nay đáp ứng về sự tương tác
giữa giới trẻ và các thành viên trong gia đình của họ.
− Các ứng dụng liên quan hoặc có cụm tính năng tương tự đã được triển khai và
đưa vào sử dụng trên thực tế.
− Các công nghệ kỹ thuật nhằm hỗ trợ việc xây dựng database, ứng dụng trên
mobile và backend.
− Đề tài của khoá trước.


2.2. Các tính năng

− Xác thực và quản lý thơng tin cá nhân.
− Quản lý công việc trong nhà.
− Quản lý sự kiện chung.
− Album ảnh gia đình.
− Quản lý thu chi.
− Chia sẻ vị trí và cảnh báo khẩn cấp.
− Tương tác qua khung chat chung.
− Tương tác qua cuộc gọi thường.
− Tương tác qua cuộc gọi video.

3. Đối tượng nghiên cứu
3.1. Công nghệ
− Backend: Java(Spring boot).
− Mobile: React Native(Redux).
− Database: PostgreSQL.
− Backend deployment: Heroku.
− Mobile app CI/CD: Bitrise.
− Source Control: Github.

3.2. Đối tượng trong phạm vi đề tài hướng đến
− Những người ở xa nhà có nhu cầu quản lý công việc, sự kiện hiệu quả hơn thông
qua Mobile App.
− Những người khi đi xa nhà vẫn có thể tương tác và có thể định vị được các thành
viên trong gia đình.


4. Tính mới và thực tiễn:
− Nhóm em đã tiến hành khảo sát các ứng dụng liên quan hoặc có cụm tính năng
tương tự đã được triển khai và đưa vào sử dụng trên thực tế:
o Cozi, ChoresMonster, OurHome cho phép đồng bộ hóa lịch cho cả gia đình

với khả năng lập danh sách và phân công các công việc cần làm.
o Keepy cung cấp tính năng lưu trữ, tổ chức và quản lý những hình ảnh và
video kỷ niệm của gia đình vào một nơi duy nhất và cho các thành viên đều
có khả năng truy cập.
o Life360 hỗ trợ việc định vị người thân dựa vào tính năng GPS và cảnh báo
trong trường hợp khẩn cấp.
o MoneyLover, Spendee, Mint, MoneyPocket hỗ trợ việc quản lý thu chi, giám
sát hóa đơn, theo dõi mức chi so với ngân sách và trực quan hóa chi tiêu qua
biểu đồ.
o Facebook Messenger, Skype, Twitter có thể hỗ trợ người sử dụng tương tác
qua hình thức nhắn tin, voice call và video call.
− Qua khảo sát có thể thấy các ứng dụng hiện có chỉ hỗ trợ một tác vụ nhất định, dẫn
đến sự bất định cho người dùng khi phải sử dụng quá nhiều ứng dụng cùng lúc để
giải quyết các công việc. Bên cạnh đó, các hoạt động tương tác của giới trẻ trên
mạng xã hội có xu hướng nghiêng về bạn bè và các mối quan hệ xã hội khác hơn
là gia đình. Bởi đó, nhóm em nhận thấy tính mới và tính thực tiễn của đề tài như
sau:
-

Tính mới:
So với những ứng dụng đã khảo sát:
o Tích hợp các tính năng quản lý cơng việc, sự kiện, thu chi, album gia đình
và tương tác từ xa qua các hình thức nhắn tin, voice call, video call vào một
ứng dụng duy nhất.


o Tạo ra không gian tương tác từ xa dành riêng cho các thành viên trong gia
đình nhằm tăng tính gắn kết giữa các thành viên trong gia đình với nhau.
So với đề tài khoá trước:
o Bổ sung thêm khả năng tương tác thông qua internet giữa các thành viên

trong gia đình qua hình thức nhắn tin, voice call và video call trực tiếp.
o Hỗ trợ 2 ngôn ngữ tiếng Anh và tiếng Việt.
o Tích hợp đăng nhập bằng các tài khoản social networking bên thứ 3 như:
Facebook, Google, Apple(với nền tảng iOS).
o Quản lý thu chi trong gia đình và thống kê thành biểu đồ cho người dùng.
-

Tính thực tiễn:
o Hỗ trợ các gia đình thực hiện các tác vụ hằng ngày dễ dàng và thuận tiện
hơn.
o Tăng tính gắn kết giữa các thành viên trong việc thực hiện cơng việc nhà.
o Tăng tính giao tiếp và chia sẻ giữa các thành viên qua việc nhắc nhở về sự
kiện.
o Tăng tính thống nhất, tương tác và chia sẻ ý kiến giữa các thành viên.

5. Phương pháp thực hiện
− Nhóm thực hiện theo 2 hình thức online hoặc offline, bên cạnh đó kết hợp với việc
trao đổi với giảng viên hướng dẫn để định hướng cho đề tài.
− Nghiên cứu việc tương tác của giới trẻ với gia đình của họ trên các ứng dụng mạng
xã hội.
− Nghiên cứu thực trạng quản lý công việc, và các sự kiện của các gia đình hiện nay.
− Khảo sát các ứng dụng liên quan hoặc có cụm tính năng tương tự
− Khảo sát nhu cầu sử dụng ứng dụng sổ tay xã hội hỗ trợ tương tác của các gia đình
thực tế.
− Tiến hành phân tích các nhu cầu trên và thống kê thành danh sách các yêu cầu.


− Tìm hiểu và nghiên cứu các phương pháp thiết kế UI/UX thân thiện với người sử
dụng và dễ dàng thao tác.
− Thiết kế hệ thống (Các sơ đồ UML và thiết kế database).

− Thiết kế giao diện cho mobile app.
− Xây dựng tính năng.
− Triển khai và kiểm thử.

6. Kết quả mong đợi
-

Xây dựng ứng dụng có tính thực tế cao và đáp ứng nhu cầu người dùng.

-

Có thể mở rộng và phát triển các tính năng mới trong tương lai.

Kế hoạch thực hiện:(Mô tả kế hoạch làm việc và phân công công việc cho từng sinh
viên tham gia)
STT

Nội dung công việc

Thời gian

Phân công

thực hiện
Giai đoạn 1: Nghiên cứu và khảo sát

1
1.1

Thực hiện nghiên cứu việc tương tác của giới

trẻ với gia đình của họ trên các ứng dụng

06/09/2021

Phúc, Nghĩa

-

mạng xã hội.
08/09/2021
1.2

Thực hiện nghiên cứu thực trạng quản lý cơng

09/09/2021

việc, và các sự kiện của các gia đình hiện nay.

-

Phúc, Nghĩa

11/09/2021
1.3

Khảo sát và phân tích yêu cầu.

12/09/2021
-


Phúc, Nghĩa


14/09/2021
1.4

Tìm hiểu các ứng dụng tương tự.

15/09/2021

Phúc, Nghĩa

17/09/2021
1.5

Tìm hiểu và nghiên cứu các phương pháp thiết

18/09/2021

kế UI/UX thân thiện với người sử dụng và dễ

-

Phúc, Nghĩa

dàng thao tác.
20/09/2021
Giai đoạn 2: Thiết kế hệ thống

2

2.1

Thiết kế cơ sở dữ liệu và vẽ sơ đồ UML(Use
case Diagram, Activity Diagram, Sequence

21/09/2021

Phúc, Nghĩa

-

Diagram, Entity Relation Diagram, Class
27/09/2021

Diagram)
2.2

Thiết kế giao diện và vẽ wireframe cho ứng
dụng

28/09/2021

Phúc

04/10/2021

3
3.1

Giai đoạn 3: Thực hiện các chức năng

Xác thực và quản lý thông tin cá nhân.

05/10/2021

Phúc, Nghĩa

11/10/2021
3.2

Quản lý công việc trong nhà

12/10/2021
-

Phúc, Nghĩa


18/10/2021
3.3

Quản lý sự kiện chung

19/10/2021

Phúc, Nghĩa

25/10/2021
3.4

Album ảnh gia đình


26/10/2021

Phúc, Nghĩa

01/11/2021
3.5

Quản lý thu chi

02/11/2021

Phúc, Nghĩa

08/11/2021
3.6

Chia sẻ vị trí của các thành viên và cảnh báo
khẩn cấp

09/11/2021

Phúc, Nghĩa

15/11/2021

3.7

Tương tác qua việc nhắn tin


16/11/2021

Phúc, Nghĩa

22/11/2021
3.8

Tương tác qua cuộc gọi thông thường

23/11/2021

Phúc, Nghĩa

29/11/2021
3.9

Tương tác qua cuộc gọi video

30/11/2021
-

Phúc, Nghĩa


06/12/2021
4
4.1

Giai đoạn 4: Đánh giá kết quả đạt được và soạn báo cáo
Lập bảng đánh giá kết quả thu được sau khi

hoàn thành ứng dụng

07/12/2021

Phúc, Nghĩa

10/12/2021

4.2

Soạn báo cáo

11/12/2021

Phúc, Nghĩa

17/12/2021
Xác nhận của CBHD

TP. HCM, ngày 18 tháng 08 năm 2021

(Ký tên và ghi rõ họ tên)

Sinh viên 1

TS. Nguyễn Hà Giang

(Ký tên và ghi rõ họ tên)
Lý Hiền Phúc


Ths. Nguyễn Thị Thanh Trúc

Sinh viên 2
(Ký tên và ghi rõ họ tên)
Lê Đình Trọng Nghĩa


MỤC LỤC
Chương 1.

GIỚI THIỆU CHUNG ......................................................................... 2

1.1.

Mở đầu ......................................................................................................... 2

1.2.

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

1.3.

Mục tiêu ....................................................................................................... 3

1.4.

Tính mới và tính thực tiễn ........................................................................... 3

1.4.1.


Tính mới ............................................................................................... 3

1.4.2.

Tính thực tiễn ....................................................................................... 4

1.5.

Phạm vi nghiên cứu ..................................................................................... 5

1.6.

Đối tượng nghiên cứu .................................................................................. 5

Chương 2.

KIẾN THỨC NỀN TẢNG ................................................................... 6

2.1.

React Native ................................................................................................ 6

2.2.

Redux ........................................................................................................... 7

2.3.

Redux Saga .................................................................................................. 8


2.4.

Firebase ........................................................................................................ 9

2.5.

PostgreSQL .................................................................................................. 9

2.6.

Spring Boot ................................................................................................ 11

2.7.

Recommendation system ........................................................................... 12

2.7.1.

Giới thiệu ............................................................................................ 12

2.7.2.

Các phương pháp trong hệ thống gợi ý .............................................. 13

2.7.2.1.

Content-based Filtering ............................................................... 13

2.7.2.2.


Collaborative filtering ................................................................. 14

Chương 3.
3.1.

XÂY DỰNG HỆ THỐNG ................................................................. 15

Phát biểu bài toán ...................................................................................... 15


3.2.

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

3.2.1.

Yêu cầu nghiệp vụ .............................................................................. 16

3.2.2.

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

3.2.3.

Yêu cầu phi chức năng ....................................................................... 18

3.3.

Thiết kế sơ đồ Usecase .............................................................................. 19


3.3.1.

Mơ hình use case toàn hệ thống ......................................................... 19

3.3.2.

Đặc tả usecase .................................................................................... 20

3.3.2.1.

Đăng ký tài khoản ....................................................................... 20

3.3.2.2.

Đăng nhập ................................................................................... 22

3.3.2.3.

Quên mật khẩu ............................................................................ 24

3.3.2.4.

Cập nhật thông tin tài khoản cá nhân .......................................... 27

3.3.2.5.

Quản lý thành viên trong gia đình .............................................. 29

3.3.2.6.


Quản lý các album gia đình ........................................................ 31

3.3.2.7.

Quản lý các cơng việc nhà .......................................................... 33

3.3.2.8.

Quản lý sự kiện trong gia đình .................................................... 34

3.3.2.9.

Quản lý thu chi hằng tháng ......................................................... 36

3.3.2.10. Định vị các thành viên ................................................................ 38
3.3.2.11. Hỗ trợ tương tác .......................................................................... 40
3.3.2.12. Quản lý các bài viết ẩm thực ...................................................... 42
3.4.

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

3.4.1.

Bảng Users ......................................................................................... 45

3.4.2.

Bảng Families ..................................................................................... 46

3.4.3.


Bảng Albums ...................................................................................... 46

3.4.4.

Bảng Photos........................................................................................ 47


3.4.5.

Bảng PhotosInAlbums........................................................................ 47

3.4.6.

Bảng UserFirebaseToken ................................................................... 48

3.4.7.

Bảng Chores ....................................................................................... 48

3.4.8.

Bảng ChoreAlbums ............................................................................ 49

3.4.9.

Bảng PhotosInChoreAlbums .............................................................. 49

3.4.10.


Bảng Events .................................................................................... 49

3.4.11.

Bảng GroupEvents .......................................................................... 50

3.4.12.

Bảng EventAlbums ......................................................................... 51

3.4.13.

Bảng PhotosInEvents ...................................................................... 51

3.4.14.

Bảng UsersInCallRooms ................................................................ 52

3.4.15.

Bảng Notifications .......................................................................... 52

3.4.16.

Bảng Transactions .......................................................................... 53

3.4.17.

Bảng TransactionPhotos ................................................................. 53


3.4.18.

Bảng PhotosInTransactions ............................................................ 54

3.4.19.

Bảng TransactionCategories ........................................................... 54

3.4.20.

Bảng TransactionGroup .................................................................. 55

3.4.21.

Bảng CuisinePosts .......................................................................... 55

3.4.22.

Bảng CuisinePostPool .................................................................... 56

3.4.23.

Bảng UserReactCuisinePost ........................................................... 56

3.5.

Thiết kế kiến trúc hệ thống ........................................................................ 57

3.6.


Thiết kế giao diện ...................................................................................... 59

Chương 4.
4.1.

ÁP DỤNG THUẬT TOÁN................................................................ 81

Một số định nghĩa ...................................................................................... 81

4.1.1.

Utility matrix ...................................................................................... 81


4.1.2.

Cosine similarity ................................................................................ 83

4.1.3.

Reddit’s hot ranking ........................................................................... 84

4.1.3.1.

Hiện tượng snowball ................................................................... 84

4.1.3.2.

Ảnh hưởng của yếu tố thời gian .................................................. 85


4.1.3.3.

The logarithm scale ..................................................................... 85

4.1.3.4.

Ảnh hưởng của các lượt downvote ............................................. 86

4.1.3.5.

Tính điểm bài viết từ thời gian đăng bài ..................................... 87

4.1.4.
4.2.

Thực nghiệm .............................................................................................. 88

4.2.1.

Phương pháp....................................................................................... 88

4.2.1.1.

Neighborhood-based collaborative filtering ............................... 88

4.2.1.2.

User-user collaborative filtering ................................................. 90

4.2.1.3.


Item-item collaborative filtering ................................................. 96

4.2.2.
4.3.

Root Mean Squared Error (RMSE) .................................................... 88

Đánh giá ............................................................................................. 99

Áp dụng các thuật toán recommendation vào ứng dụng ......................... 100

Chương 5.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................... 102

5.1.

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

5.2.

Hướng phát triển ...................................................................................... 103


DANH MỤC HÌNH
Hình 2.1: Logo React Native ...................................................................................... 6
Hình 2.2: Logo Redux ................................................................................................ 7
Hình 2.3: Logo Redux-Saga ....................................................................................... 8
Hình 2.4: Logo Firebase ............................................................................................. 9

Hình 2.5: Logo PostgreSQL ....................................................................................... 9
Hình 2.6: Logo Spring Boot ..................................................................................... 11
Hình 3.1: Sơ đồ use case tổng quát .......................................................................... 19
Hình 3.2: Use case đăng ký tài khoản ...................................................................... 20
Hình 3.3: Use case đăng nhập .................................................................................. 22
Hình 3.4: Use case quên mật khẩu ........................................................................... 24
Hình 3.5: Use case cập nhật thông tin tài khoản cá nhân ......................................... 27
Hình 3.6: Use case quản lý thành viên trong gia đình .............................................. 29
Hình 3.7: Use case quản lý album gia đình .............................................................. 31
Hình 3.8: Use case quản lý cơng việc nhà ................................................................ 33
Hình 3.9: Use case quản lý sự kiện trong gia đình ................................................... 34
Hình 3.10: Use case quản lý thu chi hằng tháng ...................................................... 36
Hình 3.11: Use case định vị các thành viên ............................................................. 38
Hình 3.12: Use case hỗ trợ tương tác ....................................................................... 40
Hình 3.13: Use case quản lý các bài viết ẩm thực .................................................... 42
Hình 3.14: Sơ đồ dữ liệu .......................................................................................... 44
Hình 3.15: Sơ đồ kiến trúc hệ thống......................................................................... 57
Hình 3.16: Giao diện đăng nhập ............................................................................... 59
Hình 3.17: Giao diện đăng ký tài khoản ................................................................... 61
Hình 3.18: Giao diện xác thực tài khoản .................................................................. 62
Hình 3.19: Giao diện đặt lại mật khẩu mới .............................................................. 63
Hình 3.20: Giao diện quản lý thơng tin tài khoản các nhân ..................................... 64
Hình 3.21: Giao diện quản lý danh sách gia đình và thành viên .............................. 65
Hình 3.22: Giao diện quản lý album gia đình .......................................................... 66


Hình 3.23: Giao diện cập nhật danh sách cơng việc nhà .......................................... 67
Hình 3.24: Giao diện tạo cơng việc mới................................................................... 68
Hình 3.25: Giao diện cập nhật danh sách sự kiện trong gia đình ............................. 69
Hình 3.26: Giao diện tạo sự kiện mới ...................................................................... 70

Hình 3.27: Giao diện hiển thị danh sách các mục thu chi hằng tháng ..................... 72
Hình 3.28: Giao diện tạo mục thu hoặc chi mới....................................................... 73
Hình 3.29: Giao diện hiển thị danh sách loại hình thu hoặc chi ............................... 74
Hình 3.30: Giao diện tạo loại hình thu hoặc chi mới ............................................... 75
Hình 3.31: Giao diện chat......................................................................................... 76
Hình 3.32: Giao diện gọi video call ......................................................................... 77
Hình 3.33: Giao diện định vị .................................................................................... 78
Hình 3.34: Giao diện hiển thị các bài viết ẩm thực .................................................. 79
Hình 3.35: Giao diện tạo bài viết ẩm thực mới ........................................................ 80
Hình 4.1: Ví dụ về Utility matrix [3]........................................................................ 81
Hình 4.2: Cơng thức tính cosine similarity trên góc θ ............................................. 83
Hình 4.3: Độ tương quan giữa hai vector ................................................................. 83
Hình 4.4: Mơ tả thuật tốn Reddit’s hot ranking [5] ................................................ 84
Hình 4.5: Minh họa về xếp hạng các bài viết có cùng số lượt upvote và downvote
nhưng được đăng tải ở các mốc thời gian khác nhau [5] ......................................... 85
Hình 4.6: Hàm logarithm.......................................................................................... 85
Hình 4.7: Cách tính điểm cho bài viết dựa trên số lượt up và downvote [5] ........... 86
Hình 4.8: Ảnh hưởng của số lượt downvote đến xếp hạng của bài viết [5] ............. 87
Hình 4.9: Tính hiệu số giữa thời gian đăng bài và một mốc thời gian cố định trong
quá khứ [5] ............................................................................................................... 87
Hình 4.10: Cơng thức tính RMSE [4] ...................................................................... 88
Hình 4.11: Phân loại các phương pháp khuyến nghị lọc cộng tác. [7] ..................... 89
Hình 4.12: Ví dụ về user-item utility matrix. [3] ..................................................... 90
Hình 4.13: Ma trận utility ban đầu và trung bình cộng của các đánh giá đã biết theo
từng cột. [3] .............................................................................................................. 92


Hình 4.14: Kết quả sau khi đã được chuẩn hóa của utility matrix. [3] .................... 93
Hình 4.15: Cơng thức chi tiết tính hằng số cosine của góc hợp thành bởi hai vector
A và B với 𝐴𝑖, 𝐵𝑖 là các chiều của hai vector A và B tương ứng ............................. 94

Hình 4.16: Ví dụ về ma trận similarity thu được sau khi tính độ tương đồng của
từng cặp user khác nhau từng đơi một. [3] ............................................................... 94
Hình 4.17: Cơng thức để dự đoán rating của user u lên user i. [8] ........................... 95
Hình 4.18: Ví dụ áp dụng cơng thức dự đốn kết quả. ............................................. 95
Hình 4.19: Kết quả sau khi dự đốn các ratings cịn thiếu. [3] ................................ 96
Hình 4.20: Ví dụ về ma trận utility và trung bình cộng các ratings đã biết theo từng
item (các hàng của ma trận). [3] ............................................................................... 97
Hình 4.21: Ví dụ về nomalized utility matrix. [3] .................................................... 97
Hình 4.22: Ví dụ về ma trận similarity của các cặp items. [3] ................................. 98
Hình 4.23: Cơng thức để dự đoán rating của user u lên user i. ................................ 98
Hình 4.24: Kết quả thu được sau khi thực hiện dự đốn các ratings cịn thiếu. [3] . 99
Hình 4.25: Gợi ý bài viết ẩm thực trong ứng dụng ................................................ 101


DANH MỤC BẢNG
Bảng 3.1: Yêu cầu nghiệp vụ ................................................................................... 16
Bảng 3.2: Yêu cầu chức năng ................................................................................... 18
Bảng 3.3: Đặc tả use case đăng ký tài khoản ........................................................... 21
Bảng 3.4: Đặc tả use case đăng nhập ....................................................................... 23
Bảng 3.5: Đặc tả use case quên mật khẩu ................................................................ 26
Bảng 3.6: Đặc tả use case cập nhật thông tin cá nhân .............................................. 28
Bảng 3.7: Đặc tả use case quản lý thành viên trong gia đình ................................... 30
Bảng 3.8: Đặc tả use case quản lý album gia đình ................................................... 32
Bảng 3.9: Đặc tả use case quản lý công việc nhà ..................................................... 34
Bảng 3.10: Đặc tả use case quản lý sự kiện trong gia đình ...................................... 35
Bảng 3.11: Đặc tả use case quản lý thu chi hằng tháng ........................................... 37
Bảng 3.12: Đặc tả use case định vị các thành viên................................................... 39
Bảng 3.13: Đặc tả use case hỗ trợ tương tác ............................................................ 41
Bảng 3.14: Đặc tả use case quản lý các bài viết ẩm thực ......................................... 43
Bảng 3.15: Users ...................................................................................................... 45

Bảng 3.16: Families .................................................................................................. 46
Bảng 3.17: Albums ................................................................................................... 46
Bảng 3.18: Photos..................................................................................................... 47
Bảng 3.19: PhotosInAlbums..................................................................................... 47
Bảng 3.20: UserFirebaseToken ................................................................................ 48
Bảng 3.21: Chores .................................................................................................... 48
Bảng 3.22: ChoreAlbums ......................................................................................... 49
Bảng 3.23: PhotosInChoreAlbums ........................................................................... 49
Bảng 3.24: Events..................................................................................................... 50
Bảng 3.25: GroupEvents .......................................................................................... 50
Bảng 3.26: EventAlbums ......................................................................................... 51
Bảng 3.27: PhotosInEvents ...................................................................................... 51
Bảng 3.28: UsersInCallRooms ................................................................................. 52


Bảng 3.29: Notifications........................................................................................... 52
Bảng 3.30: Transactions ........................................................................................... 53
Bảng 3.31: TransactionPhotos .................................................................................. 54
Bảng 3.32: PhotosInTransactions ............................................................................. 54
Bảng 3.33: TransactionCategories ........................................................................... 55
Bảng 3.34: TransactionGroup .................................................................................. 55
Bảng 3.35: CuisinePosts ........................................................................................... 56
Bảng 3.36: CuisinePostPool ..................................................................................... 56
Bảng 3.37: UserReactCuisinePost ............................................................................ 57
Bảng 3.38: Bảng mô tả giao diện đăng nhập ............................................................ 60
Bảng 3.39: Bảng mô tả giao diện đăng ký tài khoản ................................................ 61
Bảng 3.40: Bảng mô tả giao diện xác thực tài khoản ............................................... 62
Bảng 3.41: Bảng mô tả giao diện đặt lại mật khẩu mới ........................................... 63
Bảng 3.42: Bảng mô tả giao diện quản lý thông tin tài khoản các nhân .................. 64
Bảng 3.43: Bảng mô tả giao diện quản lý danh sách gia đình và thành viên ........... 65

Bảng 3.44: Bảng mơ tả giao diện quản lý album gia đình ....................................... 66
Bảng 3.45: Bảng mô tả giao diện cập nhật danh sách công việc nhà ....................... 67
Bảng 3.46: Bảng mô tả giao diện tạo công việc mới................................................ 69
Bảng 3.47: Bảng mô tả giao diện cập nhật danh sách sự kiện trong gia đình .......... 69
Bảng 3.48: Bảng mô tả giao diện tạo sự kiện mới ................................................... 71
Bảng 3.49: Bảng mô tả giao diện hiển thị danh sách các mục thu chi hằng tháng .. 72
Bảng 3.50: Bảng mô tả giao diện tạo mục thu hoặc chi mới.................................... 74
Bảng 3.51: Bảng mô tả giao diện tạo loại hình thu hoặc chi mới ............................ 76
Bảng 3.52: Bảng mô tả giao diện chat...................................................................... 77
Bảng 3.53: Mô tả giao diện gọi video call ............................................................... 77
Bảng 3.54: Mô tả giao diện định vị .......................................................................... 78
Bảng 3.55: Mô tả giao diện hiển thị các bài viết ẩm thực ........................................ 79
Bảng 3.56: Mô tả giao diện tạo bài viết ẩm thực mới .............................................. 81
Bảng 4.1: Thống kê RMSE trên 5 bộ split U1 đến U5............................................. 99


DANH MỤC TỪ VIẾT TẮT
Từ viết tắt

Từ đầy đủ

Giải thích

CSDL

Cơ sở dữ liệu

Cơ sở dữ liệu cho ứng dụng

API


Application Programming

Phương thức trung gian kết nối các

Interface

ứng dụng và thư viện khác nhau

User Interface/User

Giao diện người dùng/ Trải nghiệm

Experience

người dùng

Extensible Markup

Ngôn ngữ đánh dấu mở rộng

UI/UX

XML

Language
MVC

Model View Controller


Một dạng design pattern dựa trên 3
thành phần chính: Model, View,
Controller

OCR

Optical Character

Nhận diện ký tự quang học

Recognition
NBCF

Neighborhood-Based

Phương pháp lọc cộng tác

Collaborative Filtering
RMSE

Root-Mean-Square-Error

Sai số toàn phương trung bình

NLP

Natural Language

Xử lý ngơn ngữ tự nhiên


Processing
KNN

K-Nearest Neibors

Giải thuật giúp tìm ra label cho K
điểm gần nhất trong dataset

CFRS

Collaborative Filtering
Recommendation System

Hệ thống khuyến nghị lọc cộng tác


×