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

KHÓA LUẬN tốt NGHIỆP xây DỰNG ỨNG DỤNG hỗ TRỢ kết nối và hỗ TRỢ TRONG học tập

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 (4.7 MB, 120 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Ê QUỐC THẮNG
ĐẶNG THÀNH QUYÊN

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

XÂY DỰNG ỨNG DỤNG HỖ TRỢ KẾT NỐI VÀ HỖ TRỢ
TRONG HỌC TẬP
Building an application for connecting and supporting in learning

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Ê QUỐC THẮNG – 17520156
ĐẶNG THÀNH QUYÊN – 17520963

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

XÂY DỰNG ỨNG DỤNG HỖ TRỢ KẾT NỐI VÀ HỖ TRỢ
TRONG HỌC TẬP


Building an application for connecting and supporting in learning

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

GIẢNG VIÊN HƯỚNG DẪN
ThS. LÊ THANH TRỌNG

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.


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

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày…..tháng…..năm……..

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 HỖ TRỢ CHIA SẺ VÀ KẾT NỐI TRONG HỌC TẬP
Nhóm SV thực hiện:

Cán bộ hướng dẫn/phản biện:

Lê Quốc Thắng

17520156

Đặng Thành Quyên

17520963

Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang

__________

Số chương

___________

Số bảng số liệu

__________

Số hình vẽ


___________

Số tài liệu tham khảo

__________

Sản phẩm

___________

Một số nhận xét về hình thức cuốn báo cáo:
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
2. Về nội dung nghiên cứu:
…………………………………………………………………………………………..
…………………………………………………………………………………………..

4


…………………………………………………………………………………………..
…………………………………………………………………………………………..
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:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ sư/ cử
nhân, xếp loại Giỏi/ Khá/ Trung bình

Điểm từng sinh viên:
Lê Quốc Thắng :………../10
Đặng Thành Quyên:………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)

5


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

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày…..tháng…..năm……..

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 HỖ TRỢ CHIA SẺ VÀ KẾT NỐI TRONG HỌC TẬP

Nhóm SV thực hiện:

Cán bộ hướng dẫn/phản biện:

Lê Quốc Thắng

17520156

Đặng Thành Quyên

17520963

Đánh giá Khóa luận
5. Về cuốn báo cáo:
Số trang

__________

Số chương

___________

Số bảng số liệu

__________

Số hình vẽ

___________


Số tài liệu tham khảo

__________

Sản phẩm

___________

Một số nhận xét về hình thức cuốn báo cáo:
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
6. Về nội dung nghiên cứu:
…………………………………………………………………………………………..
…………………………………………………………………………………………..

6


…………………………………………………………………………………………..
…………………………………………………………………………………………..
7. Về chương trình ứng dụng:
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..
8. Về thái độ làm việc của sinh viên:
…………………………………………………………………………………………..
…………………………………………………………………………………………..
…………………………………………………………………………………………..

…………………………………………………………………………………………..
Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ sư/ cử
nhân, xếp loại Giỏi/ Khá/ Trung bình

Điểm từng sinh viên:
Lê Quốc Thắng :………../10
Đặng Thành Quyên:………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)

7


LỜI CẢM ƠN
Khóa luận tốt nghiệp với đề tài “Xây dựng ứng dụng hỗ trợ kết nối và hỗ trợ
trong học tập” là chứng minh cho q trình khơng ngừng học tập và rèn luyện suốt
4 năm của chúng em tại trường Đại học Cơng nghệ Thơng tin. Khóa luận này thể
hiện khả năng của nhóm trong việc áp dụng kiến thức chun mơn vào giải quyết
bài tốn thực tế của đời sống.
Trong q trình thực hiện khóa luận, chúng em đã nhận được sự hướng dẫn
tận tình từ quý thầy cơ, sự gúp đỡ nhiệt tình của bạn bè và gia đình. Theo một cách
đặc biệt nhất, chúng em xin được chận thành gửi lời cảm ơn đến:
Các thầy cơ trường Đại học Cơng nghệ Thơng tin nói chung, khoa Cơng
nghệ Phần mềm nói riêng đã tận tình truyền đạt kiến thức cho chúng em trong thời
gian học tập tại đây. Đây là tài sản quý báu giúp nhóm hồn thành khóa luận cũng
như hành trang khơng thể thiếu cho con đường sự nghiệp sau này.
Bên cạnh đó, chúng em xin được gửi lời cảm ơn sâu sắc đến ThS. Lê Thanh
Trọng, người đã trực tiếp hướng dẫn, chỉ bảo chúng em những lúc khó khăn, đưa ra
những lời khun bổ ích để khóa luận tốt nghiệp hồn thành đúng tiến độ và đáp
ứng những yêu cầu đề ra ban đầu.

