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

Xây dựng ứng dụng mạng xã hội

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 (6.72 MB, 129 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ THÔNG TIN

XÂY DỰNG ỨNG DỤNG MẠNG XÃ HỘI

GVHD: ThS. NGUYỄN TRẦN THI VĂN
SVTH : VÕ MINH TRÍ
LÊ MINH SANG

SKL011170

Tp. Hồ Chí Minh, năm 2023


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM

VÕ MINH TRÍ

19110483

LÊ MINH SANG

19110486

Đề tài:



XÂY DỰNG ỨNG DỤNG MẠNG XÃ HỘI
KHÓA LUẬN TỐT NGHIỆP

GIÁO VIÊN HƯỚNG DẪN:
ThS. NGUYỄN TRẦN THI VĂN

KHÓA 2019 - 2023


ĐH SƯ PHẠM KỸ THUẬT TP. HCM

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

KHOA CNTT

Độc lập – Tự do – Hạnh Phúc

*******

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 1: Võ Minh Trí............................ MSSV 1: 19110483.................
Họ và tên Sinh viên 2: Lê Minh Sang........................... MSSV 2: 19110446.................
Ngành: Công nghệ thông tin...........................................................................................
Tên đề tài: Xây dựng ứng dụng mạng xã hội
Họ và tên Giáo viên hướng dẫn: ThS. Nguyễn Trần Thi Văn
NHẬN XÉT


1. Về nội dung đề tài & khối lượng thực hiện: :
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
.......................................................................................................................................
2. Ưu điểm:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
3. Khuyết điểm:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
5. Đánh giá loại:
6. Điểm:


Tp. Hồ Chí Minh, ngày

tháng

Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)

năm 202...


ĐH SƯ PHẠM KỸ THUẬT TP. HCM


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

KHOA CNTT

Độc lập – Tự do – Hạnh Phúc

*******

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Võ Minh Trí............................ MSSV 1: 19110483.................
Họ và tên Sinh viên 2: Lê Minh Sang........................... MSSV 2: 19110446.................
Ngành: Công nghệ thông tin...........................................................................................
Tên đề tài: Xây dựng ứng dụng mạng xã hội ………....................................................
Họ và tên Giáo viên phản biện: TS. Huỳnh Xuân Phụng..............................................
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện: :
...........................................................................................................................................
...........................................................................................................................................
........................................................................................................................................
..........................................................................................................................................
2. Ưu điểm:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
.......................................................................................................................................
3. Khuyết điểm:
...........................................................................................................................................

.........................................................................................................................................
.........................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
5. Đánh giá loại:
6. Điểm:


Tp. Hồ Chí Minh, ngày

tháng

Giáo viên phản biện
(Ký & ghi rõ họ tên)

năm 202...


Trường Đại học Sư phạm Kỹ thuật TP.HCM
Khoa Công nghệ Thông tin
ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP
Họ và Tên SV thực hiện 1: Võ Minh Trí

Mã Số SV: 19110483

Họ và Tên SV thực hiện 2: Lê Minh Sang

Mã Số SV: 19110446

Thời gian làm luận văn: Từ 14/03/2022 đến 05/07/2022.
Chuyên ngành: Công nghệ phần mềm

Tên luận văn: Xây dựng mạng xã hội nhắn tin
Giảng viên hướng dẫn: ThS. Nguyễn Trần Thi Văn
Nhiệm vụ của luận văn:
1. Lý thuyết:
Tìm hiểu về các công nghệ: ReactJS, Flutter, Node Js, MongoDB, Socket IO, JSON
WebToken.
2. Thực hành:
-

Sử dụng NodeJs và ExpressJS để xây dựng Backend, viết API cho các module
trong hệ thống.

-

Sử dụng MongoDB để lưu trữ dữ liệu người dùng của hệ thống.

-

Sử dụng JSON Web Token để xác thực và ủy quyền cho hệ thống API với Redis
quản lý các token.

-

Sử dụng thư viện React để thiết kế và xử lý giao diện web cho người dùng thao
tác cho phần web và Flutter cho phần mobile.

-

Sử dụng Socket IO cho tác vụ cần realtime là gửi tin nhắn.


Đề cương viết luận văn:
MỤC LỤC
1. Phần MỞ ĐẦU
1.1. Tính cấp thiết của đề tài
1.2. Đối tượng nghiên cứu
1.3. Phạm vi nghiên cứu
1.4. Mục tiêu của đề tài


