Tải bản đầy đủ (.docx) (28 trang)

đỒ án xây dựng ứng dụng tìm bạn tâm sự

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.98 MB, 28 trang )

2

ĐẠI HỌC QUỐC GIA THÀNH PHỐ 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 2
Đề Tài: Xây dựng ứng dụng tìm bạn
tâm sự

Sinh viên thực hiện:
Lê Hoàng Long - 17520709
Nguyễn Văn Tuấn: 17521218
GVHD:
Th.s Lê Thanh Trọng

TP. Hồ Chí Minh, ngày 12 tháng 01 năm 2021


NHẬN XÉT CỦA GIẢNG VIÊN
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................


. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................
. ..........................................................................................................................................................

. ..........................................................................................................................................................
. ..........................................................................................................................................................

2


LỜI CẢM ƠN
Trước tiên nhóm chúng em xin gửi chân thành nhất đến thầy Lê Thanh Trọng.
Chính nhờ sự giúp đỡ cũng như chia sẻ của thầy cùng những lời góp ý, phản biện mà
nhóm có thể hồn thành ra được một sản phẩm khá hoàn thiện.
Tuy vậy, trong quá trình thực hiện đồ án, viết báo cáo việc khơng tránh khỏi
những thiếu sót là điều chắc chắn. Vì thế, nhóm rất mong nhận được những ý kiến đóng
góp quý báu của quý Thầy để nhóm có thể rút kinh nghiệm và hồn thiện đồ án một
cách tốt nhất.
Nhóm em xin chân thành cảm ơn!

Tp. Hồ Chí Minh, tháng 07 năm 2020

Nhóm thực hiện.

Lê Hồng Long
Nguyễn Văn Tuấn


Mục Lục
Contents
NHẬN XÉT CỦA GIẢNG VIÊN......................................................................................................................2
LỜI CẢM ƠN.....................................................................................................................................................3
CHƯƠNG 1: TỔNG QUAN..............................................................................................................................5
1.1 Giới thiệu chung.......................................................................................................................................5

1.2 Xu thế nghiên cứu và phát triển ứng dụng mạng xã hội kết bạn..........................................................5
1.3 Các ứng dụng mạng xã hội tìm bạn hiện nay.........................................................................................6
1.3 Tổng quan quá trình nghiên cứu...........................................................................................................10
1.4 Mục tiêu đề tài........................................................................................................................................10
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT XÂY DỰNG ỨNG DỤNG...................................................................11
2.1 Tìm hiểu về Flutter.................................................................................................................................11
2.1.1 Giới thiệu Flutter.............................................................................................................................11
a. Flutter là gì?..............................................................................................................................................11
b. Ưu điểm của flutter..................................................................................................................................11
c. Nhược điểm của flutter.............................................................................................................................11
2.2 Tìm hiểu về Dart.....................................................................................................................................12
Dart tại trang chủ của nó />2.3 Tìm hiểu về Firebase..............................................................................................................................13
CHƯƠNG 3: Phân tích chức năng ứng dụng.................................................................................................16
3.1 Thiết kế màn hình..................................................................................................................................16
3.1.1

Màn hình đăng nhập.......................................................................................................................16

a. Màn hình.................................................................................................................................................16
16
b. Chức năng...............................................................................................................................................16
Sử dụng tài khoản đã đăng ký đăng nhập vào ứng dụng..........................................................................16
3.1.2

Màn hình đăng ký............................................................................................................................16

a. Màn hình.................................................................................................................................................17
17
b. Mơ tả chức năng.....................................................................................................................................17
Đăng ký tài khoản để đăng nhập ứng dụng................................................................................................17



3.1.3

Màn hình trang chủ.........................................................................................................................17

a. Màn hình.................................................................................................................................................17
18
b. Mơ tả chức năng.....................................................................................................................................18
Màn hình chính............................................................................................................................................18
3.1.4

Màn hình kết bạn............................................................................................................................18

a. Màn hình.................................................................................................................................................18
19
b. Mơ tả chức năng.....................................................................................................................................19
Xem danh sách bạn bè và nhắn tin.............................................................................................................19
3.1.5

Màn hình tài khoản cá nhân...........................................................................................................19

a. Màn hình.................................................................................................................................................19
20
b. Mơ tả chức năng.....................................................................................................................................20
Quản lí bài viết và thồn tin của bạn của bạn..............................................................................................20
3.1.6