Cảm ơn giảng viên phản biện và các thầy cô trong hội đồng chấm luận văn
với những lời khuyên, góp ý q báu và bổ ích. Từ đó luận văn của chúng em trở
nên hoàn thiện hơn.
Cuối cùng, chúng em xin gửi lời cảm ơn tới gia đình, anh chị, bạn bè đã luôn
bên cạnh để động viên và đóng góp ý kiến trong q trình hồn thành khóa luận
này.
Thành phố Hồ Chí Minh, tháng 06 năm 2021
Sinh viên 1
Lê Quốc Thắng

8

Sinh viên 2
Đặng Thành Quyên


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

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG HỖ TRỢ KẾT NỐI VÀ HỖ TRỢ
TRONG HỌC TẬP

Cán bộ hướng dẫn: ThS. Lê Thanh Trọng
Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 26/6/2021
Sinh viên thực hiện:
Lê Quốc Thắng – 17520156
Đặng Thành Quyên – 17520963
Nội dung đề tài:
Mục tiêu:
-

Xây dựng ứng dụng kết nối cộng đồng những người muốn chia sẻ kiến thức và
người cần trợ giúp, giải đáp thắc mắc trong học tập. Từ đó có thể lan tỏa kiến thức
trong cộng đồng.

-

Tìm hiểu và áp dụng những cơng nghệ mới vào ứng dụng nhằm nâng cao kĩ năng
xây dựng và phát triển phần mềm.

Phạm vi:
Đề tài tập trung vào xây dựng được ứng dụng di động trên nền tảng Android với các
chức năng chính:

9


-

Hỗ trợ người học có thể kết nối với nhau thơng qua các tính năng theo dõi, nhắn
tin, gọi thoại… cùng với hệ thống tìm kiếm, gợi ý người học theo lĩnh vực, trình
độ, địa điểm, … phù hợp.


-

Giúp người học có khơng gian để hỏi đáp, học tập với nhau bằng các tính năng
đăng bài, trả lời bài đăng, đánh giá, báo cáo bài đăng... cùng với hệ thống tìm
kiếm, gợi ý bài đăng theo lĩnh vực, điểm đánh giá… phù hợp.

-

Ứng dụng có hệ thống điểm đánh giá theo lĩnh vực cho người dùng cũng như
bảng xếp hạng dựa theo mức độ hoạt động của người dùng đó.

-

Ứng dụng có khả năng thơng báo thời gian thực khi có các tương tác với bài đăng
quan tâm, gợi ý bài đăng phù hợp, báo cáo sai phạm…

Đối tượng sử dụng:
Đối tượng sử dụng là người sử dụng thiết bị di động có hệ điều hành Android có nhu
cầu:
-

Muốn tìm lời giải đáp cho thắc mắc của cá nhân về một lĩnh vực nào đó trong học
tập cũng như cơng việc.

-

Người có kiến thức muốn chia sẻ kinh nghiệm của mình về một đề tài nào đó.

-


Người có nhu cầu lan tỏa kiến thức bằng các câu trả lời thông qua câu hỏi của
người khác.

-

Người có nhu cầu tìm bạn bè cùng chung đam mê để học tập và chia sẻ kiến thức.

Phương pháp thực hiện:
-

Khảo sát nhu cầu kết nối giúp đỡ nhau trong học tập của các bạn sinh viên lân cận
và tìm hiểu, đánh giá ưu, khuyết điểm của các ứng dụng đã có.

-

Tiếp thu ưu điểm, cải thiện các khuyết điểm của ứng dụng này.

-

Áp dụng mơ hình thác nước vào phân tích, xây dựng ứng dụng.

-

Kiểm thử sơ bộ trước khi xuất bản ứng dụng.

Kết quả mong đợi:

10



-

Hoàn thành được ứng dụng chạy trên nền tảng Android với đầy đủ các tính năng
được nêu ra theo kế hoạch.

-

Ứng dụng tạo ra có độ hồn thiện chấp nhận được, có thể cải tiến để đưa vào thực
tiễn.

-