1.5. Ý nghĩa khoa học và thực tiễn
2. Phần NỘI DUNG
1. Chương 1: CƠ SỞ LÝ THUYẾT
1.1. ReactJS
1.2. Ngôn ngữ JavaScript
1.3. NodeJS
1.4. Flutter và Dart
1.5. MongoDB
1.6. Redis
2. Chương 2: KHẢO SÁT HIỆN TRẠNG VÀ MƠ HÌNH HĨA U CẦU
2.1. Khảo sát hiện trạng
2.2. Xác định u cầu
2.3. Mơ hình hóa yêu cầu
3. Chương 3: THIẾT KẾ PHẦN MỀM
3.1. Thiết kế hệ thống
3.2. Thiết kế giao diện
4. Chương 4: CÀI ĐẶT VÀ KIỂM THỬ
4.1. Công cụ dùng trong dự án
4.2. Cài đặt ứng dụng
4.3. Kiểm thử
3. Phần KẾT LUẬN

4. Tài liệu tham khảo
KẾ HOẠCH THỰC HIỆN
ST

Thời gian

Công việc

T

chú
- Khảo sát hiện trạng.

1

Ghi

14/03/2022 –
20/03/2022

- Thiết kế usecase và mơ hình hóa u
cầu.
- Thiết kế cơ sở dữ liệu.


- Tìm hiểu về thư viện ReactJS
2

21/03/2022 –


- Tìm hiểu về NodeJS và ExpressJS

07/04/2022

- Tìm hiểu về JSON Web Token, Redis.
3

08/04/2022 –

- Tìm hiểu về MongoDB để áp dụng vào
lưu trữ dữ liệu.

17/04/2022

- Tiến hành phát triển API dựa trên các
kiến thức đã tìm hiểu được và các tài
4

18/04/2022 –
08/05/2022

liệu.
- Tiến hành xây dựng giao diện người
dùng cho hệ thống.
- Tìm hiểu Flutter và và xây dựng phiên
bản di dộng.

5

6

7

09/05/2022 –

Kết hợp các phần đã xây dựng lại với

09/06/2022

nhau (giao diện, API, cơ sở dữ liệu).

09/06/2022 –

Kiểm thử chương trình và tiến hành sửa

20/06/2022

lỗi.

21/06/2022 –
07/07/2022

Ý kiến của giảng viên hướng dẫn
(Ký và ghi rõ họ tên)

Viết và hoàn thiện báo cáo.

Ngày

tháng


năm 2023

Người viết đề cương
(Ký và ghi rõ họ tên)


LỜI CẢM ƠN
Lời cảm ơn đầu tiên nhóm thực hiện đồ án xin gửi đến giảng viên hướng dẫn là
thầy Nguyễn Trần Thi Văn – người đã tận tình chỉ dẫn, hỗ trợ và giải đáp thắc mắc của
nhóm trong suốt quá trình thực hiện đồ án
Em cũng xin chân thành cảm ơn các thầy cô giáo trong trường Đại học sư Phạm
Kỹ Thuật TP.HCM nói chung, các thầy cơ trong khoa CNTT nói riêng đã dạy dỗ cho
chúng em kiến thức về các môn đại cương cũng như các mơn chun ngành, giúp em
có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học
tập.
Với điều kiện thời gian cũng như kinh nghiệm cịn hạn chế thì đồ án này khơng
thể tránh được những thiếu sót. Do đó, nhóm em mong sẽ nhận được sự góp ý chân
thành của thầy cơ và các bạn. Những ý kiến đóng góp về đề tài sẽ được nhóm em tiếp
nhận để có thêm kinh nghiệm khi làm các đề tài nghiên cứu khác. Một lần nữa, nhóm
em xin cảm ơn thầy Nguyễn Trần Thi Văn và các bạn.
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã ln tạo điều kiện,
quan tâm, giúp đỡ, động viên chúng em trong suốt q trình học tập và hồn thành
khóa luận.
Nhóm thực hiện
Võ Minh Trí – 19110483
Lê Minh Sang - 19110446

1



