Tải bản đầy đủ (.doc) (22 trang)

ĐỒ ÁN CHUYÊN NGÀNH - ĐỀ TÀI: XÂY DỰNG HỆ THỐNG CHAT VÀ VIDEO CALL ĐA NỀN TẢNG BẰNG FLUTTER

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.13 MB, 22 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VIỆT – HÀN

ĐỒ ÁN CHUYÊN NGÀNH 4
ĐỀ TÀI: XÂY DỰNG HỆ THỐNG CHAT VÀ VIDEO CALL ĐA
NỀN TẢNG BẰNG FLUTTER

Sinh viên thực hiện

: Võ Đăng Lâm

Giảng viên hướng dẫn: ThS Nguyễn Văn Bình
Lớp

: 17IT2

Đà Nẵng, tháng 12 năm 2020


MỞ ĐẦU
Thế kỷ 21 là một kỷ nguyên toàn cầu, với sự phát minh ra internet trái đất đã
khơng cịn là hình trịn mà đã là một đường thẳng kết nối những ý nghĩ của con
người. Cùng với quá trình tồn cầu hố, nhu cầu chia sẽ thơng tin, kết nối bạn bè
ngày càng phát triển thúc đẩy sự ra đời của mạng xã hội.
Ứng dụng nhắn tin là một hình thức của dịch vụ truyền thơng, bạn sẽ dễ dàng
giữ liên lạc với bạn bè, người thân bằng cách nhắn tin cho nhau, bạn còn thể chia
sẽ cho nhau các hình ảnh hay các file dưới dạng tin nhắn, hay gọi video cho
nhau. Bạn cịn có thể kết nối với những người xa lạ đang dùng ứng dụng này
trên khắp cả nước một cách nhanh chóng, đơn giản và hơn hết là nó miễn phí.
Trong vài năm trở lại đây, các thiết bị di động ngày càng phát triển rộng rãi


và đa dạng với các nền tảng lớn như Android và IOS. Vì vậy nên các ứng dụng
cũng phải phát triển để đáp ứng xu thế đó. Để phát triển các ứng dụng đó người
ta thường xây dựng chúng bằng các framework đa nền tảng khác nhau như react
native, flutter… Trong đó flutter là một framework được phát triển bởi google và
có sự phát triển tốc hành.
Ngày nay, với sự phát triển nhanh chóng của xã hội , nhu cầu trao đổi thông
tin với nhau lại càng cần thiết, vì vậy em chọn đề tài “Xây dựng hệ thống chat và
video call đa nền tảng bằng flutter” với mục đích nghiên cứu, tìm hiểu về cách
hoạt động của các framework đa nền tảng và xây dựng dựng dụng nhắn tin để
đáp ứng nhu cầu giao lưu, trao đổi thông tin giữa mọi người với nhau.


LỜI CẢM ƠN
Trong thời gian làm đồ án, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ
bảo nhiệt tình của thầy cơ và bạn bè.
Em xin gửi lời cảm ơn chân thành đến ThS Nguyễn Văn Bình, người đã tận tình
hướng dẫn, trực tiếp chỉ bảo và tạo mọi điều kiện giúp đỡ em trong suốt quá trình làm đồ
án.
Em cũng xin chân thành cảm ơn các thầy cô trong trường đại học Công Nghệ Thông
Tin Và Truyền Thông Việt Hàn, những người đã dạy dỗ và trang bị cho em kiến thức để
hoàn thành đề tài đồ án này.
Mặc dù trong quá trình nghiên cứu đề tài, bản thân em có những cố gắng nhất định
song do trình độ và thời gian có hạn nên đề tài khơng tránh khỏi những thiếu sót. Vậy
kính mong các thầy cơ và các bạn đóng góp ý kiến để em được hoàn thiện hơn.


NHẬN XÉT
(Của giảng viên hướng dẫn)
……………………………………………………………………………………………
……………………………………………………………………………………………