Hiểu và nắm rõ các công nghệ sử dụng trong việc xây dựng ứng dụng (.NET
Core, React Native, MongoDB Atlas, FCMs, …)

Kế hoạch thực hiện:
Khóa luận thực hiện trong thời gian 16 tuần theo kế hoạch đề ra bên dưới:

Giai đoạn

Công việc thực hiện

-

Khảo sát, phân tích các chức năng
của hệ thống.

01/03/2021 – 20/03/2021


-

Sơ đồ use-case, Sơ đồ lớp.

Phân tích yêu cầu, nghiên cứu các kĩ

-

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

thuật sử dụng.

-

Lựa chọn, tìm hiểu cơng nghệ cần sử
dụng (.NET Core, React Native,
MongoDb Atlas, FCMs, …)

-

Chỉnh sửa các đặc tả.

21/03/2021 – 05/04/2021

-

Thiết kế giao diện.

Thiết kế, xây dựng cơ bản hệ thống.


-

Viết mã nguồn thuần cho giao diện.

-

Viết khung ứng dụng phía server.

11


06/04/2021 – 01/06/2021
Hiện thực các chức năng và kết nối hệ
thống.

-

Xây dựng giao diện.

-

Xây dựng server.

-

Hiện thực các chức năng và kết nối
hệ thống.

-


02/06/2021 – 15/06/2021

Xây dựng ứng dụng quản lý nội
dung.

Xây dựng giao diện quản lý nội dung,
kiểm thử đơn vị, triển khai và đóng gói.

16/06/2021 – 26/06/2021

-

Kiểm thử đơn vị

-

Triển khai và đóng gói ứng dụng.

-

Kiểm thử các chức năng, chỉnh sửa,
hoàn thiện các chức năng.

Tiếp tục hoàn thiện và hoàn tất báo cáo.

-

Viết báo cáo.

Xác nhận của CBHD


TP. HCM, ngày….tháng …..năm…..

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

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

12


MỤC LỤC
Chương 1. TỔNG QUAN ĐỀ TÀI ............................................................................................. 24
1.1. Giới thiệu đề tài ............................................................................................................... 24
1.2. Lý do chọn đề tài ............................................................................................................. 25
1.3. Hiện trạng bài toán ......................................................................................................... 26
1.3.1.

Các ứng dụng liên quan .................................................................................... 28

1.3.1.1. Ứng dụng “Hỏi bài 24h”.............................................................................. 28
1.3.1.2. Trang “Hoidap247” ....................................................................................... 29
1.3.1.3. Các hội nhóm trên mạng xã hội ................................................................ 30
1.3.2.

Đánh giá hiện trạng và hướng giải quyết ................................................... 30

1.3.2.1. Đánh giá hiện trạng ....................................................................................... 30
1.3.2.2. Hướng giải quyết ............................................................................................ 32
1.4. Mục tiêu.............................................................................................................................. 32

1.5. Phạm vi đề tài ................................................................................................................... 33
1.6. Phương pháp thực hiện ................................................................................................. 33
1.7. Ý nghĩa thực tiễn ............................................................................................................. 34
1.8. Kết quả dự kiến ................................................................................................................ 34
Chương 2. PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG ................................ 34
2.1. Phân tích yêu cầu hệ thống .......................................................................................... 34
2.1.1.

Phân tích yêu cầu chức năng .......................................................................... 34

2.1.1.1. Yêu cầu lưu trữ ............................................................................................... 34
2.1.1.2. Yêu cầu tính năng .......................................................................................... 35
2.1.2.

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

2.1.3.

Phân tích yêu cầu người dùng ........................................................................ 36

13


2.1.3.1. Mơ hình use case tồn hệ thống ................................................................ 38
2.1.3.2. Danh sách các Actors và use case tương ứng ...................................... 39
2.1.3.3. Đặc tả một số use case ................................................................................. 41
2.2. Phân tích thiết kế hệ thống........................................................................................... 58
2.2.1.

Thiết kế xử lý ....................................................................................................... 58


2.2.1.1. Lược đồ xử lí thao tác đăng kí ................................................................... 59
2.2.1.2. Lược đồ xử lí thao tác đăng bài................................................................. 60
2.2.1.3. Lược đồ xử lí thao tác trả lời (bình luận)............................................... 62
2.2.1.4. Lược đồ xử lí thao tác đánh giá bài đăng .............................................. 63
2.2.1.5. Lược đồ xử lí thao tác báo cáo vi phạm ................................................. 64
2.2.1.6. Lược đồ xử lí thao tác nhắn tin ................................................................. 65
2.2.2.

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