MỤC LỤC
MỤC LỤC ...................................................................................................................... 2
DANH MỤC HÌNH ẢNH .............................................................................................. 5
DANH MỤC BẢNG BIỂU ............................................................................................ 7
PHẦN MỞ ĐẦU ............................................................................................................ 9
1. GIỚI THIỆU VỀ ĐỀ TÀI ................................................................................. 9
2. ĐỐI TƯỢNG NGHIÊN CỨU .......................................................................... 9
3. PHẠM VI NGHIÊN CỨU .............................................................................. 10
4. MỤC TIÊU CỦA ĐỀ TÀI .............................................................................. 10
5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN ..................................................... 11
PHẦN NỘI DUNG ....................................................................................................... 12
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT ............................................................................. 12
1.1. ReactJs ......................................................................................................... 12
1.1.1. Giới thiệu về ReactJs ......................................................................... 12
1.1.2. Lý do chọn ReactJs ............................................................................ 13
1.2. Ngôn ngữ JavaScript.................................................................................... 13
1.2.1. Sơ lược ............................................................................................... 13
1.2.2. Đặc trưng của JavaScript.................................................................. 14
1.2.3. Ưu điểm ............................................................................................. 14
1.2.4. Nhược điểm........................................................................................ 14
1.3. NodeJS ......................................................................................................... 14
1.3.1. Giới thiệu về NodeJs ......................................................................... 14
1.3.2. Ưu điểm ............................................................................................. 15
1.3.3. Nhược điểm........................................................................................ 15
1.3.4. Lý do chọn NodeJs............................................................................. 15
1.4. Flutter và Dart .............................................................................................. 16
1.4.1. Giới thiệu về Flutter và Dart ............................................................. 16
1.4.2. Ưu điểm ............................................................................................. 16
1.4.3. Nhược điểm........................................................................................ 17
1.4.4. Lý do chọn Flutter ............................................................................. 17

1.5. MongoDB .................................................................................................... 18
1.5.1. Giới thiệu về MongoDB..................................................................... 18
1.5.2. Ưu điểm ............................................................................................. 18
1.5.3. Nhược điểm........................................................................................ 19
1.5.4. Lý do sử dụng MongoDB................................................................... 19
1.6. Redis ............................................................................................................ 19
1.6.1. Giới thiệu về Redis ............................................................................ 19
1.6.2. Ưu điểm ............................................................................................. 20
1.6.3. Nhược điểm........................................................................................ 20
2


1.6.4. Lý do chọn Redis ............................................................................... 20
CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG .................................................................. 20
2.1. Khảo sát hiện trạng ...................................................................................... 20
2.1.1. Facebook ........................................................................................... 20
2.1.2. Twitter................................................................................................ 21
2.1.3. Zalo .................................................................................................... 22
2.1.4. Linkedin ............................................................................................. 23
2.1.5. Tổng kết ............................................................................................. 23
2.2. Xác định yêu cầu ......................................................................................... 24
2.2.1. Nghiệp vụ ........................................................................................... 24
2.2.2. Đối tượng sử dụng ............................................................................. 24
2.2.3. Chức năng ......................................................................................... 24
2.2.4. Phạm vi .............................................................................................. 24
2.3. Mô hình hóa hệ thống .................................................................................. 25
2.3.1. Danh sách các Actor ......................................................................... 25
2.3.2. Sơ đồ Usecase.................................................................................... 26
2.3.3. Mô tả sơ đồ Usecase.......................................................................... 27
2.4. Đặc tả một số usecase chính ........................................................................ 33

2.4.1. Quyền Admin ..................................................................................... 33
2.4.2. Quyền User ........................................................................................ 44
CHƯƠNG 3. THIẾT KẾ PHẦN MỀM ....................................................................... 63
3.1. Thiết kế hệ thống ......................................................................................... 63
3.1.1. Mơ hình hệ thống ............................................................................... 63
3.1.2. Lược đồ lớp........................................................................................ 64
3.1.3. Lược đồ tuần tự ................................................................................. 65
3.1.4. Thiết kế dữ liệu .................................................................................. 68
3.2. Thiết kế giao diện ........................................................................................ 72
3.3.1. Danh sách giao diện .......................................................................... 72
3.3.2. Mô tả giao diện .................................................................................. 74
CHƯƠNG 4. CÀI ĐẶT VÀ KIỂM THỬ .................................................................. 107
4.3. Cài đặt ........................................................................................................ 107
4.4. Các bước chạy hệ thống............................................................................. 107
4.5. Kiểm thử .................................................................................................... 108
4.5.2. Kiểm thử đơn vị ............................................................................... 108
4.5.3. Kiểm thử thủ công ........................................................................... 112
PHẦN KẾT LUẬN .................................................................................................... 116
1. KẾT QUẢ THU ĐƯỢC ............................................................................... 116
1.1. Về mặt lý thuyết .................................................................................. 116
1.1.1. Về mặt hiện thực ............................................................................. 116
2. ƯU ĐIỂM ..................................................................................................... 117
3


