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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN 1: Ứ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 (1.52 MB, 47 trang )

ĐẠI HỌC QUỐC QIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
----------

BÁO CÁO
ĐỒ ÁN 1
Lớp: SE121.M21.PMCL
Đề tài: Ứng dụng Mạng Xã Hội
Giảng viên hướng dẫn:
Thầy Mai Trọng Khang
Nhóm thực hiện:
19520898

Lưu Ngọc Sáng

19520646

Võ Hồng Đức Khoa

TPHCM, tháng 6 năm 2022


Mục lục
Chương 1: Thông tin chung

5

1.1

Tên đề tài : Ứng dụng mạng xã hội........................................................................ 5



1.2

Môi trường phát triển ứng dụng (dự kiến) : React Native, NodeJS ....................... 5

1.3

Thơng tin nhóm ...................................................................................................... 5

Chương 2: Phát biểu bài tốn
1.1

6

Trình bày khảo sát hiện trạng................................................................................. 6

1.1.1

Nhu cầu thực tế của đề tài ............................................................................... 6

1.1.2

Các yêu cầu của hệ thống ................................................................................ 6

Chương 3: Mô hình use case

7

2.1


Sơ đồ Use-case ....................................................................................................... 7

2.2

Danh sách các Actor .............................................................................................. 7

2.3

Danh sách các use-case .......................................................................................... 7

2.4

Đặc tả use-case ....................................................................................................... 8

2.4.1

Đặc tả usecase “Đăng nhập” ........................................................................... 8

2.4.2

Đặc tả usecase “Đăng xuất” ............................................................................ 9

2.4.3

Đặc tả usecase “Đăng kí” ................................................................................ 9

2.4.4

Đặc tả usecase “Thay đổi mật khẩu”............................................................. 10


2.4.5

Đặc tả usecase “CRUD bài viết” ................................................................... 11

2.4.6

Đặc tả usecase “Chia sẻ bài viết” .................................................................. 12

2.4.7

Đặc tả usecase “CRUD thông tin cá nhân” ................................................... 13

2.4.7.1

Xem thông tin cá nhân

13

2.4.7.2

Sửa thông tin cá nhân

13

2.4.8

Đặc tả usecase “Gửi tin nhắn”....................................................................... 14

2.4.9


Đặc tả usecase “Theo dõi bài viết của người khác” ...................................... 15

2.4.10 Đặc tả usecase “Bỏ theo dõi bài viết” ........................................................... 16
2.4.11 Đặc tả use case “Tìm kiếm người dùng”....................................................... 16
Chương 4: Phân tích
3.1

18

Sơ đồ lớp (mức phân tích).................................................................................... 18

3.1.1

Sơ đồ lớp (mức phân tích) ............................................................................. 18

3.1.2

Danh sách các lớp đối tượng và quan hệ....................................................... 18

3.1.3

Mô tả chi tiết từng lớp đối tượng .................................................................. 19

3.1.3.1

Lớp “User”

19



3.1.3.2

Lớp “Profile”

19

3.1.3.3

Lớp “Post”

19

3.1.3.4

Lớp “Comment”

20

3.1.3.5

Lớp “Conversation”

20

3.1.3.6

Lớp “Message”

20


Chương 5: Thiết kế dữ liệu

22

4.1

Sơ đồ logic ........................................................................................................... 22

4.2

Mô tả chi tiết các kiểu dữ kiệu trong sơ đồ logic ................................................. 23

4.2.1

Bảng “Account” ............................................................................................ 23

4.2.2

Bảng “Profile” ............................................................................................... 23

4.2.3

Bảng “Product” ............................................................................................. 23

4.2.4

Bảng “ProductProperties” ............................................................................. 24

4.2.5


Bảng “Category” ........................................................................................... 24

4.2.6

Bảng “CategoryProperties” ........................................................................... 24

4.2.7

Bảng “Image” ................................................................................................ 25

Chương 6: Thiết kế kiến trúc
5.1

25

Kiến trúc hệ thống ................................................................................................ 25

Chương 7: Thiết kế giao diện

27

6.1

Danh sách các màn hình ...................................................................................... 27

6.1

Mơ tả chi tiết mỗi màn hình ................................................................................. 28