……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………


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

Giới thiệu.......................................................................................................1

1.1

Tổng quan.............................................................................................................1

1.2

Khảo sát các ứng dụng tương tự...........................................................................1

1.2.1

Ứng dụng Messenger.....................................................................................1

1.2.2


Ứng dụng WeChat..........................................................................................2

1.2.3

Kết luận..........................................................................................................3

1.3

Phương pháp, kết quả...........................................................................................3

1.4

Cấu trúc đồ án.......................................................................................................3

Chương 2
2.1

Nghiên cứu tổng quan....................................................................................5

Các công nghệ hỗ trợ cho phát triển hệ thống.......................................................5

2.1.1

Google Firebase.............................................................................................5

2.1.2

Flutter là gì?...................................................................................................6

2.2


Nguyên lý hoạt động của hệ thống........................................................................6

2.2.1
2.3

Nguyên lý hoạt động của chức năng nhắn tin................................................6

Nguyên lý hoạt động chức năng gọi video............................................................9

2.3.1

Nguyên lý hoạt động gọi video bằng Agora...................................................9

2.3.2

Nguyên lý hoạt động gọi video bằng agora trên hệ thống............................10

Chương 3

Triển Khai Xây Dựng Hệ Thống..................................................................12

3.1

Xây dựng cơ sở dữ liệu trên firebase..................................................................12

3.2

Giao diện ứng dụng............................................................................................12


Chương 4

Kết luận và Hướng phát triển.......................................................................15

4.1

Kết luận..............................................................................................................15

4.2

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


DANH MỤC HÌNH
Hình 1.1- Ứng dụng messenger...............................................................................2
Hình 1.2- Chức năng của we chat......................................................................................3
Hình 2.1-Dashboard firebase trên web...............................................................................5
Hình 2.2-Framework Flutter...............................................................................................6
Hình 2.3- Cỡ sở dữ liệu NoSQL trên cloud của firebase....................................................7
Hình 2.4- Tin nhắn dạng emoji được lưu trữ trên cloud firebase........................................7
Hình 2.5- Tin nhắn dạng hình ảnh được lưu trữ trên firebase.............................................7
Hình 2.6- Biểu đồ hoạt động chức năng nhắn tin...............................................................8
Hình 2.7- Biểu đồ hoạt động chức năng đọc tin nhắn........................................................9
Hình 2.8- Cơ sở hạ tầng của Agora..................................................................................10
Hình 2.9- Dữ liệu cuộc gọi trên Firebase.........................................................................11
Hình 3.1- Dữ liệu lưu trữ trên cloud firebase...................................................................12
Hình 3.2- Giao diện chính của ứng dụng..........................................................................12
Hình 3.3- Phần tìm kiếm của ứng dụng............................................................................13
Hình 3.4- Khi hai thiết bị nhắn tin với nhau.....................................................................13
Hình 3.5- Gọi video call giữa hai người dùng..................................................................14



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

STT

Cụm từ

Viết tắt

1
2

Message Queuing Telemetry Transport

MQTT
app

3
4
5
6
7

Software Defined Real-Time Network

Application
identification
Authentication
Software Development Kit


Software-defined networking

SD-RTN
id
Auth
SDK
SDN


Chương 1

Giới thiệu