3. NHƯỢC ĐIỂM ............................................................................................. 117
4. HƯỚNG PHÁT TRIỂN ................................................................................ 118
DANH MỤC THAM KHẢO ..................................................................................... 119

4



DANH MỤC HÌNH ẢNH
Hình 1. Component trong ReactJs ........................................................................ 12
Hình 2. Khảo sát hiện trạng Facebook (1) ............................................................ 21
Hình 3. Khảo sát hiện trạng Facebook (2) ............................................................ 21
Hình 4. Khảo sát hiện trạng Twitter (1) ............................................................... 21
Hình 5. Khảo sát hiện trạng Twitter (2) ............................................................... 22
Hình 6. Khảo sát hiện trạng Zalo (1) .................................................................... 22
Hình 7. Khảo sát hiện trạng Linkedin (1) ............................................................. 23
Hình 8. Usecase tổng quát cho người dùng .......................................................... 26
Hình 9. Use case tổng quát cho Quản trị viên ...................................................... 27
Hình 10. Mơ tả hệ thống ....................................................................................... 63
Hình 11. Class Diagram ....................................................................................... 64
Hình 12. Lược đồ tuần tự chức năng Đăng ký ..................................................... 65
Hình 13. Lược đồ tuần tự chức năng Đăng nhập ................................................. 65
Hình 14. Lược đồ tuần tự chức năng user xem danh sách bài viết ...................... 66
Hình 15. Lược đồ tuần tự chức năng User xem tin nhắn ..................................... 66
Hình 16. Lược đồ tuần tự chức năng thêm bài viết .............................................. 67
Hình 17. Lược đồ tuần tự chức năng tạo phòng nhắn tin ..................................... 67
Hình 18. Lược đồ thực thể ERD ........................................................................... 68
Hình 19. Màn hình đăng nhập .............................................................................. 74
Hình 20. Màn hình đăng ký .................................................................................. 75
Hình 21. Thanh menu ........................................................................................... 76
Hình 22. Card bài viết .......................................................................................... 77
Hình 23. Màn hình trang chủ ................................................................................ 78
Hình 24. Trang khám phá ..................................................................................... 79
Hình 25. Trang thơng báo ..................................................................................... 80
Hình 26. Trang nhắn tin chào mừng ..................................................................... 80
Hình 27. Trang nhắn tin phịng chat ..................................................................... 81

Hình 28. Trang nhắn tin thơng tin ........................................................................ 82
Hình 29. Trang danh bạ ........................................................................................ 84
Hình 30. Trang cá nhân ........................................................................................ 85
Hình 31. Trang chi tiết bài viết ............................................................................. 86
Hình 32. Hộp thoại thêm bài viết ......................................................................... 87
Hình 33. Trang chỉnh sửa thơng tin cá nhân ........................................................ 88
Hình 34. Trang tìm kiếm ...................................................................................... 89
Hình 35. Trang đăng ký các bước 1, 2, 3- Di dộng .............................................. 90
Hình 36. Trang đăng nhập - Di dộng .................................................................... 91
Hình 37. Trang chủ - Di động .............................................................................. 92
Hình 38. Trang tìm kiếm Bước 1 và Bước 2(Kết quả) - Di động ........................ 93
5


Hình 39. Trang chi tiết người dùng ...................................................................... 94
Hình 40. Trang chi tiết bài viết - Di động ............................................................ 95
Hình 41. Trang tạo bài viết - Di động .................................................................. 96
Hình 42. Trang liên hệ - Di dộng ......................................................................... 97
Hình 43. Trang nhắn tin - Di động ....................................................................... 98
Hình 44. Trang phịng nhắn tin - Di động ............................................................ 99
Hình 45. Trang cá nhân - Di động ...................................................................... 100
Hình 46. Trang chỉnh sửa hồ sơ - Di dộng ......................................................... 101
Hình 47. Trang đăng nhập .................................................................................. 102
Hình 48. Trang thống kê ..................................................................................... 103
Hình 49. Trang quản lý người dùng ................................................................... 104
Hình 50. Trang quản lý bài viết .......................................................................... 105
Hình 51. Trang quản lý phịng nhắn tin .............................................................. 105
Hình 52. Trang quản lý bình luận ....................................................................... 106
Hình 53. Unit test cho các API chỉnh của xác thực ............................................ 108
Hình 54. Unit test cho các API chính của người dùng ....................................... 108