2.2.2.1. Lược đồ cơ sở dữ liệu ................................................................................... 66
2.2.2.2. Mô tả các bảng dữ liệu ................................................................................. 69
2.2.3.

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

2.2.3.1. Kiến trúc tổng thể hệ thống ........................................................................ 83
2.2.3.2. Kiến trúc ứng dụng đi động ........................................................................ 84
2.2.4.

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

2.2.4.1. Danh sách màn hình ...................................................................................... 84
2.2.4.2. Màn hình một số giao diện ......................................................................... 88
2.3. Kiến thức nền tảng và công nghệ sử dụng ......................................................... 98
2.3.1.

Kiến thức nền tảng ........................................................................................... 98


2.3.1.1. Json Web Token ............................................................................................ 98
2.3.2.

Công nghệ sử dụng ........................................................................................... 99

14


2.3.2.1. .NET Core ......................................................................................................... 99
2.3.2.2. Application Programming Interface (API) .................................... 100
2.3.2.3. React Native ................................................................................................. 101
2.3.2.4. Mongo DB ..................................................................................................... 106
2.3.2.5. Firebase Cloud Messaging ..................................................................... 108
2.3.2.6. Azure App Service ..................................................................................... 109
2.3.2.7. SMTP ............................................................................................................... 110
2.3.2.8. ConnectyCube Calling API ..................................................................... 110
2.4. Triển khai hệ thống...................................................................................................... 111
2.4.1.

Máy chủ .............................................................................................................. 111

2.4.2.

Trang dành cho quản trị viên ....................................................................... 115

2.4.3.

Ứng dụng di động ............................................................................................ 115

Chương 3. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................................ 116

3.1. Kết quả đạt được .......................................................................................................... 116
3.2. Thuận lợi và khó khăn ................................................................................................ 117
3.2.1.

Thuận lợi............................................................................................................. 117

3.2.2.

Khó khăn ............................................................................................................ 117

3.3. Hướng phát triển........................................................................................................... 117
TÀI LIỆU THAM KHẢO .............................................................................................................. 119

15


DANH MỤC HÌNH ẢNH
Ảnh 1.1 Một buổi chia sẻ kiến thức ở trường đại học .................................................. 24
Ảnh 1.2 Chia sẻ trong doanh nghiệp .................................................................................... 24
Ảnh 1.3: Ban học tập Công nghệ Phần Mềm ....................................................................... 27
Ảnh 1.4: Giải pháp được chọn của các bạn sinh viên khi giải đáp thắc mắc ............ 27
Ảnh 1.5: Phương tiện mà các bạn chọn sử dụng ................................................................. 28
Ảnh 1.6: Logo Hỏi bài 24h ........................................................................................................ 28
Ảnh 1.7: Logo Hoidap247 ......................................................................................................... 29
Ảnh 1.8: Ban học tập Công nghệ phần mềm ....................................................................... 30
Ảnh 1.9: Kết quả khảo sát chức năng ...................................................................................... 31
Ảnh 1.10: 100% Các bạn sinh viên đồng ý sự cần thiết của ứng dụng này ............... 32
Ảnh 2.1: Sơ đồ phân rã chức năng ........................................................................................... 37
Ảnh 2.2: Sơ đồ use case tổng quát............................................................................................ 38
Ảnh 2.3: Sơ đồ ues case tổng quát (Admin) ......................................................................... 39

Ảnh 2.4: Use case đăng kí ........................................................................................................... 41
Ảnh 2.5: Use case quản lý hướng dẫn ..................................................................................... 51
Ảnh 2.6: Use case quản lý liên lạc ........................................................................................... 53
Ảnh 2.7: Use case quản lý newsfeed ....................................................................................... 54
Ảnh 2.8: Use case quản lý xếp hạng ........................................................................................ 55
Ảnh 2.9: Lược đồ tuần tự cho thao tác đăng kí .................................................................... 59
Ảnh 2.10: Lược đồ tuần tự cho thao tác đăng bài ............................................................... 60
Ảnh 2.11: Lược đồ tuần tự cho thao tác trả lời .................................................................... 62
Ảnh 2.12: Lược đồ tuần tự cho thao tác đánh giá bài đăng ............................................. 63
Ảnh 2.13: Lược đồ tuần tự cho thao tác báo cáo vi phạm................................................ 64
Ảnh 2.14: Lược đồ tuần tự cho thao tác nhắn tin ................................................................ 65
Ảnh 2.15: Lược đồ Cơ sở dữ liệu ............................................................................................. 67
Ảnh 2.16: Sơ đồ hệ thống ............................................................................................................ 83
Ảnh 2.17: Màn hình “Đăng kí” – 1 .......................................................................................... 88