Màn hình nghe nhạc........................................................................................................................20


a. Màn hình.................................................................................................................................................20
21
b. Mơ tả chức năng.....................................................................................................................................21
Nghe nhạc và thư giãn cùng bạn bè............................................................................................................21
3.1.7

Màn hình bài viết.............................................................................................................................21

a. Màn hình.................................................................................................................................................21
22
b. Mô tả chức năng.....................................................................................................................................22
Đăng bài viết và tương tác với bạn bè.........................................................................................................22
CHƯƠNG 4: KẾT LUẬN................................................................................................................................23
4.1Kết quả đạt được.....................................................................................................................................23
4.2 Hạn chế...................................................................................................................................................23


CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu chung
Dating app, hay còn gọi là ứng dụng tìm bạn tâm sự, hẹn hị là một nơi để các
đối tượng cịn độc thân tìm kiếm bạn đời, trò truyện với những người bạn xung
quanh hay chỉ đơn giản những người đang cô đơn cần tìm bạn bè để tâm sự
chia sẻ những trải nghiệm cuộc sống. Ứng dụng hẹn hị, tìm bạn tâm sự hay chỉ
đơn giản những người đang cơ đơn cần tìm bạn bè để tâm sự chia sẻ những
trải nghiệm của cuộc sống.
Các ứng dụng kết bạn tâm sự hiện nay có nhiều tính năng và hình thức khác
nhau, linh hoạt vận hành trên nhiều loại thiết bị điện tử hơn như điện thoại,
máy tính bảng , laptop … phục vụ rất hiệu quả cho như cầu người dùng hiện
nay.
1.2 Xu thế nghiên cứu và phát triển ứng dụng mạng xã hội kết bạn

Với sự phát triển bùng nổ của Internet, các mạng xã hội phổ biến hiện
nay như: Zalo, Facebook, Instagram, Viber … hay các trang web hẹn hò
bốn phương trở thành những kênh để việc kết nối, làm quen qua mạng
trở nên vơ cùng đơn giản.
Thêm vào đó phổ biến của điện thoại thông minh, các ứng dụng di động
cũng ngày một được đa dạng hóa để phù hợp với nhiều nhu cầu hơn,
trong đó bao gồm những ứng dụng dùng để hẹn hị.
Hiện nay, các ứng dụng tìm bạn, hẹn hò được phân ra 3 loại cơ bản như
 Ứng dụng chia sẻ cảm xúc,liên lạc,cách khoảnh khắc trong cuộc sống