6.1.1


Đăng nhập ..................................................................................................... 28

6.1.2

Đăng ký ......................................................................................................... 29

6.1.3

Trang chủ....................................................................................................... 31

6.1.4

Tạo bài đăng .................................................................................................. 33

6.1.5

Comment bài đăng ........................................................................................ 34

6.1.6

Thông báo ...................................................................................................... 35

6.1.7

Thông tin người dùng đăng nhập .................................................................. 36

6.1.8

Chỉnh sửa thông tin người dùng .................................................................... 37


6.1.9

Danh sách following ..................................................................................... 39

6.1.10 Thông tin người dùng khác ........................................................................... 41
6.1.11 Chat ............................................................................................................... 42
6.1.12 Chat room ...................................................................................................... 43
Chương 8: Kết luận

45


7.1

Môi trường phát triển và môi trường triển khai ................................................... 45

7.1.1

Môi trường phát triển ứng dụng .................................................................... 45

7.1.2

Môi trường triển khai ứng dụng .................................................................... 45

7.2

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

7.3


Khó khăn gặp phải ............................................................................................... 45

7.4

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

7.5

Bảng phân công công việc ................................................................................... 47


Chương 1: Thông tin chung
1.1 Tên đề tài : Ứng dụng mạng xã hội
1.2 Môi trường phát triển ứng dụng (dự kiến) : React Native, NodeJS
-

Hệ điều hành: Microsoft Windows, Linux

-

Hệ quản trị cơ sở dữ liệu: Firebase

-

Công cụ phân tích thiết kế: Draw.io, Figma

-

Cơng cụ xây dựng ứng dụng: Visual Studio Code, Postman


1.3 Thơng tin nhóm
STT

MSSV

Họ và tên

Email

1

19520898

Lưu Ngọc Sáng



2

19520646

Võ Hoàng Đức Khoa




Chương 2: Phát biểu bài tốn
1.1


Trình bày khảo sát hiện trạng
1.1.1

Nhu cầu thực tế của đề tài

Những năm gần đây, mạng xã hội (MXH) đã có bước phát triển mạnh mẽ, tác động lớn
đến đời sống xã hội ở hầu hết các quốc gia trên thế giới, trong đó có Việt Nam.
MXH góp phần tích cực vào sự phát triển nhận thức, tư duy và kỹ năng sống của con
người. MXH đang ngày càng trở thành nơi cung cấp tin tức, kiến thức về tất cả các lĩnh
vực của đời sống xã hội. Chỉ với một vài thao tác đơn giản, người dùng sẽ luôn nhận
được những thông tin cập nhật kịp thời về lĩnh vực, vấn đề mà mình quan tâm theo dõi.
Qua đó giúp họ có thể nắm bắt được các xu thế của đời sống phục vụ cho cơng việc và
cuộc sống của mình.
MXH góp phần tích cực vào sự phát triển của văn hóa cộng đồng. Văn hóa MXH là một
bộ phận của văn hóa cộng đồng và có ảnh hưởng ngày càng lớn đến văn hóa cộng đồng.
Nhờ áp dụng tiến bộ của khoa học kỹ thuật, MXH cho phép người dùng có thể kết nối,
tương tác với bạn bè, gia đình, cộng đồng ngày một thuận tiện hơn.
MXH góp phần thúc đẩy q trình hội nhập quốc tế trên lĩnh vực văn hóa của Việt
Nam. Các MXH, nhất là MXH xuyên quốc gia như Facebook, Youtube… đã tạo ra
những cơ hội, khả năng tiếp xúc, giao lưu văn hóa, thúc đẩy xích lại gần nhau, hiểu biết
lẫn nhau giữa dân tộc ta với các dân tộc khác trên thế giới.
Nhận thấy điều đó, nhóm quyết định làm app mạng xã hội để mọi người kết nối chia sẻ,
tiếp nhận thông tin một cách nhanh chóng và hiệu quả

1.1.2

Các yêu cầu của hệ thống

1


Cho phép tạo, chia sẻ, bình luận và react bài đăng

2

Chức năng chat thời gian thực

3

Chức năng đăng nhập, đổi mật khẩu, xem và cập nhật thông tin cá nhân