16


Ảnh 2.18: Màn hình “Đăng kí “- 2 ........................................................................................... 88
Ảnh 2.19: Màn hình “Đăng nhập” ............................................................................................ 89
Ảnh 2.20: Màn hình “Bảng tin” ................................................................................................ 89
Ảnh 2.21: Màn hình bài viết đã lưu ......................................................................................... 89
Ảnh 2.22: Màn hình chi tiết bài viết ........................................................................................ 89
Ảnh 2.23: Màn hình “Bình luận “ ............................................................................................. 90
Ảnh 2.24: Màn hình “Báo cáo bài viết” ................................................................................. 90
Ảnh 2.25: Màn hình “Tạo bài đăng” ....................................................................................... 90
Ảnh 2.26: Màn hình “Thơng tin cá nhân” ............................................................................. 90
Ảnh 2.27: Màn hình “Chỉnh sửa thơng tin “ ........................................................................ 91
Ảnh 2.28:Màn hình “Danh sách lĩnh vực cá nhân“ ........................................................... 91
Ảnh 2.29: Màn hình “Đang theo dõi” ..................................................................................... 91

Ảnh 2.30: Màn hình “Người theo dõi” ................................................................................... 91
Ảnh 2.31: Màn hình “Nhắn tin “ ............................................................................................... 92
Ảnh 2.32: Màn hình “Gọi video “ ............................................................................................ 92
Ảnh 2.33: Màn hình “Thơng báo” ............................................................................................ 92
Ảnh 2.34: Màn hình “Tìm kiếm bài viết” – 1....................................................................... 92
Ảnh 2.35: Màn hình “Tìm kiếm bài viết” - 2 ....................................................................... 93
Ảnh 2.36: Màn hình “Tìm kiếm người dùng” ...................................................................... 93
Ảnh 2.37: Màn hình “Xếp hạng “ ............................................................................................. 93
Ảnh 2.38: Màn hình "Tìm quanh đây " .................................................................................. 93
Ảnh 2.39: Màn hình "Admin - Chi tiết nhóm lĩnh vực" ................................................... 94
Ảnh 2.40: Màn hình "Admin - Chi tiết tài khoản" .............................................................. 94
Ảnh 2.41: Màn hình "Admin - Danh mục cấp độ" ............................................................. 95
Ảnh 2.42: Màn hình "Admin - Danh mục lĩnh vực" .......................................................... 95
Ảnh 2.43: Màn hình "Admin - Danh sách bài viết" ........................................................... 96
Ảnh 2.44: Màn hình "Danh sách báo cáo" ............................................................................ 96
Ảnh 2.45: Màn hình "Admin - Danh sách người dùng" ................................................... 97
Ảnh 2.46: Màn hình "Admin - Danh sách nhóm lĩnh vực" ............................................. 97

17


Ảnh 2.47: Kết cấu của Json Web Token ................................................................................ 98
Ảnh 2.48: Logo .NET Core......................................................................................................... 99
Ảnh 2.49: Cấu trúc của ứng dụng React Native ............................................................... 101
Ảnh 2.50: React Redux ............................................................................................................. 103
Ảnh 2.51: Nguyên lý hoạt động của Redux ....................................................................... 104
Ảnh 2.52: React Native tương thích cả Android và iOS ............................................... 105
Ảnh 2.53: React Native được chọn nhiều bởi các tập đoàn công nghệ .................... 105
Ảnh 2.54: Logo Mongo DB ..................................................................................................... 106
Ảnh 2.55: Kiến trúc FCM ......................................................................................................... 109

Ảnh 2.56: Logo Azure App Service ..................................................................................... 109
Ảnh 2.57: Hoạt động của giao thức SMTP ........................................................................ 110
Ảnh 2.58: Thư viện ConnectyCube ...................................................................................... 111
Ảnh 2.59: Kết quả build mã nguồn máy chủ ..................................................................... 112
Ảnh 2.60: Giao diện tạo website của IIS Manager .......................................................... 113
Ảnh 2.61: URL cung cấp bởi IIS Manager ........................................................................ 114
Ảnh 2.62: Việc thực hiện truy vết có thể ảnh hưởng khả năng tìm ra và khắc phục
lỗi ........................................................................................................................................................ 114