1.1 Tổng quan
Sự phát triển của cuộc cách mạng công nghiệp 4.0 cùng với sự phổ biến rộng rải của
điện thoại di động và internet. Nhu cầu trao đổi thông tin giữa mọi người ngày càng lớn.
Hiện nay, nhiều ứng dụng hỗ trợ trao đổi thông tin qua mạng internet như: zalo,
messenger, wechat… Các ứng dụng này đáp ứng được yêu cầu của người dùng hiện nay.
Với các ứng dụng như trên người dùng có thể trao đổi thông tin liên lạc, nhắn tin cho bắt
cứ người nào ở đâu trên thế giới chỉ cần với một chiếc điện thoại thông minh và internet.
Áp dụng kiến thức đã học để phát triển ứng dụng như trên là cần thiết. Bởi vì điều
này cho phép học thêm các cơng nghệ mới, rèn luyện kỹ năng lập trình, đồng thời nâng
cao kinh nghiệm và học thêm các kỹ năng quan trọng khác. Chính vì thế, em chọn đề tài
xây dựng hệ thống chat và video call đa nền tảng bằng flutter.
Xây dựng một ứng dụng chat và video call có thể giúp mọi liên lạc với nhau ở bất cứ
mọi nơi trên thế giới. Khơng chỉ vậy, ứng dụng cịn phải giúp người dùng tìm kiếm và kết
nối với nhau để có thể trao đổi liên lạc và chia sẽ file với nhau.

1.2 Khảo sát các ứng dụng tương tự

1.2.1 Ứng dụng Messenger
Messenger về cơ bản là một ứng dụng cho phép người dùng Facebook trò chuyện với
nhau, kết nối và tương tác thơng qua các nhóm chat và nhắn tin riêng với nhau.
Bằng cách sử dụng danh sách bạn bè trên Facebook của bạn như sổ địa chỉ, Facebook
Messenger cho phép bạn gửi và nhận tin nhắn, gọi điện thoại, gửi hình ảnh, tài liệu, ảnh
GIF, và cịn nhiều hơn thế nữa với bất cứ ai mà bạn đang nói chuyện- thậm chí bạn có thể
chơi trị chơi với họ!
Khi bạn đang trị chuyện với một ai đó, bạn có thể chọn gửi video clip, kế hoạch sắp
tới, ảnh GIF, vị trí của bạn, hình ảnh, bản ghi nhớ.
Người dùng thậm chí có thể truy cập vào các tiện ích (Extension) khác nhau của các
ứng dụng và chương trình khác như Spotify, mạng thực phẩm KAYAK, Trivia
Blast,TheScore, Swelly và NBA để gửi trực tiếp những thứ như công thức nấu ăn, số liệu
thống kê, bài báo từ Wall Street Journal và nhiều hơn nữa.
1


Bạn cịn có thể tùy biến giao diện nhắn tin trên ứng dụng messenger dựa trên sở thích
cá nhân.

Hình Giới thiệu.1- Ứng dụng messenger.

1.2.2 Ứng dụng WeChat
Là ứng dụng nhắn tin miễn phí được phát triển bởi trung tâm nghiên cứu và phát
triển Tencent Quảng Châu. WeChat hỗ trợ gửi và nhận các tin nhắn đa phương tiện thông
qua internet trên các thiết bị chạy trên nhiều nền tảng khác nhau.
Wechat cung cấp các tính năng như nhắn tin, mạng xã hội bạn bè, gửi tiền, tặng Hồng
bao lì xì, dịch vụ công cộng, lưu trữ và kết nối liên lạc. Người dùng có thể kết bạn với
nhau bằng cách sử dụng tính năng “lắc kết bạn”, “quét mã QR”, “tìm người xung quanh”.
Những tính năng cơ bản như gửi tin nhắn, gửi đoạn voice âm thanh, gửi ảnh đều được
Wechat tối ưu để sử dụng mượt mà trên nhiều nền tảng và thiết bị khác nhau.

Ngồi ra, cơng cụ Wechat Pay của ứng dụng này là một mắt xích quan trọng giúp giữ
chân người dùng và làm nên thành cơng của ứng dụng.
Ngồi ra Wechat cịn được phát triển để có thể sữ dụng trên nhiều nền tảng khác nhau
như desktop, mobile hay web.

2


Hình Giới thiệu.2- Chức năng của we chat.

