TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU
KHOA CÔNG NGHỆ KỸ THUẬT NÔNG NGHIỆP CÔNG NGHỆ CAO
----------
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI: ỨNG DỤNG QUẢN LÝ CÁC THÔNG BÁO
NSOCIAL
Trình độ đào tạo
: Đại học
Ngành
: Công nghệ thông tin
Chuyên ngành
: Lập trình ứng dụng điện thoại di động và game
Khóa học
: 2018-2021
Lớp
: DH18LT
Sinh viên thực hiện
: Lê Hoàng Nêu
Mã số sinh viên
: 18033883
GVHD
: TS. Phan Ngọc Hoàng
BÀ RỊA - VŨNG TÀU, NĂM 2021
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
1
LỜI CẢM ƠN
Để hoàn thành đề tài báo cáo đồ án này trước hết, em xin gửi đến quý thầy, cô giáo
trong khoa Công nghệ kỹ thuật – Nông nghiệp công nghệ cao trường Đại học Bà Rịa –
Vũng Tàu lời cảm ơn chân thành.
Đặc biệt, em xin gửi đến thầy Phan Ngọc Hoàng, người đã tận tình hướng dẫn, giúp
đỡ em hoàn thành đề tài đồ án tốt nghiệp lời cảm ơn sâu sắc nhất.
Em xin chân thành cảm ơn Ban Lãnh Đạo, các phòng ban của công ty cổ phần công
nghệ W360S, đã tạo điều kiện thuận lợi cho em được tìm hiểu thực tiễn cũng như những
nền tảng, kiến thức cần thiết giúp em hoàn thành sản phẩm của mình trong suốt quá trình
thực tập tại công ty.
Đồng thời xin chân thành cảm ơn Ban lãnh đạo trường Đại học Bà Rịa – Vũng Tàu
đã cho môi trường học tập lành mạnh và năng động. Kính chúc Trường Đại học Bà Rịa –
Vũng Tàu tiếp túc gặt hái nhiều thành công trên con đường giáo dục thế hệ trẻ.
Và cuối cùng là con xin cảm ơn ba mẹ đã hi sinh, chăm sóc, dành tất cả tâm huyết,
sức lực để cho con có một môi trường học tập và thực tập tốt. Vì những hi sinh công sức
của ba mẹ nên con sẽ cố gắng hết sức trong con đường tương lai sau này của mình.
Vì kiến thức bản thân còn hạn chế và trình độ lý luận cũng như kinh nghiệm thực tiễn
còn hạn chế nên bài báo cáo không thể tránh khỏi những thiếu sót, em rất mong nhận được
ý kiến đóng góp thầy, cô để em học thêm được nhiều kinh nghiệm và sẽ hoàn thiện bản
thân đáp ứng với nhu cầu công việc thực tế trong tương lai.
Em xin chân thành cảm ơn!
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
2
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong đồ án là sản phẩm của riêng cá nhân, không
sao chép lại của người khác. Trong toàn bộ nội dung của đồ án, những điều được trình bày
hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham
khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho
lời cam đoan của mình.
Vũng Tàu, ngày 01 tháng 12 năm 2021
Sinh viên thực hiện
Lê Hoàng Nêu
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
3
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
Vũng Tàu, ngày … tháng … năm 20…
Người hướng dẫn
TS. Phan Ngọc Hoàng
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
4
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
5
MỤC LỤC
DANH MỤC BẢNG _________________________________________________ 9
DANH MỤC SƠ ĐỒ ________________________________________________ 10
DANH MỤC HÌNH _________________________________________________ 11
LỜI NÓI ĐẦU _____________________________________________________ 13
CHƯƠNG 1 TỔNG QUAN __________________________________________ 14
1.1 Lý do chọn đề tài ______________________________________________ 14
1.2 Mục tiêu và chức năng của hệ thống _______________________________ 14
1.2.1 Mục tiêu _________________________________________________ 14
1.2.2 Chức năng ________________________________________________ 15
1.3 Mô tả bài toán ________________________________________________ 15
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT _____________________________________ 16
2.1 Cấu trúc của chương trình _______________________________________ 16
2.2 Giới thiệu Dart và Flutter ________________________________________ 16
2.2.1 Dart _____________________________________________________ 16
2.2.2 Flutter ___________________________________________________ 17
2.3 Giới thiệu Firebase _____________________________________________ 17
2.3.1 Tổng quát ________________________________________________ 17
2.3.2 Giới thiệu Firebase Authentication _____________________________ 18
2.3.3 Giới thiệu Firebase Firestore _________________________________ 19
2.3.4 Giới thiệu Firebase Cloud Storage _____________________________ 19
2.4 Giới thiệu Visual Studio Code ____________________________________ 20
2.5 Giới thiệu GitHub _____________________________________________ 20
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
6
CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG _________________________________ 22
3.1 Mô tả hệ thống ________________________________________________ 22
3.1.1 Quản lý các thông báo ______________________________________ 22
3.1.2 Quản lý tin nhắn ___________________________________________ 22
3.1.3 Quản lý Tài khoản__________________________________________ 22
3.2 Xây dựng các chức năng của hệ thống _____________________________ 23
3.2.1 Mô tả các chức năng ________________________________________ 23
3.2.2 Đặc tả các chức năng chính của ứng dụng _______________________ 26
3.3 Thiết kế hệ thống ______________________________________________ 38
3.3.1 Sơ đồ cơ sở dữ liệu _________________________________________ 38
3.3.2 Chi tiết cơ sở dữ liệu ________________________________________ 42
CHƯƠNG 4 XÂY DỰNG ỨNG DỤNG ________________________________ 46
4.1 Giao diện đăng nhập. ___________________________________________ 46
4.2 Giao diện màn hình chính _______________________________________ 46
4.3 Giao diện màn hình Home _______________________________________ 47
4.3.1 Giao diện thông báo ________________________________________ 47
4.3.2 Giao diện đăng bài thông báo mới _____________________________ 49
4.3.3 Giao diện lượt thích và bình luận ______________________________ 51
4.4 Giao diện màn hình Chatroom ____________________________________ 55
4.4.1 Giao diện các nhóm chat và tạo nhóm chat ______________________ 55
4.4.2 Giao diện chi tiết của nhóm chat ______________________________ 56
4.5 Giao diện tài khoản người dùng___________________________________ 59
4.6 Giao diện màn hình khác ________________________________________ 63
4.6.1 Giao diện màn hình thông tin cá nhân của người dùng khác _________ 63
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
7
CHƯƠNG 5 KẾT LUẬN ____________________________________________ 65
5.1 Kết quả đạt được ______________________________________________ 65
5.2 Hướng phát triển ______________________________________________ 65
TÀI LIỆU THAM KHẢO ____________________________________________ 67
PHỤ LỤC ________________________________________________________ 68
5.3 Sơ đồ cấu trúc ________________________________________________ 68
5.4 Code xử lý ___________________________________________________ 69
5.4.1 File main.dart _____________________________________________ 69
5.4.2 Authentication.dart _________________________________________ 70
5.4.3 File FirebaseOperations.dart __________________________________ 72
5.4.4 File PostOptions.dart _______________________________________ 74
5.4.5 File GroupMessageHelper.dart ________________________________ 86
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
8
DANH MỤC BẢNG
Bảng 3-4 Bảng mô tả chứa năng quản lý tài khoản của Admin _______________ 25
Bảng 3-5 Bảng mô tả chức năng thông tin cá nhân _________________________ 25
Bảng 3-6 Bảng mô tả chức năng thông báo _______________________________ 25
Bảng 3-7 Bảng mô tả chức năng thích bài thông báo _______________________ 25
Bảng 3-7 Bảng mô tả chức năng bình luận bài thông báo ____________________ 25
Bảng 3-8 Bảng mô tả chức năng nhóm chat ______________________________ 26
Bảng 3-8 Bảng mô tả chức năng nhắn tin trong nhóm chat __________________ 26
Bảng 3-8 Bảng mô tả chức năng thành viên trong nhóm chat_________________ 26
Bảng 3-12 Cơ sở dữ liệu bảng tài khoản người dùng _______________________ 42
Bảng 3-13 Cơ sở dữ liệu bảng following _________________________________ 42
Bảng 3-14 Cơ sở dữ liệu bảng followers _________________________________ 43
Bảng 3-15 Cơ sở dữ liệu bảng thông tin cá nhân __________________________ 43
Bảng 3-16 Cơ sở dữ liệu bảng thông báo ________________________________ 44
Bảng 3-17 Cơ sở dữ liệu bảng lượt thích _________________________________ 44
Bảng 3-18 Cơ sở dữ liệu bảng bình luận _________________________________ 44
Bảng 3-19 Cơ sở dữ liệu bảng phòng chat________________________________ 44
Bảng 3-20 Cơ sở dữ liệu bảng thành viên trong phòng chat __________________ 45
Bảng 3-21 Cơ sở dữ liệu bảng hóa đơn __________________________________ 45
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
9
DANH MỤC SƠ ĐỒ
Sơ đồ 1 Sơ đồ user-case của tài khoản User ............................................................. 23
Sơ đồ 2 Sơ đồ user-case tài khoản Manager ............................................................. 24
Sơ đồ 3 Sơ đồ user-case tài khoản Admin ................................................................ 24
Sơ đồ 4 Sơ đồ tuần tự quá trình đăng nhập............................................................... 27
Sơ đồ 5 Sơ đồ tuần tự quá trình sửa thông tin cá nhân ............................................. 28
Sơ đồ 6 Sơ đồ tuần tự quá trình bình luận ở bài thông báo ...................................... 29
Sơ đồ 7 Sơ đồ tuần tự quá trình nhắn tin trong nhóm chat ....................................... 30
Sơ đồ 8 Sơ đồ quá trình tìm kiếm thông tin người dùng .......................................... 31
Sơ đồ 9 Sơ đồ tuần tự quá trình theo dõi người dùng khác (following) ................... 32
Sơ đồ 10 Sơ đồ tuần tự quá trình đăng bài thông báo không có hình ảnh ................ 33
Sơ đồ 11 Sơ đồ tuần tự quá trình đăng bài thông báo có hình ảnh ........................... 34
Sơ đồ 12 Sơ đồ tuần tự quá trình tạo nhóm chat....................................................... 35
Sơ đồ 13 Sơ đồ tuần tự quá trình thêm thành viên vào nhóm chat ........................... 36
Sơ đồ 14 Sơ đồ tuần tự quá trình xem và xóa tài khoản ........................................... 37
Sơ đồ 15 Sơ đồ tuần tự quá trình tạo tài khoản......................................................... 38
Sơ đồ 16 Sơ đồ cơ sở dữ liệu của người dùng (User) ............................................... 39
Sơ đồ 17 Sơ đồ cơ sở dữ liệu của bài thông báo (Post) ............................................ 40
Sơ đồ 18 Sơ đồ cơ sở dữ liệu phòng chat (Chatroom).............................................. 41
Sơ đồ 19 Sơ đồ cơ sở dữ liệu tổng quát .................................................................... 42
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
10
DANH MỤC HÌNH
Hình 1 Biểu tương của Dart ___________________________________________ 16
Hình 2 Biểu tượng của Flutter _________________________________________ 17
Hình 3 Biểu tượng của Firebase _______________________________________ 17
Hình 4 Biểu tượng của Firebase Authentication ___________________________ 18
Hình 5 Biểu tượng của Firebase Firestore ________________________________ 19
Hình 6 Biểu tượng của Cloud Storage ___________________________________ 20
Hình 7 Biểu tượng của VS Code _______________________________________ 20
Hình 8 Biểu tượng của GiHub _________________________________________ 21
Hình 9 Giao diện đăng nhập __________________________________________ 46
Hình 10 Giao diện màn hình chính lần lượt Home. Chatroom, Account ________ 47
Hình 11 Giao diện màn hình Home và các thông tin _______________________ 48
Hình 12 Giao diện màn hình Home khi có nhiều bài viết vượt quá màn hình ____ 49
Hình 13 Giao diện màn hình tạo bài thông báo ____________________________ 50
Hình 14 Giao diện chọn phương thức lấy ảnh _____________________________ 50
Hình 16 Giao diện xác nhận ảnh hoặc chọn lại ____________________________ 51
Hình 15 Giao diện khi đã xác nhận ảnh __________________________________ 51
Hình 17 Giao diện các lượt thích _______________________________________ 52
Hình 18 Giao diện khi có bình luận _____________________________________ 53
Hình 19 Giao diện màn hình bình luận __________________________________ 53
Hình 20 Giao diện khi nhấn vào nút setting ______________________________ 54
Hình 21 Nút setting khi là chủ sở hữu thông báo __________________________ 54
Hình 22 Giao diện hỏi người dùng chắc chắn xóa bài thông báo ______________ 54
Hình 23 Giao diện màn hình các nhóm chat ______________________________ 55
Hình 24 Giao diện tạo nhóm chat ______________________________________ 56
Hình 25 Giao diện khi có tin nhắn ______________________________________ 57
Hình 26 Giao diện màn hình chi tiết của nhóm chat ________________________ 57
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
11
Hình 27 Giao diện menu của nhóm chat _________________________________ 58
Hình 29 Giao diện thêm thành viên ___________________________________ 59
Hình 28 Giao diện chuyển quyền sở hữu_________________________________ 59
Hình 30 Giao diện tài khoản người dùng_________________________________ 60
Hình 32 Giao diện hiển thị Following ___________________________________ 61
Hình 31 Giao diện hiển thị Followers ___________________________________ 61
Hình 33 Giao diện Menu _____________________________________________ 62
Hình 35 Giao diện Update Information __________________________________ 63
Hình 34 Giao diện thông báo đăng xuất _________________________________ 63
Hình 36 Giao diện thông tin cá nhân của người dùng khác __________________ 64
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
12
LỜI NÓI ĐẦU
Trong thế giới ngày nay, công nghệ thông tin (CNTT) là một công cụ quan trọng hỗ
trợ cho doanh nghiệp chuyển biến. Gặt hái lợi ích tối đa từ các khoản đầu tư vào công nghệ
để duy trì khả năng cạnh tranh là một trong những ưu tiên cao nhất của các nhà lãnh đạo
doanh nghiệp ngày nay.
Trên thực tế, thật khó để tưởng tượng bất kỳ doanh nghiệp nào không được hưởng lợi
từ công nghệ thông tin. Mỗi doanh nghiệp cần phải chọn cho mình mô hình đầu tư CNTT
cho phù hợp để phát huy hiệu quả các khoản đầu tư, phục vụ cho mục tiêu kinh doanh và
phù hợp với năng lực khai thác công nghệ của doanh nghiệp. Ngay cả trong lĩnh vực nông
nghiệp cũng đã sử dụng máy tính. Nông dân sử dụng máy tính cho sản xuất, tài chính,
nghiên cứu về các vấn đề kỹ thuật và mua sắm. Ngày nay, công thức để thành công trong
kinh doanh rất đơn giản: thúc đẩy đổi mới công nghệ thông tin.
Hiện nay, việc CNTT đã quá phát triển đã dẫn đến sự đột phá, thay đổi trong những
công việc từ xưa đến nay. Theo thời gian mọi thứ đều phụ thuộc vào CNTT, bùng nổ các
công việc liên quan đến lĩnh vực này. Các học sinh, sinh viên trên toàn thế giới nói chung
hay Việt Nam nói riêng đều có những suy đi theo thời đại. Điều này đã dẫn đến việc xuất
hiện vô số các công ty về Công nghệ đã được xây dựng và cạnh tranh với nhau.
Trong đó công việc quản lý từ lâu nay đang được quản lý truyền thống bằng giấy tờ
thì bây giờ cũng đã được phát triển và lưu trữ mọi thứ trên máy tính và điện thoại. Các ứng
dụng quản lý đã ra đời, từ quản lý nhân lực cho đến dự án, sản phẩm,… Tất cả đều được
các doanh nghiệp hướng mình về các thiết bị thông minh. Chính vì lí do đó, đề tài “Ứng
dụng quản lý các thông báo NSocial” được ra đời. Hướng tới những doanh nghiệp có quy
mô nhỏ - vừa muốn áp dụng công nghệ với chi phí thấp đơn giản dể sử dụng. Hy vọng sẽ
đem giúp cho quá trình quản lí được chặt chẽ, nâng cao hiệu xuất.
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
13
CHƯƠNG 1 TỔNG QUAN
1.1 Lý do chọn đề tài
Hiện nay hầu hết các doanh nghiệp quản lí các thông báo cho nhân viên thông qua
phần mềm thứ 3 như Zalo, Facebook, Microsoft Teams,.. Việc phải dùng một phần mềm
thứ 3 sẽ phải chịu ràng buộc, đôi khi sẽ làm rò rỉ thông tin.
Giải pháp đưa ra là sử dụng một phần mềm tự doanh nghiệp tạo ra, tránh được việc
rò rỉ thông tin, cơ sở dữ liệu do công ty tự quản lí, tự thiết lập. Sẽ dể dàng thiết lập các
trường dữ liệu phù hợp với mong muốn của công ty.
Các doanh nghiệp nhỏ thường dùng phần mềm để thông báo cho nhân viên là các
phần mềm mạng xã hội, dẫn đến việc bị trôi thông báo là có thể xảy ra. Vì mạng xã hội là
nơi mà các nhân viên có thể có nhiều mối quan hệ khác, các thông báo có thể dày đặt, khi
đó thông báo mà công ty gửi đến có thể bị trôi đi mà không hề để ý, ảnh hưởng đến công
việc. Hoặc trong lúc làm việc nhân viên có thể dùng kẻ hở các ứng dụng mạng xã hội này
mà mất tập trung, làm hiệu quả công việc suy giảm.
Thực tế đã có nhiều hệ thống được tạo ra cho mục đích này, tuy nhiên việc làm ra một
ứng dụng hoàn chỉnh để quản lí tất các mặt của công ty phải cần thời gian, tiền bạc. Nên
các doanh nghiệp nhỏ thường sẽ lựa chọn dùng phần mềm thứ 3 có sẵn.
Từ lí do đó ứng dụng “NSocial” - ứng dụng dùng để quản lí các thông báo cho nhân
viên - là giải pháp tiên tiến, hiệu quả trong việc gửi các thông báo đến nhân viên.
1.2 Mục tiêu và chức năng của hệ thống
1.2.1 Mục tiêu
Gửi các thông báo đến nhân viên mỗi khi có thông báo mới, có thể trao đổi thông tin
giữa các cá nhân với nhau. Các mục tiêu bao gồm:
➢ Đưa thông báo của doanh nghiệp đến nhân viên.
➢ Trao đổi các thông tin thông qua ứng dụng.
➢ Tìm kiếm, trích xuất dữ liệu nhanh chóng và chính xác.
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
14
➢ Tham gia thắc mắc về các thông báo ngay lập tức.
➢ Xem các thông tin cá nhân.
➢ …
Trong môi trường phân xưởng, công nghệ thông tin không chỉ thay đổi cách thức con
người thực hiện công việc quản lý mà còn thay đổi cả cách thức họ thông tin cho nhau, xử
lý thông tin và ra quyết định.
1.2.2 Chức năng
✓ Quản lý thông báo
✓ Quản lý nhân viên
✓ Quản lý các thông tin trao đổi
1.3 Mô tả bài toán
➢ Mục đích của ứng dụng là đưa các thông báo, thông tin đến các nhân viên nhanh chóng,
giúp nắm bắt và hoàn thành tiến độ công việc đúng thời hạn.
✓ Quản lý thông báo:
o Quản lý danh mục thông báo.
o Quản lý thông tin phản hồi thông báo.
✓ Quản lý nhân viên:
o Quản lý thông tin cá nhân.
o Quản lý tài khoản.
✓ Quản lý thông tin trao đổi:
o Quản lý thông tin trao đổi.
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
15
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Cấu trúc của chương trình
Ứng dụng “Nsocial” được phát triển trên nền tảng: Ứng dụng di động.
Gồm các công nghệ:
➢ Ngôn ngữ lập trình: Dart.
➢ Framework: Flutter.
➢ Cơ sở dữ liệu: Firebase với các công nghệ hỗ trợ:
✓ Firebase Authentication ( hỗ trợ đăng nhập )
✓ Firebase Firestore ( hỗ trợ lưu trữ cơ sở dữ liệu )
✓ Cloud Storage ( hỗ trợ lưu trữ các hình ảnh, media )
➢ Phần mềm hỗ trợ viết code: Visual Studio Code (VS Code).
➢ Hỗ trợ quản lý dự án: Github.
2.2 Giới thiệu Dart và Flutter
2.2.1 Dart
Hình 1 Biểu tương của Dart
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 đã ra mắt phiên bản 2.2.
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
16
2.2.2 Flutter
• Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trên
iOS và Android trong khoảng thời gian ngắn. Flutter hoạt động với những code sẵn có
được sử dụng bởi các lập trình viên, các tổ chức.
• Flutter hoàn toàn miễn phí và cũng là mã nguồn mở.
• Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều tính năng hữu
ích như mixin, generic, isolate, và static type.
• Flutter có các thành phần UI của riêng nó, cùng với một cơ chế để kết xuất chúng trên
nền tảng Android và iOS. Hầu hết các thành phần giao diện người dùng, đều sẵn dùng,
phù hợp với các nguyên tắc của Material Design.
• Các ứng dụng Flutter có thể được phát triển bằng cách4 sử dụng IntelliJ IDEA, một IDE
rất giống với Android Studio.
• Flutter hiện tại hỗ trợ đa nền tảng gồm: mobile (android, IOS), web, Desktop.
Hình 2 Biểu tượng của Flutter
2.3 Giới thiệu Firebase
2.3.1 Tổng quát
Hình 3 Biểu tượng của Firebase
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
17
Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud. Kèm theo
đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng chính là giúp người dùng
lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.
2.3.2 Giới thiệu Firebase Authentication
Hình 4 Biểu tượng của Firebase Authentication
• Là một bộ công cụ WSGI (Web Server Gateway Interface) đảm nhiệm các yêu cầu,
phản hồi đối tượng (objects) và các chức năng tiện ích khác. Flask sử dụng Werkzeug
làm một trong những cơ sở của chính nó. Firebase Authentication là chức năng xác thực
người dùng. Hiểu một cách đơn giản, app của bạn cần phải đăng nhập/ đăng ký tài khoản
để sử dụng, Firebase cung cấp cho chúng ta chức năng xác thực người dùng bằng email,
số điện thoại, hay tài khoản Facebook, Google,....
• Ứng dụng chỉ xây dựng chức năng xác thực bằng email, do đây là ứng dụng quản lí nội
bộ doanh nghiệp nên các chức năng hộ trợ như Facebook hay Google sẽ không được sử
dụng.
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
18
2.3.3 Giới thiệu Firebase Firestore
Hình 5 Biểu tượng của Firebase Firestore
• Cloud Firestore là cơ sở dữ liệu mới của Firebase phát triển dành cho ứng dụng di động.
Nó là sự kế thừa của Realtime Database với mô hình dữ liệu mới và trực quan hơn.
Cloud Firestore phong phú hơn, nhanh hơn và có khả năng mở rộng siêu việt hơn so với
Realtime.
• Giống như Firebase Realtime Database, nó giúp dữ liệu của bạn đồng bộ hóa trên các
ứng dụng client thông qua việc đăng ký realtime và cung cấp hỗ trợ ngoại tuyến cho
thiết bị di động và web. Cloud Firestore cũng cung cấp tích hợp với các sản phẩm khác
của Firebase và Google Cloud Platform, bao gồm cả Cloud Functions.
2.3.4 Giới thiệu Firebase Cloud Storage
• Firebase Cloud Storage là một không gian lưu trữ dữ liệu, nó giống như một chiếc ổ
cứng. Bạn có thể upload và download các loại file bạn muốn. Đó có thể là một file ảnh,
hay file văn bản, .zip, …
• Phân biệt Firebase cloud storage với Firebase realtime database. Câu trả lời rất đơn giản,
Firebase là một cơ sở dữ liệu- nơi bạn có thể lưu trữ các thông tin về tài khoản người
dùng, hay các thông tin về một mặt hàng nếu bạn xây dựng một app bán hàng.
• Còn với Firebase cloud storage, chúng là nơi lưu trữ những file, đó có thể là những hình
ảnh về một mặt hàng chẳng hạn. Bạn có thể lưu trữ link tới file hình ảnh trong database,
còn file ảnh đặt trong cloud storage. Vậy là client có thể dễ dàng truy vấn và sử dụng.
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
19
Hình 6 Biểu tượng của Cloud Storage
2.4 Giới thiệu Visual Studio Code
Hình 7 Biểu tượng của VS Code
Visual Studio Code (VS Code hay VSC) là một trong những trình soạn thảo mã
nguồn phổ biến nhất được sử dụng bởi các lập trình viên. Nhanh, nhẹ, hỗ trợ đa nền tảng,
nhiều tính năng và là mã nguồn mở chính là những ưu điểm vượt trội khiến VS Code ngày
càng được ứng dụng rộng rãi.
➢ Hỗ trợ hầu hết ngôn ngữ lập trình hiện nay.
➢ Cấu hình yêu cầu nhẹ, dể sử dụng.
➢ Hỗ trợ rất nhiều extensions tiện lợi.
➢ Tích hợp được với các công nghệ quản lý dữ án như Git, github, gitlab,…
➢ Và nhiều thứ tiện ích khác.
2.5 Giới thiệu GitHub
GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như một
mạng xã hội cho lập trình viên. Các lập trình viên có thể clone lại mã nguồn từ một
repository và Github chính là một dịch vụ máy chủ repository công cộng, mỗi người có thể
tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc.
GVHD: PHAN NGỌC HOÀNG - SVTH: LÊ HOÀNG NÊU
20
- Xem thêm -