18


DANH MỤC BẢNG
Bảng 2.1: Danh sách các actors và use case tương ứng .................................................... 40
Bảng 2.2: Đặc tả use case đăng kí ............................................................................................ 41
Bảng 2.3: Đặc tả use case đăng nhập ...................................................................................... 43
Bảng 2.4: Đặc tả use case cập nhật thông tin tài khoản người dùng ............................ 43
Bảng 2.5: Đặc tả use case quản lý thông báo ....................................................................... 44
Bảng 2.6: Đặc tả use case quản lý theo dõi ........................................................................... 45
Bảng 2.7: Đặc tả use case đăng bài .......................................................................................... 46
Bảng 2.8: Đặc tả use case sửa bài đăng .................................................................................. 47
Bảng 2.9: Đặc tả use case tìm kiếm, lọc bài đăng ............................................................... 48
Bảng 2.10: Đặc tả use case đánh giá bài đăng...................................................................... 49
Bảng 2.11: Đặc tả use case quản lý danh sách bài đăng ................................................... 49
Bảng 2.12: Đặc tả use case báo cáo bài đăng ....................................................................... 50
Bảng 2.13: Đặc tả use case trả lời (bình luận) ...................................................................... 52
Bảng 2.14: Đặc tả use case sửa trả lời ..................................................................................... 52
Bảng 2.15: Đặc tả use case báo cáo trả lời vi phạm ........................................................... 53
Bảng 2.16: Đặc tả use case quản lý liên lạc .......................................................................... 54
Bảng 2.17: Đặc tả use case quản lý bài đăng ........................................................................ 55

Bảng 2.18: Đặc tả use case quản lý xếp hạng....................................................................... 56
Bảng 2.19: Đặc tả use case quản lý người dùng .................................................................. 56
Bảng 2.20: Đặc tả use case quản lý bài đăng ........................................................................ 57
Bảng 2.21: Đặc tả use case quản lý lĩnh vực ........................................................................ 58
Bảng 2.22: Danh sách thuộc tính bảng account................................................................... 70
Bảng 2.23: Danh sách thuộc tính bảng client_group ......................................................... 70
Bảng 2.24: Danh sách thuộc tính bảng comment ................................................................ 71
Bảng 2.25: Danh sách thuộc tính bảng conversation ......................................................... 71
Bảng 2.26: Danh sách thuộc tính bảng “downvote” .......................................................... 72
Bảng 2.27: Danh sách thuộc tính bảng external_login ...................................................... 72

19


Bảng 2.28: Danh sách thuộc tính bảng fcm_info ................................................................ 73
Bảng 2.29: Danh sách thuộc tính bảng field ......................................................................... 73
Bảng 2.30: Danh sách thuộc tính bảng follow ..................................................................... 74
Bảng 2.31: Danh sách thuộc tính bảng level......................................................................... 74
Bảng 2.32: Danh sách thuộc tính bảng message_image ................................................... 75
Bảng 2.33: Danh sách thuộc tính bảng message_text........................................................ 76
Bảng 2.34: Danh sách thc tính bảng notification_detail .............................................. 77
Bảng 2.35: Danh sách thuộc tính bảng notification_object ............................................. 78
Bảng 2.36: Danh sách thuộc tính bảng object_level .......................................................... 78
Bảng 2.37: Danh sách thuộc tính bảng post .......................................................................... 79
Bảng 2.38: Danh sách thuộc tính bảng reply_comment ................................................... 80
Bảng 2.39: Danh sách thuộc tính bảng report ...................................................................... 81
Bảng 2.40: Danh sách thuộc tính bảng upvote ..................................................................... 81
Bảng 2.41: Danh sách thuộc tính bảng user .......................................................................... 83
Bảng 2.42 : Danh sách màn hình .............................................................................................. 86
Bảng 2.43 : Danh sách màn hình Admin ............................................................................... 88


20


DANH MỤC TỪ VIẾT TẮT
STT

Từ viết tắt

Tên đầy đủ

Diễn giải

1

STT

Số thứ tự

Số thứ tự trong bảng

2

SQL

Structured Query
Language