1.2.3 Kết luận
Qua 2 app chat ở trên, ta có thể thấy nếu muốn ứng dụng nhắn tin có được nhiều
người quan tâm sử dụng thì chỉ nhắn tin khơng là khơng đủ mà chúng em cịn phải tích
hợp, thêm vào các tính năng mà người dùng cần vào chính ứng dụng của chúng ta. Tạo
sự tiện lợi cho người dùng. Tuy nhiên các tính năng phải đơn giản, dễ sử dụng. Và đây
cũng chính là hướng đi cho ứng dụng nhắn tin thời gian thực của em.

1.3 Phương pháp, kết quả
Phương pháp xây dựng ứng dụng sẽ bao gồm các bước sau:
- Ôn lại các kiến thức cơ bản về các học phần đã học như cơ sở dữ liệu, lập trình
di động …
- Xây dựng cơ sỡ dữ liệu trên firebase.
- Tìm hiểu framework flutter và các API phục vụ cho các sản phẩm.
- Phác thảo sơ bộ giao diện cho sản phẩm và tiến hành xây lập trình giao diện cho
sản phẩm.
- Tiến hành xây dựng backend cho sản phẩm.
- Chạy sản phẩm và tiến hành kiểm thử độ ổn định của sản phẩm trong thực tế.
- Tiến hành viết báo cáo word và chuẩn bị slide powerpoint phục vụ cho việc bảo
vệ khi thi kết thúc học phần.


1.4 Cấu trúc đồ án
Phần tiếp theo của báo cáo bao gồm:
3


Chương 2: Nghiên cứu tổng quan
Trong chương này, chúng em sẽ giới thiệu về các ứng dụng đã có sẵn tương tự với
hệ thống của chúng em. Tiếp theo em sẽ giới thiệu tổng quát về các công nghệ và phần
mềm em sử dụng để xây dựng ứng dụng chat thời gian thực.
Chương 3: Triển khai xây dựng
Trong chương này, em sẽ trình bày vê mơ hình tổng quan của ứng dụng và giới
thiệu về cách triển khai xây dựng ứng dụng chat thời gian thực.
Chương 4: Kết luận và hướng phát triển
Trong chương này, em sẽ chia thành 2 phần. Phần 1 kết luận sẽ giới thiệu về những gì
mà ứng dụng đã được và hạn chế của nó. Phần 2 hướng phát triển sẽ đưa ra những hướng
đi sau này của ứng dụng.

4


Chương 2

Nghiên cứu tổng quan

2.1 Các công nghệ hỗ trợ cho phát triển hệ thống
2.1.1 Google Firebase
Hỗ trợ các lập trình phát triển nhanh các ứng dụng di động bằng cách đơn giản hóa
các thao tác với cơ sở dữ liệu.
Với Firebase bạn có thể rút ngắn thời gian phát triển, triển khai và thời gian mở rộng
quy mô của ứng dụng mobile mình đang phát triển.

Hỗ trợ cả 2 nền tảng Android, IOS, web. Firebase mạnh mẽ, đa năng, bảo mật và là
dịch vụ cần thiết đầu tiên để xây dựng ứng dụng với hàng triệu người sử dụng.
Các lợi ích mà firebase đem đến cho người sử dụng:
 Realtime Database: Lưu trữ và đồng bộ dữ liệu người dùng thời gian thực.


Authentication: Quản lý người dùng một cách đơn giản và an toàn.

 Cloud Storage: Lưu trữ và chia sẻ nội dung do người dùng tạo ra như hình
ảnh, âm thanh và video với bộ nhớ đối tượng mạnh mẽ.
 Google Analytics: Phân tích thuộc tính và hành vi của người dùng trong
một bảng điều khiển đơn để đưa ra các quyết định sáng suốt về lộ trình sản
phẩm của bạn.

Hình Nghiên cứu tổng quan.3-Dashboard firebase trên web.

5


2.1.2 Flutter là gì?
Flutter là nền tảng phát triển ứng dụng đa nền tảng cho iOS và Android, web do
Google phát triển. Flutter sử dụng ngôn ngữ Dart cũng do Google phát triển và flutter
cũng đã được sử dụng để tạo ra các ứng dụng native cho Google.