4

Theo dõi người dùng khác

5

Gửi thông báo bài viết tới người dùng

6

Đáp ứng được lưu lượng truy xuất lớn

7

Giao diện trực quan, thân thiện với người dùng


Chương 3: Mơ hình use case
2.1 Sơ đồ Use-case
*Mọi usecase bên dưới đều yêu cầu đăng nhập hoặc đăng kí trước (quan hệ include)

CRUD thông
tin cá nhân

Chia sẻ bài viết

Gửi thơng báo bài
viết tới người
dùng

Nhắn tin nhóm

CRUD bài viết

<<extend>>

CRUD bình
luận

Nhắn tin
Bỏ theo dõi bài
viết

<<extend>>

Theo dõi bài
viết của người
khác

Tìm kiếm
người dùng


2.2 Danh sách các Actor
STT
1

Tên Actor
Người dùng

Ý nghĩa/Ghi chú
Người sử dụng phần mềm

2.3 Danh sách các use-case
STT

Tên Use-case

Ý nghĩa/Ghi chú

1

Đăng nhập

2

Đăng kí

3

Cập nhật thơng tin cá nhân


4

Thay đổi mật khẩu

5

Gửi thơng báo bài viết tới
người dùng

Gửi thơng báo mỗi khi có bài viết mới

6

Nhắn tin

Nhắn tin realtime giữa 2 người

7

Theo dõi bài viết của người
khác

8

CRUD bài viết

9

Tìm kiếm người dùng


10

Nhắn tin nhóm

Thêm/Xóa/Sửa bài viết

Nhắn tin giữa nhiều người cùng lúc


11

Bỏ theo dõi bài viết

Bỏ theo dõi người nào đó

2.4 Đặc tả use-case
2.4.1 Đặc tả usecase “Đăng nhập”
Tên chức năng

Đăng nhập

Tóm tắt

Chức năng đăng nhập vào ứng dụng

Dịng sự kiện chính

1. Ứng dụng hiển thị form đăng nhập.
2. Người dùng nhập tài khoản và mật khẩu rồi bấm nút
“Đăng nhập”

3. Ứng dụng giao tiếp với server để kiểm tra thông tin
đăng nhập
(Dịng sự kiện khác: Thơng tin đăng nhập sai).
4.Ứng dụng chuyển sang màn hình chính (màn hình hiển
thị bài viết).

Dịng sự kiện khác

1. Thơng tin đăng nhập sai:
Ứng dụng hiển thị thông báo “Thông tin đăng nhập sai”

Các yêu cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Ứng dụng khởi động thành công
khi thực thiện use case

Điều kiện: không có

Trạng thái hệ thống sau Người dùng đăng nhập thành công và được chuyển đến
khi thực hiện use case

trang chủ của ứng dụng (hiển thị danh sách bài viết)

Điểm mở rộng

Khơng có



2.4.2 Đặc tả usecase “Đăng xuất”
Tên chức năng

Đăng xuất

Tóm tắt

Đăng xuất khỏi ứng dụng

Dịng sự kiện chính

1. Người dùng bấm nút Đăng xuất
2. Ứng dụng xố thơng tin người dùng trên thiết bị và
chuyển người dùng về trang đăng nhập

Dòng sự kiện khác

Khơng có

Các u cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Điều kiện: người dùng đã đăng nhập thành công
khi thực hiện use case
Trạng thái hệ thống sau Người dùng đăng xuất thành công
khi thực hiện use case

Ứng dụng chuyển về trang đăng nhập
Thông tin người dùng được lưu ở thiết bị (nếu có) xố

thành cơng

Điểm mở rộng

Khơng có

2.4.3 Đặc tả usecase “Đăng kí”
Tên chức năng

Đăng kí

Tóm tắt
Dịng sự kiện chính

1. Người dùng nhấn vào nút Đăng kí
2. Ứng dụng hiển thị form Đăng kí
2. Người dùng nhập những thơng tin cần thiết, sau đó bấm
nút “Tạo tài khoản”


3. Hệ thống kiểm tra thơng tin đăng kí và chuyển người
dùng sang trang chủ của ứng dụng (trang hiển thị danh
sách bài viết)
(Dịng sự kiện khác: Thơng tin đăng kí khơng hợp lệ).
Dịng sự kiện khác