Ngôn ngữ truy vấn có cấu trúc


3

RDBMS

4

VPS

5

SMTP

Relational Database
Hệ quản trị cơ sở dữ liệu có quan hệ
Management System
Virtual Private
Server

Máy chủ riêng ảo

Simple Mail
Transfer Protocol

Một giao thức truyển tải thư tín
Giao diện lập trình ứng dụng. Sử
dụng để truy cập các phương thức
trong hệ thống.

6


API

Application
Programming
Interface

7

UI

User Interface

Giao diện người dùng. Là những gì
người dùng có thể nhìn thấy.
Giao thức truyền tải siêu văn bản. là
giao thức WWW cơ bản để truyển
tải dữ liệu

8

HTTP

HyperText Transfer
Protocol

9

WWW

Word Wide Web


Mạng lưới thơng tin tồn cầu

Firebase Cloud
Messaging

Cơng nghệ gửi tin nhắn quan nền
tảng đám mây cung cấp bởi
Firebase

10

FCM

21


TÓM TẮT KHÓA LUẬN
Đề tài “Xây dựng ứng dụng hỗ trợ kết nối và hỗ trợ trong học tập” tập trung
vào khảo sát, nghiên cứu và phân tích thực trạng hiện có của những sản phẩm có
trước, cùng với sự áp dụng những công nghệ mới để xây dựng thành một ứng dụng
di động hồn chỉnh. Ứng dụng này có thể đáp ứng nhu cầu học hỏi, chia sẻ và hỗ trợ
trong học tập của mọi người.
Đề tài mở đầu bằng việc khảo sát thực trạng, tìm hiểu những vấn đề cịn tồn
động của những sản phẩm có trước cần cải thiện. Thêm vào đó là việc khảo sát sơ
bộ nhu cầu của người dùng. Từ đó, mục tiêu của đề tài cũng như các chức năng
được xác định rõ. Bên cạnh việc phân tích nghiệp vụ của hệ thống, nhiều cơng nghệ
mới cũng được nhóm lựa chọn và áp dụng theo cách mà nhóm thấy phù hợp nhất.
Vì các yêu cầu đã được phân tích rõ ràng và các tính năng ít thay đổi, chúng
em đã sử dụng mơ hình thác nước trong việc xây dựng ứng dụng. Các bản vẽ thiết

kệ hệ thống, cơ sở dữ liệu, bản vẽ giao diện, danh sách các yêu cầu người dùng, sơ
đồ tuần tự là kết quả của quá trình trên. Trong giai đoạn hiện thực các mơ-đun của
chương trình, client và server được phát triển song song với nhau, client được xây
dựng bằng thư viện React Native trong khi server sử dụng thư viện .NET Core. Hai
phần này được kết nối với nhau thông qua HTTP Request. Unit test được thực hiện
suốt quá trình phát triển. Khi vận hành, server và cơ sở dữ liệu được triển khai trên
VPS có hệ điều hành Windows Server, từ đó có thể được gọi bởi bất cứ thiết bị nào
là client của ứng dụng với điều kiện có xác thực hợp lệ.
Cuối cùng là phần trình bày những kết quả nghiên cứu cũng như quá trình
thực hiện vào báo cáo, đưa ra kết luận cũng như tầm nhìn cho hệ thống trong tương
lai.

22


Nội dung khóa luận được trình bày trong 3 chương:
-

Chương 01: Tổng quan đề tài
Giới thiệu sơ bộ về đề tài cũng như lý do thực hiện.
Xác định mục tiêu, phạm vi đề tài. Nếu lên hướng giải quyết của hiện trạng
sẵn có.

-

Chương 02: Phân tích thiết kế và xây dựng ứng dụng
Phân tích yêu cầu, thiết kế, hiện thực và triển khai ứng dụng.

-


Chương 03: Kết luận và hướng phát triển
Những thuận lợi, khăn gặp phải trong quá trình nghiên cứu và phát triển đề
tài. Phát biểu tầm nhìn và hướng phát triển của ứng dụng trong tương lai.

23