Hình Nghiên cứu tổng quan.4-Framework Flutter.

Ưu điểm của flutter:


Mạnh về hiệu ứng, hiệu suất ứng dụng rất cao.




Giao tiếp gần như trực tiếp với hệ thống



Ngôn ngữ kiểu tĩnh nhưng với cú pháp hiện đại (tương tự JS, Python, Java),
compiler linh động khi dùng AOT (cho sản phẩm cuối) và JIT (cho quá trình phát
triển với hot reload)



Có thể chạy được giả lập mobile ngay trên web, tiện cho việc phát triển. Các bộ đo
lường chỉ số hiệu suất được hỗ trợ sẵn giúp lập trình viên kiểm sốt tốt hiệu suất
của ứng dụng. Có thể dùng để xây dựng các nền tảng gắn vào ứng dụng native để
tăng hiệu suất.

2.2 Nguyên lý hoạt động của hệ thống
2.2.1 Nguyên lý hoạt động của chức năng nhắn tin
a. Khi gửi tin nhắn.
Để bắt đầu gửi tin nhắn, ta chuyển đến giao diện nhắn tin. Khi vào giao diện, ta có
một số sự lựa chọn khi nhắn tin là gửi tin nhắn dưới dạng văn bản, emoji, hình ảnh. Sau
6


khi ta chọn một dạng tin nhắn và nhấn button để gửi thì hệ thống sẽ lấy thơng tin liên
quan đến tin nhắn đó như: id của người gửi, id của người nhận, kiểu tin nhắn, tin nhắn,
thời gian gửi. Riêng phần khi ta gửi tin nhắn là ảnh thì hệ thống sẽ tự động tải ảnh đưa
lên cơ sỡ lưu trữ ảnh trên firebase và lấy về đường link của ảnh. Sau khi hệ thống lấy

được thơng tin thì sẽ đưa tất cả các thông tin vào một mảng với mỗi một tin nhắn là một
đối tượng. Sau khi có được mảng thì hệ thống lại tạo ra một cơ sỡ dữ liệu dưới dạng
NoSQL trên firebase.

Hình Nghiên cứu tổng quan.5- Cỡ sở dữ liệu NoSQL trên cloud của firebase.

Trong đó message là tên của bộ cơ dữ liệu. Tiếp theo là danh sách id của người gửi tin
nhắn. Nối liền là id của người nhận. Sau khi có được cơ sỡ dữ liệu thì hệ thống sẽ gửi
mảng thơng tin đã có lên firebase kèm theo id của tin nhắn.

Hình Nghiên cứu tổng quan.6- Tin nhắn dạng emoji được lưu trữ trên cloud firebase.

Hình Nghiên cứu tổng quan.7- Tin nhắn dạng hình ảnh được lưu trữ trên firebase.

7


Hình Nghiên cứu tổng quan.8- Biểu đồ hoạt động chức năng nhắn tin.

b. Đọc tin nhắn.
Khi vào giao diện nhắn tin giữa ta và bạn để xem lại các tin nhắn cũ. Thì hệ thống sẽ
tự động lấy id của người dùng và id của người ta đã nhắn tin. Sau đó hệ thống sẽ gửi yêu
cầu lên firebase và lấy dữ liệu về hệ thống theo đường dẫn là “message / id của người
dùng / id của người nhận tin nhắn”. Sau khi lấy được dữ liệu từ firebase, hệ thống sẽ đưa
dữ liệu vào mảng đối tượng và thực hiện kiểm tra tin nhắn. Nếu tin nhắn có id của người
gửi giống với id của người dùng hiện tại thì nó sẽ đưa tin nhắn hiển thị ở phía bên phải,
ngược lại thì nó sẽ hiển thị bên trái. Tiếp theo nó sẽ kiểm tra tin nhắn đang ở dạng nào.
Nếu tin nhắn có dạng là văn bản thì tin nhắn hiển thị tin nhắn ở dạng văn bản. Cịn tin
nhắn là dạng image thì nó sẽ hiển thị hình ảnh.