bằng các bảng tin. (Face
 Ứng dụng kết bạn


 Các giao diện đàm thoại. Một mơ hình mới để tương tác với các dịch vụ
trực tuyến.
1.3 Các ứng dụng mạng xã hội tìm bạn hiện nay
 Facebook:
Thơng qua mạng xã hội Facebook, người dùng tương tác với nhau nhiều hơn,
kết nối tất cả mọi người, dù bạn có thể chưa từng gặp mặt nhưng thơng
Facebook, bạn có thể dễ dàng làm quen và tìm hiểu với những người bạn mới.
Tại Việt Nam đã có hơn 69 triệu tài khoản Facebook. Chiếm 2/3 dân số Việt Nam
(96,2 triệu người – số liệu năm 2019, Theo gso.gov.vn). Trong đó người dùng
Facebook Việt Nam có đến 50,7% là nam giới, cịn lại 49,3% là nữ giới và giới
tính khác.

 Instagram
Instagram là một mạng xã hội chuyên chia sẻ ảnh và video nên bản thân nó
được thiết kế dựa trên cơ sở sáng tạo ra những hình ảnh đẹp và thu hút. Đồng
thời, nó cũng cung cấp rất nhiều các chế độ chỉnh sửa ảnh và video khác nhau
theo sở thích của người dùng.



Instagram bây giờ có nhiều hơn 1 tỷ người dùng hoạt động hàng tháng. Con số
này gấp hơn ba lần số người dùng hoạt động hàng tháng của TWITTER và trong
khi hiện đang theo dõi người dùng WhatsApp và Facebook Messenger.

 Tinder
Tinder là ứng dụng di động tìm kiếm xã hội dựa trên vị trí và ứng dụng Web
thường được sử dụng làm dịch vụ hẹn hò trực tuyến, cho phép người dùng sử
dụng chuyển động vuốt để thích (vuốt sang phải) hoặc khơng thích (vuốt sang
trái) và cho phép người dùng trị chuyện nếu cả hai bên đều thích nhau ("hợp
nhau").
Tinder có mặt ở 196 quốc gia khác nhau. Trong đó, 3 quốc gia sử dụng nhiều
nhất là Mỹ, Brazil và Anh. Có hơn 50 triệu người dùng Tinder và Trung bình mỗi
ngày, một người dùng đăng nhập vào Tinder 11 lần


 Lotus
Là mạng xã hội đa nền tảng, Lotus dưới sự điều hành của tập đoàn VCCorp đã
trở thành một cộng đồng thông tin thu hút người Việt Nam sử dụng theo đúng
với slogan quen thuộc “Người Việt Nam dùng hàng Việt Nam”. Ứng dụng này
cung cấp đa dạng các tính năng như: Tương tác với người nổi tiếng, Chia sẻ tiện
ích, Chia sẻ và nâng cao ý thức cộng đồng, Hoạt động dựa trên tin tức và cộng
đồng.


Các ứng dụng mạng xã hội kết bạn hẹn hò đều rất đa dạng và phong phú , đáp ứng tốt nhu cầu
của người dùng hiện nay.Là cầu nối quan trọng trong việc nối kết mọi người lại với nhau.



 Hệ sinh thái, các project mã nguồn mở để xây dựng chatbot ngày càng hồn
thiện và đầy đủ, có thể sử dụng trên hầu hết các môi trường develop.
 Các ngơn ngữ cũng có những thư viện dành riêng cho ChatBot, các platform có
cơng cụ phát triển đầy đủ.


1.3 Tổng quan quá trình nghiên cứu
Trong thời đại bùng nổ của tin nhắn cũng như thời đại công nghệ 4.0 thì chatbot ra
đời như một phần thiết yếu giúp mọi thứ trở nên tự động hơn thay vì một chủ cửa hàng
phải trả lời tin nhắn hỏi mua sản phẩm của hơn nghìn người gửi đến thì chatbot sẽ tự
động làm việc đó. Ứng dụng những ưu điểm của chatbot thì nhóm em có chọn đề tài xây
dụng chatbot để hỗ trợ học tập cho sinh viên, và tập trung vào xây dựng một con bot
cho việc học tập mơn “Lập trình hướng đối tượng” là một mơn nền tảng nhưng cũng khá
khó đối với các bạn sinh viên năm nhất, năm hai tại trường. Đề tài có ứng dụng việc xử lý
ngôn ngữ tự nhiên để hiểu được những câu hỏi của các bạn sinh viên để đưa ra câu trả
lời chính xác.Ngồi ra các câu trả lời có thể chỉnh sửa được nếu có sai xót. Ứng dụng hi
vọng sẽ giúp được các bạn sinh viên trong quá trình học tập.

1.4 Mục tiêu đề tài
 Tạo ứng dụng kết nối bạn bè bốn phương, kết nối bạn bè, chia sẻ cảm xúc trong
cuộc sống.
 Tìm hiểu ngơn ngữ lập trình Dart và framwork UI Flutter.
 Tìm hiểu và sử dụng dịch vụ cơ sở dữ liệu Firebase ứng dụng vào việc phát triển
Phần mền tìm bạn
 Giúp người dùng thư giãn khi sử dụng ứng dụng bằng âm nhạc.


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT XÂY DỰNG ỨNG
DỤNG
2.1


Tìm hiểu về Flutter

2.1.1 Giới thiệu Flutter

a. 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 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.
 Ngôn ngữ DART là ngôn ngữ thuần hướng đối tượng được Google giới thiệu từ
năm 2011, với mục đích cung cấp sự lựa chọn hiện đại hơn nhưng không thay
thế Javascript. Tối ưu cho client, nhất là ứng dụng đa nền tảng.

b. Ư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.

c. Nhược điểm của flutter
 Bộ render UI được nhóm phát triển gần như viết lại, khơng liên quan tới UI có sẵn của
Framework native, dẫn đến memory sử dụng khá nhiều. Hơn nữa, các UI không đi
chung với OS, mà được phát triển riêng, nghĩa là cùng 1 phiên bản Flutter khi tạo ra
ứng dụng cho iOS thì iOS 8.x -> 12.x đều y chang nhau, tương tự như với Android.

Nhưng UI của Android thì tất nhiên khác với iOS.


 Phải học thêm ngơn ngữ DART: lập trình viên biết về DART khơng nhiều, cũng có rủi
ro là học xong DART sẽ dính liền ln với DART ở mảng phát triển ứng dụng mobile.
Chứ không uyển chuyển như JS hay Python có thể nhảy qua lại giữa front, back hay
AI…
 Mơ hình dữ liệu mới: bloc pattern, DART Streaming; nếu đã quen với Redux khi làm
phát triển React Native, bạn sẽ mất thời gian để học thêm mơ hình dữ liệu trong
Flutter, mặc dù nó khơng khó.


Là con cưng của Google, tuy nhiên hãng dính nhìu phốt với thói quen “quăng con

giữa chợ” nên cũng cần cân nhắc. Tuy nhiên, mình nhận thấy Flutter rất tốt, tốt hơn
nhiều so với những cái mà Google từng làm ra như Angular
2.2

Tìm hiểu về Dart

a. Dart là gì?

Dart là gì? Dart là ngơn ngữ lập trình đa mục đích ban đầu được phát triển bởi Google
và sau đó được Ecma (ECMA-408) phê chuẩn làm tiêu chuẩn. Nó được sử dụng để xây
dựng các ứng dụng web, server, máy tính để bàn và thiết bị di động. Dart là một ngôn
ngữ hướng đối tượng, được xác định theo lớp, với cơ chế garbage-collected, sử dụng
cú pháp kiểu C để dịch mã tùy ý sang JavaScript. Nó hỗ trợ interface, mixin, abstract,
generic, static typing và sound type (2 cái cuối có thể hiểu là type-safe). Dart là ngơn
ngữ mã nguồn mở và miễn phí, được phát triển trên GitHub. Hiện nay Dart đã release
phiên bản 2.10


b. Những ưu điểm của dart.



Năng suất Cú pháp Dart rõ ràng và súc tích, cơng cụ của nó đơn giản nhưng mạnh mẽ.
Type-safe giúp bạn xác định sớm các lỗi tinh tế. Dart có các thư viện cốt lõi và một hệ
sinh thái gồm hàng ngàn package.



Nhanh Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có được dự đốn
hiệu suất cao và khởi động nhanh trên các thiết bị di động và web.




Di động Dart biên dịch thành mã ARM và x86, để các ứng dụng di động của Dart có
thể chạy tự nhiên trên iOS, Android và hơn thế nữa. Đối với các ứng dụng web,
chuyển mã từ Dart sang JavaScript.



Dễ gần Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và định
hướng đối tượng khơng gây ngạc nhiên của nó. Nếu bạn đã biết C ++, C # hoặc Java,
bạn có thể làm việc hiệu quả với Dart chỉ sau vài ngày.



Reactive Dart rất phù hợp với lập trình Reactive, với sự hỗ trợ để quản lý các đối

tượng tồn tại trong thời gian ngắn, chẳng hạn như các widget UI, thông qua phân bổ
đối tượng nhanh và GC. Dart hỗ trợ lập trình khơng đồng bộ thơng qua các tính năng
ngơn ngữ và API sử dụng các đối tượng Future và Stream.

Dart tại trang chủ của nó />
2.3

Tìm hiểu về Firebase

 Firebase là một nền tảng phát triển ứng dụng di động và web. Họ cung cấp
rất nhiều công cụ và dịch vụ để phát triển ứng dụng chất lượng, rút ngắn
thời gian phát triển và phát triển cơ sở người dùng mà không cần quan tâm
đến hạ tầng phần cứng.
 Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh
mẽ của Google. Firebase cung cấp cho chúng ta những API đơn giản, mạnh
mẽ và đa nền tảng trong việc quản lý, sử dụng database. Đơn giản vì giờ
chúng ta chỉ cần phải lo phát triển phía Client( Ứng dụng mobile), cịn phần
backend(server) đã có Firebase lo, chúng ta chỉ cần gọi API là đủ
Những dịch vụ mà Firebase cung cấp như:
a. Realtime Database


Firebase Realtime Database là kiểu dữ liệu NoSQL được lưu trữ trên
cloud, cho phép bạn lưu trữ và đồng bộ dữ liệu người dùng theo thời gian
thực.

Realtime syncing( đồng bộ theo thời gian thực) giúp người dùng truy cập
vào dữ liệu của họ ở bất kỳ thiết bị nào.
Có một ưu điểm của Realtime Database là Firebase sẽ cung cấp cho bạn
một bộ SDK để bạn dễ dàng xây dựng ứng dụng mobile, web mà không

cần một server.
Khi thiết bị ngoại tuyến(offline), Realtime Database SDK sẽ sử dụng bộ
nhớ của thiết bị. Ứng dụng vẫn tương tác với người dùng như bình
thường. Đến khi thiết bị online trở lại, nó tự động đồng bộ lên server.
b. Authentication
Với tính năng này của Firebase, bạn sẽ dễ dàng xây dựng tính năng login
mà không cần phải sử dụng dữ liệu đăng ký riêng. Trước mình cũng có bài
viết hướng dẫn các bạn sử dụng tính năng này để xây dựng tính năng xác
thực bằng React native.
Firebase cung cấp một số phương pháp authenticate cho ứng dụng của
bạn như:
 Email & Password


 Phone numbers
 Google
 Facebook
 Twitter
c. Firebase Cloud Messaging (FCM)
Đây chính là tính năng khởi thủy của Firebase, giúp chúng ta xây dựng ứng
dụng chat -trị chuyện. Giờ đây, nó cịn cho phép bạn đẩy thơng báo( push
notification) tới nhiều thiết bị Android, IOS hay Web. Bạn có thể gửi thông
báo(tối đa 2KB) hay tin nhắn( giới hạn 4KB) với độ tin cậy cao và được tối
ưu cho Battery. Với FCM, bạn có thể tích hợp với Firebase Analytics để bạn
có thể dễ dàng phân tích người dùng, từ đó đưa ra chiến lược marketing
hợp lý.
d. Firebase Database Query
Bình thường, khi các bạn làm việc với database như MySQL, SQL Server…
bạn muốn lấy dữ liệu ra thì sẽ cần phải query vào database với câu lệnh
SQL rất phực tạp. Fireabase database query giúp đơn giản hóa q trình

này.
e. Remote Config
Là một phần của dịch vụ Firebase, Remote Config là dịch vụ cloud
với mục đích giúp đơn giản q trình phát triển ứng dụng mobile
và cả testing ứng dụng.
Bạn có thể sử dụng Firebase Remote Config để xác định tham số
trong ứng dụng của mình và cập nhật giá trị của chúng trên
cloud, cho phép bạn sửa đổi giao diện và behavior của ứng dụng
mà không cần đưa ra một bản update nào cả.


CHƯƠNG 3: Phân tích chức năng ứng dụng
3.1 Thiết kế màn hình
3.1.1 Màn hình đăng nhập.
a. Màn hình

b. Chức năng
Sử dụng tài khoản đã đăng ký đăng nhập vào ứng dụng
3.1.2 Màn hình đăng ký
a. Màn hình


b. Mô tả chức năng
Đăng ký tài khoản để đăng nhập ứng dụng
3.1.3 Màn hình trang chủ
a. Màn hình


b. Mơ tả chức năng
Màn hình chính

3.1.4 Màn hình kết bạn
a. Màn hình


b. Mô tả chức năng
Xem danh sách bạn bè và nhắn tin
3.1.5 Màn hình tài khoản cá nhân
a. Màn hình


b. Mơ tả chức năng
Quản lí bài viết và thồn tin của bạn của bạn
3.1.6 Màn hình nghe nhạc
a. Màn hình


b. Mô tả chức năng
Nghe nhạc và thư giãn cùng bạn bè
3.1.7 Màn hình bài viết
a. Màn hình


b. Mô tả chức năng
Đăng bài viết và tương tác với bạn bè


CHƯƠNG 4: KẾT LUẬN
4.1Kết quả đạt được
 Hiểu hơn về ngơng ngữ lập trình dart và flutter.
 Có kinh nghiệm hơn trong việc làm việc nhóm, quản lý thời gian và quản lý source

code
 Hiểu hơn về quy trình và nhiệm vụ của một ứng dụng kết bạn

4.2 Hạn chế
 Do thời gian thực hiện đồ án không quá nhiều và kiến thức cũng như khả năng
tự nghiên cứu của các thành viên trong nhóm cịn có hạn nên nhóm chỉ thực
hiện được một số chức năng chính cho ứng dụng.
 Một số tính năng nâng cao cho ứng nhóm chưa thể hồn thành và hi vọng sẽ có
thời gian thực hiện đầy đủ hơn ở khóa luận tốt nghiệp

TÀI LIỆU THAM KHẢO
Một số link nhóm tham khảo để thực hiện đồ án:
 /> /> /> />

×