Chương 1. TỔNG QUAN ĐỀ TÀI
1.1. Giới thiệu đề tài
“Tri thức là gì?” là câu hỏi khơng phải ai cũng trả lời được, nhưng với một cách đơn
giản nhất thì trong chúng ta ai cũng biết tầm quan trọng của nó đối với cuộc sống
của mỗi người, mỗi nhà, rộng hơn là với xã hội, với đất nước, xa hơn nữa là xã hội
loài người. Tuy nhiên, tri thức là vơ tận, khơng ai có thể tiếp thu và xử lý hết lượng
kiến thức không lồ của cả hân loại đúc kết trong hàng nghìn năm, nên khái niệm
chia sẻ mới được sinh ra. Chỉ có cách chia sẻ với nhau, con người mới có thể cùng
nhau phát triển, cùng nhau chinh phục kho tàng tri thức nhân loại.
Đối với thế hệ chúng ta, tập hợp những người trẻ nắm trong tay vận mệnh của đất
nước, việc tận dụng thời gian để tiếp thu kiến thức và áp dụng nó trong việc xây
dựng đất nước sánh vai với cường quốc năm châu theo lời Bác Hồ dạy là hết sức
cần thiết. Vậy nên, xã hội cũng rất biết cách tạo điều kiện và các bạn trẻ cũng rất
biết cách tận dụng cơ hội, điển hình như hàng trăm cuộc hội thảo từ trường trung
học phổ thông, đến các seminar chia sẻ kiến thức ở bậc đại học, cho tới việc đào tạo
trong doanh nghiệp, điển hình như chương trình MOOC1 của tập đoàn FPT
Software diễn ra hằng năm, thúc đẩy việc học tập và chia sẻ trong môi trường doanh

Ảnh 1.2 Chia sẻ trong doanh
nghiệp

1


Ảnh 1.1 Một buổi chia sẻ kiến
thức ở trường đại học

MOOC - công cụ để FPT trở thành tổ chức học hỏi (chungta.vn)

24


nghiệp. Nói cách khác, đây là một xã hội thúc đẩy sự chia sẻ và học tập đúng theo
tinh thần “Học, học nữa, học mãi.”
Vĩ mô là vậy, tuy nhiên, việc tự học để có thể chia sẻ kiến thức cho người khác
cũng là một vấn đề nan giải nếu chúng ta gặp khó khăn mà khơng biết phải chia sẻ
cùng ai. Nắm bắt được vấn đề này, đề tài khóa luận “Xây dựng ứng dụng hỗ trợ kết
nối và hỗ trợ trong học tập” được lên ý tưởng và thực hiện, nhằm cung cấp một
cơng cụ có thể chia sẻ kiến thức cũng như khó khăn nhằm có thể kết nối nhiều
người cùng học tập để cùng nhau đến những mơ hình chia sẻ cao hơn (workshop,
seminar, …) đưa tri thức đất nước lên một tầm cao mới.
1.2. Lý do chọn đề tài
Việc học tập không phải lúc nào cũng dễ dàng. Có những câu hỏi khơng phải lúc
nào chúng ta cũng có thể tự mình giải đáp được. Và việc đi hỏi giáo viên không
phải lúc nào cũng khả thi, hỏi bạn bè thì có thể khơng phải lúc nào những câu hỏi
đó thuộc chun mơn của họ. Vậy nên, việc tìm một người có chun mơn để giải
đáp câu hỏi của mình thật sự khơng phải lúc nào cũng nhanh chóng và chính xác.
Hiện nay, việc các hội nhóm trên mạng xã hội như Facebook cũng đã góp một phần
nhỏ vào giải quyết vấn đề này. Tuy nhiên, ứng dụng Facebook không phải được
sinh ra để làm việc này, nên sẽ có những chức năng khơng được thiết kế riêng cho
hoạt động này (như thiếu chủ đề, thông tin lĩnh vực của bài viết, thiếu đi thông tin
chun mơn của người dùng, chưa có khả năng tương tác giữa trình độ người trả lời
và mức độ của bài viết, …)
Bên cạnh đó, việc mong muốn tìm những câu hỏi có cùng chủ đề mình quan tâm,

hay muốn nhận được thơng báo về những bài viết mình có thể trả lời, hoặc mình
chú ý tới cũng là một tính năng cần thiết với nhiều người muốn chia sẻ kiến thức
cũng như nâng cao khả năng của mình ở một lĩnh vực nhất định. Mặt khác, sẽ có
những bài viết mang tính chất khơng xác thực, gây nhiễu thơng tin cũng như cung
cấp kiến thức sai lệch nên hệ thống vẫn cần có thể lọc đi những đối tượng tiêu cực
này để giữ cho một môi trường chia sẻ kiến thức trong sạch. Vậy nên hệ thống gợi ý

25


×