8


Hình Nghiên cứu tổng quan.9- Biểu đồ hoạt động chức năng đọc tin nhắn.

2.3 Nguyên lý hoạt động chức năng gọi video
2.3.1 Nguyên lý hoạt động gọi video bằng Agora
Phần gọi video, hệ thống sử dụng tính năng video call của Agora. Đây là một sdk
được phát triển bởi Agora và chạy trên cơ sở hạ tầng tự xây dựng của Agora là mạng thời
gian thực do phần mềm xác định (SD-NTR).
    SD-NTR là cơ sở hạ tầng mạng duy nhất được thiết kế đặc biệt cho truyền thông thời

gian thực trên thế giới. Dựa trên công nghệ nền tảng “Mạng do phần mềm xác định” (SDN).
SDN là kiến trúc mạng sử dụng bộ điều khiển dựa trên phần mềm hoặc giao diện lập trình

ứng dụng (API) để giao tiếp với cơ sở hạ tầng phần cứng bên dưới và lưu lượng truy cập
trực tiếp trên mạng. SDN có thể tạo và điều khiển mạng ảo - hoặc điều khiển phần cứng
truyền thống - thông qua phần mềm.
9


Mặc dù ảo hóa mạng cho phép các tổ chức phân đoạn các mạng ảo khác nhau trong
một mạng vật lý duy nhất hoặc kết nối các thiết bị trên các mạng vật lý khác nhau để tạo
ra một mạng ảo duy nhất, mạng do phần mềm xác định cho phép một cách mới để kiểm
soát việc định tuyến các gói dữ liệu thơng qua một máy chủ tập trung .

Hình Nghiên cứu tổng quan.10- Cơ sở hạ tầng của Agora.

2.3.2 Nguyên lý hoạt động gọi video bằng agora trên hệ thống
Khi bất đầu một cuộc gọi video. Thì hệ thống sẽ tiến hành lấy một số thông tin của

người gọi và người nhận cuộc gọi bao gồm id, tên, hình ảnh đại diện và tạo ra một
channelId tự động. Sau đó các thơng tin sẽ được đưa vào một mảng đối tượng.
Sau khi có được thơng tin trong mảng. Hệ thống sẽ tạo một cơ sở dữ liệu tạm thời
trên Firebase. Dữ liệu này bao gồm thông tin cơ bản của người gửi và người nhận cuộc
gọi. Sau đó hệ thống sẽ tiếp tục tạo một cuộc gọi video bằng sdk video call của agora.
Trong đó lấy giá trị channelId vừa được tạo ở phía trên để làm id cho cuộc gọi video này.
Sau khi tạo xong cuộc gọi thì chuyển tới giao diện chờ nhận cuộc gọi.
Cịn bên người nhận, hệ thống sẽ lấy dữ liệu cuộc gọi từ Firebase theo thời gian thực.
Nếu có cuộc gọi thì hệ thống sẽ chuyển tới giao diện nhận cuộc gọi. Người nhận ở đây
nếu chấp nhập cuộc gọi thì sẽ được chuyển tới giao diện gọi video. Còn bên người gọi thì
hệ thống sẽ tự động kiểm tra. Nếu thấy bên người nhận đã chấp nhận thì bên người gọi sẽ

10


tự động chuyển tới giao diện gọi. Khi nhấn kết thúc cuộc gọi thì hệ thống sẽ tự động xóa
dữ liệu cuộc gọi được tạo trên firebase trước đó và trở về giao diện nhắn tin.

Hình Nghiên cứu tổng quan.11- Dữ liệu cuộc gọi trên Firebase.

11


Chương 3

Triển Khai Xây Dựng Hệ Thống