Hình 55. Unit test cho các API chính của bài viết ............................................. 109
Hình 56. Unit test cho các API chính của bình luận .......................................... 109
Hình 57. Kết quả Unit test cho các API chính của thơng báo ............................ 109
Hình 58. Unit test cho các API chính của phịng nhắn tin ................................. 110
Hình 59. Unit test cho các API chính của admin cho xác thực .......................... 110
Hình 60. Unit test cho các API chính của admin cho thống kê .......................... 111
Hình 61. Unit test cho các API chính của admin về người dùng ....................... 111
Hình 62. Unit test cho các API chính của admin về bài viết .............................. 111
Hình 63. Unit test cho các API chính của admin về phịng nhắn tin ................. 112

6


DANH MỤC BẢNG BIỂU
Bảng 1. Mô tả sơ đồ Use case .............................................................................. 32
Bảng 2. Mô tả Use case Đăng nhập ...................................................................... 33
Bảng 3. Mô tả Use case Đăng xuất....................................................................... 34
Bảng 4. Mô tả Use case Xem danh sách người dùng ........................................... 35
Bảng 5. Mơ tả Use case Xóa người dùng – Khơng hồn tồn ............................. 37
Bảng 6. Mơ tả Use case Xem danh sách bài đăng ............................................... 38
Bảng 7. Mô tả Use case Xóa bài đăng – Khơng hồn tồn .................................. 40
Bảng 8. Mơ tả Use case Quản lý phịng chat........................................................ 41
Bảng 9. Mơ tả Use case Xóa phịng chat – Khơng hồn tồn ............................. 42
Bảng 10. Mơ tả Use case Quản lý bình luận ........................................................ 43
Bảng 11. Mơ tả Use case Xóa bình luận – Khơng hồn tồn .............................. 44
Bảng 12. Mô tả Use case User Đăng nhập ........................................................... 45
Bảng 13. Mô tả Use case User Đăng xuất ............................................................ 47
Bảng 14. Mô tả Use case User Đăng ký ............................................................... 48
Bảng 15. Mô tả Use case User quên mật khẩu ..................................................... 49
Bảng 16. Mô tả Use case Người dùng tạo phịng chat ......................................... 50

Bảng 17. Mơ tả Use case Người dùng tạo phịng chat ......................................... 52
Bảng 18. Mơ tả Use case Gửi tin nhắn ................................................................. 53
Bảng 19. Mô tả Use case User Theo dõi người dùng ........................................... 54
Bảng 20. Mô tả Use case User Tạo một bài viết .................................................. 55
Bảng 21. Mô tả Use case User Xem bảng tin ....................................................... 56
Bảng 22. Mơ tả Use case User Tìm kiếm ............................................................. 57
Bảng 23. Mơ tả Use case User Thích bài viết ...................................................... 58
Bảng 24. Mơ tả Use case User Bình luận bài viết ................................................ 59
Bảng 25. Mô tả Use case User Xem thông tin bài viết cá nhân. .......................... 61
Bảng 26. Mơ tả Use case User Xóa bài viết cá nhân............................................ 62
Bảng 27. Mô tả chi tiết bảng User ........................................................................ 69
Bảng 28. Mô tả chi tiết bảng Post......................................................................... 70
Bảng 29. Mô tả chi tiết bảng Comment ................................................................ 71
Bảng 30. Mô tả chi tiết bảng Room ...................................................................... 71
Bảng 31. Mô tả chi tiết bảng Message ................................................................. 72
Bảng 32. Mô tả Use case User Danh sách giao diện ............................................ 74
Bảng 33. Mô tả giao diện trang đăng nhập bước 1............................................... 74
Bảng 34. Mô tả giao diện trang đăng ký .............................................................. 75
Bảng 35. Mô tả giao diện thanh menu .................................................................. 76
Bảng 36. Mô tả giao diện trang card bài viết ....................................................... 78
Bảng 37. Mô tả giao diện trang chủ ..................................................................... 78
Bảng 38. Mô tả giao diện trang thông báo ........................................................... 80
Bảng 39. Mô tả giao diện trang nhắn tin chào mừng ........................................... 81
7