1. Thơng tin khơng hợp lệ:
Ứng dụng hiển thị thông báo lỗi ở trường dữ liệu được
cho là không hợp lệ


Các yêu cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Điều kiện: Khơng có
khi thực hiện use case
Trạng thái hệ thống sau Tài khoản của người dùng dược tạo thành công trên hệ
khi thực hiện use case

thống

Điểm mở rộng

Khơng có

2.4.4 Đặc tả usecase “Thay đổi mật khẩu”
Tên chức năng

Thay đổi mật khẩu

Tóm tắt

Thay đổi mật khẩu cho tài khoản người dùng

Dịng sự kiện chính

1. Người dùng nhấn tài khoản của mình và chọn “Thay
đổi mật khẩu”
2. Người dùng nhập mật khẩu cũ, mật khẩu mới và xác
nhận mật khẩu mới


Dịng sự kiện khác

Khơng có

Các yêu cầu đặc biệt

Mật khẩu mới phải trùng với mật khẩu xác nhận


Trạng thái hệ thống trước Actor: tất cả các actor
khi thực thiện use case

Điều kiện: người dùng đã đăng nhập hệ thống

Trạng thái hệ thống sau Người dùng thay đổi mật khẩu
khi thực hiện use case
Điểm mở rộng

Khơng có

2.4.5 Đặc tả usecase “CRUD bài viết”
Tên chức năng

CRUD bài viết

Tóm tắt

Thêm, xố, sửa bài viết của chính mình
Xem bài viết của mọi user trong hệ thống


Dịng sự kiện chính

❖ Tạo bài viết:
1. Người dùng mở trang chủ của ứng dụng
2. Người dùng nhấn vào nút tạo bài viết
3. Nhập thông tin bài viết (ảnh, text)
4. Ứng dụng lưu dữ liệu đã được nhập vào, tạo bài
viết và thêm vào hệ thống
(Dòng sự kiện khác: Thông tin không hợp lệ, lỗi upload
ảnh)
❖ Chỉnh sửa bài viết:
1. Người dùng bấm vào bài viết muốn chỉnh sửa
2. Chọn tuỳ chọn chỉnh sửa => hệ thống hiển thị giao
diện chỉnh sửa bài viết
3. Người dùng chỉnh sửa bài viết và bấm lưu


(Dịng sự kiện khác: Cập nhật lỗi )
❖ Xố bài viết: (chỉ xoá bài viết của bản thân)
1. Người dùng bấm vào nút xoá bài viết tại menu tuỳ
chọn bài viết
2. Hệ thống xoá bài viết và ứng dụng cập nhật lại giao
diện
❖ Xem bài viết:
1. Người dùng chuyển sang trang chính của ứng dụng
=> ứng dụng hiển thị danh sách bài viết
Dịng sự kiện khác

1,3. Thơng tin khơng hợp lệ, Cập nhật lỗi:

Ứng dụng hiển thị thông báo lỗi tại vị trí dữ liệu được cho
là khơng hợp lệ
2. Lỗi upload ảnh:
Ứng dụng hiển thị thông báo lỗi “Không thể upload ảnh”

Các u cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Điều kiện: Người dùng đã đăng nhập vào hệ thống.
khi thực hiện use case
Trạng thái hệ thống sau Ứng dụng thực hiện chức năng được định nghĩa
khi thực thiện use case
Điểm mở rộng

Khơng có

2.4.6 Đặc tả usecase “Chia sẻ bài viết”
Tên chức năng
Tóm tắt

Chia sẻ bài viết


Dịng sự kiện chính

1. Người dùng bấm vào chia sẻ bài viết
2. Hệ thống lưu thông tin và cập nhật lại giao diện

Dịng sự kiện khác


Khơng có

Các u cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Điều kiện: Khơng có
khi thực hiện use case
Trạng thái hệ thống sau Thông tin được lưu thành công
khi thực thiện use case
Điểm mở rộng

Không có

2.4.7 Đặc tả usecase “CRUD thơng tin cá nhân”
2.4.7.1 Xem thơng tin cá nhân
Tên chức năng
Xem thơng tin cá nhân
Tóm tắt
Dịng sự kiện chính