3.1 Xây dựng cơ sở dữ liệu trên firebase
Ta sẽ tiến hành xây dựng cơ sỡ dữ liệu trên Firebase Firestore. Dữ liệu ở trên này sẽ
được lưu trữ dưới dạng NoSQL. Khi lấy dữ liệu, ta sẽ đọc hàm để ánh xạ vào các trường

chứa dữ liệu.

Hình Triển Khai Xây Dựng Hệ Thống.12- Dữ liệu lưu trữ trên cloud firebase

3.2 Giao diện ứng dụng
Khi bắt đầu, giao diện ứng dụng sẽ hiển thị dưới dạng tabItem. Với tab đầu tiên chứa
danh sách người dùng. Ở trên toolbar thì hiển thị 4 phần bao gồm: icon chuông hiển thị
thông báo, textView hiển thị tên viết tắt, một icon chuyển hướng đến phần tìm kiếm và
một menu.

Hình Triển Khai Xây Dựng Hệ Thống.13- Giao diện chính của ứng dụng.

12


Khi nhấn chọn icon tìm kiếm thì nó sẽ chuyển ta sang giao diện của phần tìm kiếm. Ở
đây ta sẽ nhập tên của người dùng. Và nó sẽ tự động lọc ra danh sách những người dùng
có tên giống với tên ta đã chọn. Ở đây nó sẽ hiển thị dưới dạng listview với mỗi item bao
gồm ảnh, username và name.

Hình Triển Khai Xây Dựng Hệ Thống.14- Phần tìm kiếm của ứng dụng.

Trên một giao diện nhắn tin thì phần toolbar sẽ thể hiện tên người ta sẽ nhắn tin, và
icon gọi thường và video call. Phần giữa hiển thị tin nhắn giữa hai người dùng, người gửi
thì tin nhắn nằm bên phải và người nhận hiển thị bên trái. Phần cuối giao diện chứa các
sự lựa chọn dạng tin nhắn mà ta nhắn.

Hình Triển Khai Xây Dựng Hệ Thống.15- Khi hai thiết bị nhắn tin với nhau.

13



Khi nhấn nút video call thì nó sẻ chuyển đến phần giao diện đợi cuộc gọi. Cịn bên
người nhận thì hiển thị có tiếp nhận cuộc gọi hay khơng. Khi nhận thì cuộc gọi sẽ chuyển
đên giao diện như hình dưới.

Hình Triển Khai Xây Dựng Hệ Thống.16- Gọi video call giữa hai người dùng.

14


Chương 4

Kết luận và Hướng phát triển

4.1 Kết luận
Nhìn chung, sau khi kết thúc đề tài chúng em đã đạt được những điều sau đây:
-

Nắm bắt được công nghệ lập trình mobile, cụ thể là lập trình android.

-

Sử dụng được công nghệ Firebase cho ứng dụng mobile.

-

Bước đầu thành công cơ bản của ứng dụng “chat và video call đa nền tảng bằng
flutter” đã đáp ứng được một số yêu cầu cơ bản như sau:
 Tạo được tài khoản, đăng nhập và đăng xuất.

 Tìm kiếm bạn bè.
 Nhắn tin với nhau dựa trên thời gian thực.
 Trao đổi các file hoặc hình ảnh với nhau.
 Gọi video vơi nhau

Bên cạnh đó, nó cịn một số hạn chế như sau:
-

Giao diện của app cịn chưa được đẹp.

-

Trong q trình sử dụng có thể gặp một số lỗi hiển thị.

-

Chưa phân biệt được file ảnh với các loại file khác.

-

Thời gian load dữ liệu từ server về hơi lâu.

4.2 Hướng phát triển
Các hướng phát triển mà em sẽ hướng đến là:
-

Liên kết với các mạng xã hội khác

-


Tích hợp thêm các tính năng mới để nâng cao trải nghiệm người dùng.

-

Phát triển thêm nhiều tính năng bổ ích cho người dùng.

15



×