Bảng 40. Mơ tả giao diện trang nhắn tin phịng chat ........................................... 82
Bảng 41. Mô tả giao diện trang nhắn tin thông tin ............................................... 83
Bảng 42. Mô tả giao diện trang danh bạ ............................................................... 84
Bảng 43. Mô tả giao diện trang cá nhân ............................................................... 86

Bảng 44. Mô tả giao diện trang chi tiết bài viết ................................................... 87
Bảng 45. Mô tả giao diện hộp thoại đăng bài viết ................................................ 88
Bảng 46. Mô tả giao diện trang chỉnh sửa thông tin cá nhân ............................... 89
Bảng 47. Mơ tả giao diện trang tìm kiếm ............................................................. 89
Bảng 48. Mô tả giao diện trang đăng ký các bước- Di động................................ 91
Bảng 49. Mô tả giao diện trang đăng nhập - Di động .......................................... 91
Bảng 50. Mô tả giao diện trang chủ - Di động ..................................................... 93
Bảng 51. Mơ tả giao diện trang tìm kiếm bước 2 - Di động ................................ 93
Bảng 52. Mô tả giao diện trang tìm kiếm bước 2 - Di động ................................ 94
Bảng 53. Mô tả giao diện chi tiết người dùng - Di động...................................... 95
Bảng 54. Mô tả giao diện chi tiết bài viết - Di động ............................................ 96
Bảng 55. Mô tả giao diện chi tiết bài viết - Di động ............................................ 96
Bảng 56. Mô tả giao diện trang liên hệ - Di động ................................................ 97
Bảng 57. Mô tả giao diện trang nhắn tin - Di động .............................................. 98
Bảng 58. Mô tả giao diện trang nhắn tin - Di động .............................................. 99
Bảng 59. Mô tả giao diện trang cá nhân - Di động ............................................ 100
Bảng 60. Mô tả giao diện trang cá nhân chi tiết- Di động ................................. 101
Bảng 61. Mô tả giao diện trang đăng nhập ......................................................... 102
Bảng 62. Mô tả giao diện trang thống kê ........................................................... 103
Bảng 63. Mô tả giao diện trang quản lý người dùng .......................................... 104
Bảng 64. Mô tả giao diện trang quản lý bài viết ................................................ 105
Bảng 65. Mơ tả giao diện quản lý phịng nhắn tin ............................................. 105
Bảng 66. Mô tả giao diện trang quản lý bình luận ............................................. 106
Bảng 67. Testcase User - Chức năng đăng nhập tài khoản ................................ 112
Bảng 68. Testcase User - Chức năng đăng ký tài khoản .................................... 113
Bảng 69. Testcase User - Chức năng xem bài viết ............................................. 113
Bảng 70. Testcase User - Chức năng thích bài viết ............................................ 114
Bảng 71. Testcase User - Chức năng bình luận bài viết..................................... 114
Bảng 72. Testcase User - Chức năng thêm bài viết ............................................ 114
Bảng 73. Testcase User - Chức năng tạo phòng nhắn tin................................... 115

Bảng 74. Testcase User - Chức năng gửi tin nhắn ............................................. 115
Bảng 75. Testcase User - Chức năng theo dõi.................................................... 115
Bảng 76. Testcase User - Chức năng bỏ theo dõi............................................... 115

8


PHẦN MỞ ĐẦU