1. Người dùng chuyển tới trang cá nhân
2. Người dùng bấm vào nút xem thơng tin

Dịng sự kiện khác

Khơng có

Các u cầu đặc biệt


Khơng có

Trạng thái hệ thống trước Điều kiện: Khơng có
khi thực hiện use case
Trạng thái hệ thống sau Hệ thống không thay đổi
khi thực thiện use case
Điểm mở rộng

Khơng có

2.4.7.2 Sửa thơng tin cá nhân
Tên chức năng
Sửa thông tin cá nhân


Tóm tắt
Dịng sự kiện chính

1. Người dùng chuyển tới trang cá nhân
2. Người dùng bấm vào nút xem thông tin
3. Người dùng bấm nút sửa thông tin
4. Người dùng nhập thơng tin muốn sửa sau đó bấm nút
“Cập nhật”
(Dịng sự kiện khác: Thông tin cập nhật không hợp lệ).
5. Hệ thống lưu thơng tin

Dịng sự kiện khác

1. Thơng tin khơng hợp lệ:

Ứng dụng hiển thị thông báo lỗi ở trường dữ liệu được
cho là không hợp lệ

Các yêu cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Điều kiện: Người dùng đăng nhập thành công vào ứng
khi thực hiện use case

dụng

Trạng thái hệ thống sau Người dùng cập nhật thông tin người dùng thành công vào
khi thực thiện use case

hệ thống.

Điểm mở rộng

Khơng có

2.4.8 Đặc tả usecase “Gửi tin nhắn”
Tên chức năng

Gửi tin nhắn

Tóm tắt

Gửi và nhận tin nhắn (ảnh, text) realtime đến/ từ người
khác


Dịng sự kiện chính

1. Người dùng bấm vào icon tin nhắn ở thanh điều hướng
tại trang chủ của ứng dụng


2. Ứng dụng hiển thị màn hình “danh sách tin nhắn” chứa
các cuộc hội thoại của người dùng được trả về từ server
3. Người dùng chọn cuộc hội thoại muốn gửi tin nhắn
4. Ứng dụng hiển thị các tin nhắn gần đây của người dùng
5. Người dùng nhập nội dung tin nhắn (ảnh, text) và bấm
gửi
6. Ứng dụng thực hiện giao tiếp với server gửi tin nhắn
của người dùng đi và cập nhật lại giao diện
Dòng sự kiện khác
Các yêu cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Điều kiện: Người dùng đã đăng nhập thành công vào ứng
khi thực hiện use case

dụng

Trạng thái hệ thống sau Hệ thống không thay đổi
khi thực thiện use case
Điểm mở rộng

Tin nhắn nhóm:

Tại giao diện “danh sách tin nhắn”, người dùng chọn thẻ
“room chat” để chuyển đến trang tin nhắn
* Giống flow chính từ bước số 3

2.4.9 Đặc tả usecase “Theo dõi bài viết của người khác”
Tên chức năng

Theo dõi bài viết của người khác

Tóm tắt

Ứng dụng hiển thị bài viết của người được theo dõi

Dịng sự kiện chính

1. Người dùng chọn hoặc tìm kiếm người muốn theo dõi
2. Chọn nút theo dõi ở trang cá nhân của đối tượng


Dịng sự kiện khác
Các u cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Khơng có
khi thực hiện use case
Trạng thái hệ thống sau Đối tượng được thêm vào danh sách theo dõi của người
khi thực thiện use case

dùng


Điểm mở rộng

Bỏ theo dõi bài viết

2.4.10 Đặc tả usecase “Bỏ theo dõi bài viết”
Tên chức năng

Bỏ theo dõi bài viết của người khác

Tóm tắt
Dịng sự kiện chính

1. Người dùng chọn hoặc tìm kiếm người muốn theo dõi
2. Chọn nút bỏ theo dõi ở trang cá nhân của đối tượng

Dòng sự kiện khác
Các u cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Khơng có
khi thực hiện use case
Trạng thái hệ thống sau Đối tượng được xoá khỏi danh sách theo dõi của người
khi thực thiện use case

