1. Trang chủ
  2. » Cao đẳng - Đại học

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

28 37 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 2,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CHƯƠNG 1: TỔNG QUAN1.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

Trang 1

ĐẠ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

Trang 2

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

Trang 3

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ể hoà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ỏinhữ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 đónggóp quý báu của quý Thầy để nhóm có thể rút kinh nghiệm và hoàn thiện đồ án mộtcá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ê Hoàng Long Nguyễn Văn Tuấn

Trang 4

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ó https://www.dartlang.org/ 13

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

Trang 5

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

Trang 6

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

Trang 7

 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

 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

Trang 8

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

Trang 9

 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

Trang 10

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.

Trang 11

 Hệ sinh thái, các project mã nguồn mở để xây dựng chatbot ngày càng hoà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 đủ

Trang 12

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àngphả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âydụ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 botcho 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.Ngoà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 hivọ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

Trang 13

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 soá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ủaFramework 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

Trang 14

 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 luôn 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âydự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 đã releasephiê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ự đoán

hiệu suất cao và khởi động nhanh trên các thiết bị di động và web

Trang 15

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

2.3 Tìm hiểu về Firebase

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

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

Trang 16

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 gianthự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

Trang 17

 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 quá trình

mà không cần đưa ra một bản update nào cả

Trang 18

CHƯƠNG 3: Phân tích chức năng ứng dụng

Trang 19

b Mô tả chức năng

Đăng ký tài khoản để đăng nhập ứng dụng

a Màn hình

Trang 20

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

a Màn hình

Trang 21

b Mô tả chức năng

Xem danh sách bạn bè và nhắn tin

a Màn hình

Trang 22

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

a Màn hình

Trang 23

b Mô tả chức năng

Nghe nhạc và thư giãn cùng bạn bè

a Màn hình

Trang 24

b Mô tả chức năng

Đăng bài viết và tương tác với bạn bè

Trang 25

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ể hoà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:

 https://firebase.google.com/docs

 https://stackoverflow.com/

 https://dart.dev/

 https://flutter.dev/

Ngày đăng: 05/09/2021, 20:48

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w