PHẦN MỞ ĐẦU
1. GIỚI THIỆU VỀ ĐỀ TÀI
Trong thời đại công nghệ thông tin này mọi người đều có nhu cầu kết nối với
nhau và chia sẻ các khoảnh khắc, ý kiến của mình với mọi người.
Xuất phát từ vấn đề đó, nhóm bắt đầu nảy sinh ý định và quyết định xây dựng
một trang web mạng xã hội trực tuyến mà mọi người có thể liên kết với nhau,
chia sẻ các kiến thức hoặc khoảnh khắc của mình với mọi người bằng những
thao tác đơn giản nhất với giao diện thân thiện với người dùng nhất. Giúp mọi
người dùng để xây dựng các mối quan hệ với người khác có chung tính cách, sở
thích, … hay là phương tiện để kết nối với những người thân và bạn bè. Đây là
một ứng dụng giải quyết được hai vấn đề đặt ra của người dùng, kết nối với bạn
bè, và chia sẻ những khoảnh khắc, ý kiến của mình với mọi người.
2. ĐỐI TƯỢNG NGHIÊN CỨU
Đối với đề tài “Xây dựng mạng xã hội nhắn tin”, đối tượng nghiên cứu dựa
trên những nhu cầu kết nối, tương tác với người khác với nhau, mọi người có thể
nhắn tin với một người dùng hay tạo một nhóm để chia sẻ niềm vui.
Ngồi ra, đề tài cịn có thể giúp cho người dùng thực hiện việc chia sẻ những
thông tin, khoảnh khắc của mình với bạn bè và mọi người, mọi người có thể thích
bài viết bình luận với bài viết. Đồng thời kèm theo đó là các cơng nghệ áp dụng
để tạo ra sản phẩm. Cụ thể như sau:
-


Áp dụng cơ sở dữ liệu MongoDB để lưu trữ dữ liệu từ người dùng.

-

Nghiên cứu APIs xây dựng nên hệ thống các APIs hỗ trợ lấy dữ liệu

một cách chính xác và nhanh chóng bằng NodeJS và ExpressJS.
-

Về giao diện, nghiên cứu và sử dụng ReactJs, Flutter và một số thư

viện bổ trợ xây dựng, xử lý giao diện người dùng và hệ thống quản trị.
9


PHẦN MỞ ĐẦU
-

Về bảo mật hệ thống, sử dụng Json Web Token để xác thực tài khoản

đăng nhập cho cả khách hàng và sử dụng mã OTP để người người dùng có thể
khơi phục tài khoản thơng qua email đã đăng ký.
3. PHẠM VI NGHIÊN CỨU
Đề tài “Xây dựng mạng xã hội nhắn tin” chủ yếu tập trung khai thác vào vấn
đề nhắn tin và chia sẻ các bài viết. Website được chia thành 2 phần là phần Quản
trị và phần Người dùng. Trong phần Quản trị bao gồm các nghiệp vụ chính như:
-

Đăng nhập


-

Quản lý người dùng (xem, xóa, phục hồi và xóa vĩnh viễn)

-

Quản lý bài đăng (xem, xóa, phục hồi và xóa vĩnh viễn)

-

Quản lý phịng chat (xem, xóa, phục hồi và xóa vĩnh viễn)

-

Quản lý bình luận (xem, xóa, phục hồi và xóa vĩnh viễn)

Trong phần Người dùng bao gồm các nghiệp vụ chính như:
-

Đăng nhập/ Đăng ký/ Quên mật khẩu

-

Quản lý thông tin cá nhân / Thay đổi thông tin cá nhân

-

Nhắn tin/ Thu hồi tin nhắn


-

Tạo phòng chat/ Quản lý phòng chat

-

Theo dõi người dùng/ Hủy theo dõi người dùng

-

Đăng bài / Quản lý bài viết / Xem các bài viết

-

Thích bài viết/ Hủy thích bài viết /Bình luận các bài viết

-

Tìm kiếm người dùng và bài viết

Về phần cốt lõi xử lý, xây dựng đầy đủ các APIs phục vụ cho phần hiển thị
cuối cùng.
4. MỤC TIÊU CỦA ĐỀ TÀI
Về phía người dùng xây dựng được mạng xã hội giúp mọi người kết nối với
nhau, nhắn tin với nhau, có thể tạo các phòng nhắn tin, đăng các bài viết, tương
tác các bài viết có hỗ trợ qua website và thiết bị mobile.
10


PHẦN MỞ ĐẦU

Về phía quản trị xây dựng được nơi quản lý, theo dõi các tài nguyên, dữ liệu
của hệ thống: như thống kê, quản lý tài khoản, quản lý bài viết, quản lý phịng
nhắn tin, quản lý bình luận.
5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
Mục đích đề tài nhằm tạo ra một mạng xã hội giúp mọi người có thể kết nối
với nhau, nhắn tin và có thể chia sẻ các thông tin với nhau qua thông qua một
trang web có giao diện thân thiện và dễ sử dụng. Là nền tảng trực tuyến nơi mọi
người dùng để xây dựng các mối quan hệ với người khác có chung tính cách,
nghề nghiệp, cơng việc hay đơn giản là để bạn bè và gia đình kết nối với nhau.

11



×