dùng

Điểm mở rộng


2.4.11 Đặc tả use case “Tìm kiếm người dùng”
Tên chức năng

Tìm kiếm người dùng


Tóm tắt
Dịng sự kiện chính

1. Khách hàng nhập nội dung tìm kiếm vào thanh tìm
kiếm và bấm Enter
2. Ứng dụng hiển thị danh sách người dùng

Dịng sự kiện khác

Khơng tìm thấy người dùng nào => hệ thống hiển thị giao
diện khơng tìm thấy người dùng

Các u cầu đặc biệt

Khơng có

Trạng thái hệ thống trước Khơng có
khi thực hiện use case
Trạng thái hệ thống sau Hệ thống hiển thị danh sách người dùng tìm thấy
khi thực thiện use case
Điểm mở rộng

Khơng có



Chương 4: Phân tích
3.1 Sơ đồ lớp (mức phân tích)
3.1.1 Sơ đồ lớp (mức phân tích)

3.1.2 Danh sách các lớp đối tượng và quan hệ
STT Tên lớp/quan hệ

Loại

Ý nghĩa/Ghi chú

1

User

Lớp

Lớp người dùng

2

Profile

Lớp

Lớp Thơng tin cá nhân

3


Post

Lớp

Lớp bài đăng

4

Comment

Lớp

Lớp bình luận

5

Group

Lớp

Lớp nhóm


6

Conversation

Lớp

Lớp cuộc trị chuyện


7

Message

Lớp

Lớp tin nhắn

3.1.3 Mơ tả chi tiết từng lớp đối tượng
3.1.3.1 Lớp “User”
a) Danh sách thuộc tính

ST
T

Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1

id

String


Public

Mã người dùng

2

username

String

Public

Tên người dùng

3

email

String

Public

Email người dùng

4

profile

Profile


Public

Profile người dùng

STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1

createUser

void

Public

Tạo người dùng

2

updateUser

void

Public


Cập nhật người dùng

3

deleteUser

void

Public

Xóa người dùng

STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1

name

String

Public

Tên người dùng


2

surname

String

Public

Họ người dùng

STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1

createProfile

void

Public

Tạo thông tin người dùng

2


updateProfile

void

Public

Cập nhật thông tin người
dùng

b) Danh sách phương thức

3.1.3.2 Lớp “Profile”
a) Danh sách thuộc tính

b) Danh sách phương thức

3.1.3.3 Lớp “Post”
a) Danh sách thuộc tính


STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1


id

String

Public

Tên comment

2

author

User

Public

Tác giả bài post

3

comment

Comment[]

Public

Danh sách comment

STT Tên thuộc tính


Loại

Ràng buộc

Ý nghĩa/ghi chú

1

createPost

void

Public

Tạo bài post

2

updatePost

void

Public

Cập nhật bài post

3

deletePost


void

Public

Xóa bài post

STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1

id

String

Public

Id comment

2

content

String


Public

Nội dung comment

STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1

postComment

void

Public

Tạo comment

2

updateComment

void

Public


Cập nhật comment

3

deleteComment

void

Public

Xóa comment

STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1

id

String

Public

Id consersation


2

userIds

String[]

Public

Consersation user ids

3

messages

Message[]

Public

Danh sách tin nhắn

STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú

1


String

Public

Mã tin nhắn

b) Danh sách phương thức

3.1.3.4 Lớp “Comment”
a) Danh sách thuộc tính

b) Danh sách phương thức

3.1.3.5 Lớp “Conversation”
a) Danh sách thuộc tính

3.1.3.6 Lớp “Message”
a) Danh sách thuộc tính

id


2

userId

String

Public


Tác giả tin nhắn

3

content

String

Public

Nội dung tin nhắn

4

image

String

Public

Đường dẫn đến ảnh đính
kèm

STT Tên thuộc tính

Loại

Ràng buộc

Ý nghĩa/ghi chú


1

sendMessage

void

Public

Tạo tin nhắn

2

updateMessage

void

Public

Cập nhật tin nhắn

3

sendImage

void

Public

Gửi tin nhắn hình ảnh


b) Danh sách phương thức


Chương 5: Thiết kế dữ liệu
4.1 Sơ đồ logic

STT

Tên bảng dữ liệu

Diễn giải

1

User

Thông tin tài khoản người dùng

2

Profile

Chi tiết thông tin cá nhân

3

Post

Thông tin bài đăng


4

Comment

Thông tin comment

5

React

Thông tin reaction

6

PostContent

Thông tin chi tiết nội dung bài đăng


7

Conversation

Thông tin đoạn chat

8

Message


Thông tin 1 tin nhắn

4.2 Mô tả chi tiết các kiểu dữ kiệu trong sơ đồ logic
4.2.1 Bảng “User”
STT

Tên thuộc tính

Kiểu

Ràng buộc

Ý nghĩa/Ghi chú

1

id

string

Khóa chính, Not null,
Tạo tự động.

Mã tài khoản

2

username

string


Khơng null

Tên đăng nhập

3

email

string

4

profile

string

Email
Khơng null, khóa
ngoại

Mã profile

4.2.2 Bảng “Profile”
STT
1

Tên thuộc tính
id


Kiểu
string

Ràng buộc
Khóa chính, Not null,

Ý nghĩa/Ghi chú
Mã tài khoản

Tạo tự động.
Not null

Tên người dùng

2

name

string

3

picture

string

URI avatar người
dùng

4


gender

string

Giới tính

5

phone

string

Số điện thoại

6

posts

string[]

Khóa ngoại

Mã bài post

4.2.3 Bảng “Post”
STT
1

Tên thuộc tính


Kiểu

Ràng buộc

id

string

Khóa chính, Not null,

Ý nghĩa/Ghi chú
Mã bài đăng

Tạo tự động.
2

author

string

Not null, khóa ngoại

Mã người đăng bài


Loại bài viết

3


type

string

4

comments

string

Khóa ngoại

Mã comment

5

reacts

string

Khóa ngoại

Mã reactions

6

content

string


Not null, khóa ngoại

Mã nội dung bài
viết

4.2.4 Bảng “Comment”
Tên thuộc tính

Kiểu

Ràng buộc

1

id

string

Khóa chính, Not null,
tạo tự động

Mã comment

2

author

string

Not null, khóa ngoại


Mã người đăng bài

3

text

string

Not null

Nội dung comment

4

images

string

5

reacts

string

STT

Ý nghĩa/Ghi chú

Hình ảnh trong

comment
Khóa ngoại

Mã reaction

4.2.5 Bảng “PostContent”
Tên thuộc tính

Kiểu

Ràng buộc

1

id

string

Khóa chính, Not null,
Tạo tự động.

Mã post content

2

sharedPostId

string

Khóa ngoại


Mã bài được share
(nếu có)

3

text

string

Not null

Nội dung bài đăng

4

images

string

STT

Ý nghĩa/Ghi chú

Mã hình ảnh

4.2.6 Bảng “Reaction”
STT
1


Tên thuộc tính

Kiểu

Ràng buộc

id

string

Khóa chính, Not null,

Ý nghĩa/Ghi chú
Mã reaction

Tạo tự động.
2

type

string

Not null

Loại reaction


3

userId


string

Not null, khóa ngoại

Mã user reaction

4.2.7 Bảng “Conversation”
STT
1

Tên thuộc tính

Kiểu

Ràng buộc

Ý nghĩa/Ghi chú

id

string

Khóa chính, Not null,

Mã cuộc trị chuyện

Tạo tự động.
2


Participants

string

Not null, khóa ngoại

Mã người trong hội
thoại

Chương 6: Thiết kế kiến trúc
Kiến trúc hệ thống

Firebase là nền tảng được xây dựng, cung cấp bởi Google, hoạt động trên nền tảng Cloud
nhằm hỗ trợ phát triển các ứng dụng trên web và di động dựa trên nguyên tắc đơn giản
hóa thao tác lập trình. Các CSDL có sẵn mang đến khả năng code nhanh chóng, thuận
tiện hơn.
Ở mơ hình truyền thống, Frontend tương tác với Backend qua API, Backend sẽ làm các
phần việc xử lý data. Tuy nhiên với các app sử dụng Firebase, ta sẽ không cần Backend


×