LỜI NÓI ĐẦU Hiện nay, với sự phát triển của thời đại công nghệ 4.0 thì ngành công nghệ thông tin đã có những bước phát triển nhary vọt về nhiều ứng dụng trong mọi lĩnh vực trong cuộc sôn
Trang 1TRUONG DAI HOC NGOAI NGU - TIN HOC
THANH PHO HO CHI MINH
~======== ( -~~-~~-
KHOA CÔNG NGHỆ THÔNG TIN
BAO CAO KET THUC MON HOC
XAY DUNG UNG DUNG MANG XA HOI
Năm học: 2022 — 2023
MON HOC: LAP TRINH TREN THIET BI DI PONG
Giảng viên hwéng dan: ThS Lê Thị Bảo Trân
Sinh viên thực hiện: Nhóm 6
2 Họ và tên: Nguyễn Tiến Thành MSSV: 21DH114111
3 Ho vatén: Lé Thoai Bao Ngoc MSSV: 21DH111233
Trang 2BANG PHAN CONG
BÁẢNG MỨC ĐỌ HOÀN THÀNH CÔNG VIỆC
Duy Ân Tiến Thành # Bảo Ngọc # Quang Huy
Figma Xây dựng chức năng Xây dựng Database Viết báo cáo
Trang 3NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN
Trang 51.2.2 Ý nghĩa mău sắc chủ đạo của lOg0: 5s s1 TH 1221 8112 21g y2 10
13 Chức năng của đề tăi: 5222222212222 1 21212121222 1e tists 11
14 Tổng quan về đỀ tăi - 5S s22 1122112112121 1212222222221 101212122 re 12
1.4.8 _ Tìm hiểu về Firebase Realtime Database: 522 5 2211 02112212212111 12122222 c2 13
1.4.9 _ Tìm hiểu về Firebase Authentication .- c5 ng 1 1 1g cíg 14
1.4.10 Tìm hiểu về Firebase Firestore Database : - 0222 221 2112111122112122.2 14 1.4.11 Tìm hiểu về Firebase Storage : 5s s2222212211 2111212222122 re 14
1.4.12 Tìm hiểu về JSƠN: 2c 2 112121110211 221101001211 ug 14 14.13 Tìm hiểu về APl - 26 222211222111 12111002211112211 22112112122 15 Chương 2: SƠ ĐỎ CƠ SỞ DỮ LIỆU 52 1221 211211122122 2122122122212 ng 16
2.1 HH ao ghodiiiaiaiiaiiiiiiiitiañaiaẳađâẳũaẳaiaảaả 16
l0 c9 \(eae:00090 ý) can (((cac(ớao(ẤỘỶỶỶ 19
3.2 Măn hình bất đầu: :-526::2222112221111221110221110212111221111211011 011gr 20
3.3 Măn hình Đăng nhập: L1 1911 11211111111111111111 1111k HH HH HH0 111116 21
3.4 _ Măn hình Đăng ký: L1 1 11 1212111111111111111101111110 1110111111 11 HH Hết 22
3.5 Măn hình quín mật khẫu: 2 22 222222E522E15E11E11111211211211211 10.12121222 xu 23
3.6 Man hinh trang Chia he ÖÖ 24
Trang 63.7 Màn hình khi hiển thị Drawer menu 5 s 11 511115111551111111111112111 11 g1 t sa 25
3.8 Màn hình tìm kiếm: 22- 2222112 1211121121121 2212121122222 1221k 26
EOIUI (i0 (0ï (cá 0i: ppt 28 3.11 Màn hình trang cá nhân của bạn bẻ: L1 n1 191111111111111111111 11111111111 tx HH 29
3.12 Màn hình trang cá nhân của người lạ: - c1 1111 11 1111011111111 111111111111 t1 He, 30
EENTA (ii ca šnađaaadađaiiaiaiiđiiiádảảảảả.Ô 31
3.14 Màn hình trang lời mời kết bạn: 22-52 2s E1 EEE1111121122121221212120222 2e reg 32
EU oi na c 33
EN Tối acc in na 34
3.17 Màn hình trang đổi mật khâu: 2 + 2 92925122512E1212121111121121221211221 1222 g 35 3.18 Màn hình trang đổi thông tin cá nhân: 22s 2251251 8E1121191121121121.211 12221 2 xe 36 3.19 Màn hình trang chính sách và điều khoản: 22 + 22 E1 9E122112221121221121222212m xe 37 3.20 Màn hình trang hỗ trợ - s2 221221121121221 2221211211222 ra 38
EM Ni (0c ấu .-.'íịŨ4 39
Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56c S2 112211 12 E12 rte 40
4.1 Ưu điểm và khuyết điểm của ứng dụng s212221221221221 212212121222 ryg 40
4.2 _ Hướng phát triỂn - s2 1222221112121 12121122122 12212101 1e 40 4.3 Ý kiến nhóm sau khi hoàn thành học phần - 5s SE 12E1225512212271222211221.2 xe 40
Trang 7DANH MỤC HÌNH
Hình 1 - Màn hình Splash Screen
Hình 3.I Giao diện màn hình bat dau
Hình 3.2 Giao diện màn hình đăng nhập - LH HH HH TH HH HH HH HH 21 Hình 3.3 Giao diện màn hình đăng ký SH HH HC HH HH KH TH hy 22
Hình 3.4 Giao diện màn hình quên mật rï 23
Trang 8LỜI NÓI ĐẦU
Hiện nay, với sự phát triển của thời đại công nghệ 4.0 thì ngành công nghệ thông tin
đã có những bước phát triển nhary vọt về nhiều ứng dụng trong mọi lĩnh vực trong cuộc sông trên phạm vi toàn Thế giới nói chung và Việt Nam nói riêng Công nghệ thông tin là một phần không thể thiếu trong cuộc sống văn minh, góp phần đây mạnh công cuộc công
nghiệp hóa - hiện đại hóa đất nước Các thiết bị di động cùng với những phần mềm là
công cụ không thẻ thiếu, giúp chúng ta quản lý, tổ chức, sắp xếp và xử lý công việc hiệu
qua 6 bat ki dau
Trải qua hai năm u tối của đại dịch Covid-L9, những tháng ngày giãn cách xã hội nay
đã không còn nữa, xu hướng du lich/di phượt tăng mạnh Theo ông Rohan Dhanuka - trưởng nhóm phân tích về du lịch và tài chính của Google, có 50% số người ở khu vực châu Á - Thái Bình Dương tham gia khảo sát cho biết đang muốn hoặc rất muốn đi du
lịch Điển hình tại Việt Nam, du lịch "phượt" đang trên đà phát triển, kết quả này khá trùng hợp với thống kê về xu hướng tìm kiếm du lịch tại khu vực Khái niệm "du lịch
bụi" luôn gắn với những chuyến đi phượt của người trẻ, mang trên vai chiếc ba lô lớn, các phượt thủ di chuyên bằng phương tiện giá rẻ, tá túc trong nhà nghỉ bình dân, tìm việc làm thêm tại nơi dừng chân đề có thêm kinh phí và trải nghiệm văn hóa
Với mong muốn xây dựng một nền tảng cho những người đam mê du lịch phượt,
nhóm chủng em đã tạo ra ứng dụng mạng xã hội với mục đích đem lại cho người dùng
những trai nghiệm tuyệt vời, tiện lợi, có thé chia sẻ những kiến thức hay các khoánh khắc
đẹp trong cuộc vi vu ổi phượt
Những yếu tổ thuận lợi bên trong cũng như bên ngoài, cùng với tiềm năng phát triển của loại hình du lịch phượt ở Việt Nam chính là cơ sở để chúng em tin rằng ứng dụng mạng xã hội sẽ mang đên sự hài lòng cho người sử dụng
Trang 9LOI CAM ON
Đầu tiên, chúng em xin gửi lời cảm ơn chân thành và sự trí ân sâu sắc đến giảng viên
Lê Thị Bảo Trân đã tạo điều kiện hỗ trợ, giúp đỡ chúng em trong suốt quá trình học tập
và nghiên cứu dé tai này Từ khi bắt đầu học tập bộ môn đến nay, chúng em đã nhận được rât nhiêu sự quan tâm, hồ trợ từ cô
Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến cô Lê Thị Bảo Trân — khoa Công nghệ thông tin, người đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập Nhờ có những lời hướng dẫn, dạy bảo của cô nên đề tài nghiên cứu của chúng em mới có thê hoàn thiện
Bài báo cáo đề tài môn Lập trình trên thiết bi di động được chúng em thực hiện trong
khoảng thời gian hơn I tháng Vì lượng kiến thức của chúng em còn nhiều hạn chế nên không tránh khỏi những thiếu sót, chúng em rất mong nhận được những ý kiến đóng góp quý báu từ cô để tiếp thu kiến thức lĩnh vực này được hoàn chỉnh hơn, học hỏi thêm nhiều kinh nghiệm, đồng thời có điều kiện bố sung, nâng cao trình độ đề hành trang tốt hơn trong công việc sau này
Chúng em xm gửi đên cô những lời cảm ơn chân thành nhật, chúc cô luôn vui vẻ, tràn đây niêm fin trong cuộc sông, luôn gặp may mắn đề công hiện nhiều hơn cho sự nghiệp trong người cao ca va vi dai nay
Trang 10sẻ câu chuyện, bài viết, ý tưởng các nhân, đăng ảnh, video, đồng thời thông báo về hoạt động, sự kiện trên mạng hoặc trong thế giới thực, giúp người dùng kết nỗi với những người sống ở những vùng đất khác nhau hoặc trên toàn thế giới Nhờ vậy, người sử dụng
có thê thỏa sức chia sẻ những điều mình muốn, xem những bài viết phù hợp với nhu cầu hay sở thích của cá nhân Nhằm xây dựng một nên táng cho những người đam mê du lịch phượt, nhóm chúng em đã tạo ra ứng dụng mạng xã hội với mong muốn đem lại cho
người dùng những trải nghiệm tuyệt vời, tiện lợi, có thé chia sé những kiến thức hay các
khoảnh khắc đẹp trong cuộc vi vu đi phượt
2.2 Mô tá ứng dụng:
Our Journal la một ứng dụng mạng xã hội tích hợp bản đồ dành cho phân khúc người dùng yêu thích đi phượt Tại đây, người dùng có thể đăng những khoảnh khắc đẹp trong
các cuộc phiêu lưu của chính họ, chia sẻ những kinh nghiệm khi đi phượt và có thể kết
thêm được nhiều người bạn có cùng sở thích
Ý nghĩa của tên “Our Journal”:
- O.U.R là viết tắt của "Our United Roadtrip” - một cụm từ miêu tả mục tiêu chung
của cộng đồng sử dụng ứng dụng đó, đó là chia sẻ những trải nghiệm và kết nối các thành viên trong một chuyền di phượt chung O.U.R trong app có thể tượng trưng cho sự đoàn kết, tỉnh thần cộng đồng và tô chức các hoạt động giao lưu, văn hóa giữa các thành viên
Trang 11- Our còn có nghĩa là “chúng ta”, ám chỉ việc ứng dụng này là nơi để mọi người chia
sẻ những hành trình, khoảnh khắc đáng có trong đời với nhau
- Journal có nghĩa là “nhật ký” hoặc là “chuyến đi”, ám chỉ việc mỗi chuyến đi như là một nhật ký Logo lồng tên trong tên dùng để nhân mạnh rằng mạng xã hội Our Journal
là dành cho mọi người đề chia sẻ thông tin cho nhau chứ không dành cho riêng một cá nhân nào
- Tên gọi “Our Journal” mang ý nghĩa tích cực và thân thiện, kết nối cộng đồng, tạo ra một mạng lưới các cá nhân liên kết với nhau, giống như việc ghép các trang nhật ký trong
cuén sách hành trình đề tạo thành một mạng lưới kết nối thông tin
- Khi kết hợp ý nghĩa "Our United Roadtrip" với tên của ứng dụng "Our Journal", thì
nó có thê mang ý nghĩa là một ứng dụng nhật ký đi phượt cho các thành viên trong cộng đồng sử dụng ứng dụng Các người dùng có thê sử dụng ứng dụng này đề ghi lại và chia
sẻ các trải nghiệm thú vị của họ trong chuyền đi phượt, từ việc lập kế hoạch cho chuyền
đi cho đến việc ghi lại nhật ký du lịch và chia sẻ với cộng đồng
2.2.2 Ý nghĩa màu sắc chủ đạo của logo:
- Màu xanh dương: Tượng trưng cho sự tự do, tươi mới, sức sống và mát mẻ của bầu trời xanh
- Màu xanh lá cây: Tượng trưng cho màu của cây cối, thực vật, tạo ra cảm giác thoải mái, yên bình
- Màu vàng: Tượng trưng cho sự nhiệt huyết, năng lượng và niềm vui trong cuộc sống
Nó gợi lên cảm giác tươi vui, tích cực và năng động
Trang 122.3 Chức năng của đề tài:
Các chức năng của đề tài bao gồm:
® Dang nhap
e Dang ky
e Chinh sia thong tin ca nhân
e¢ Đối mật khâu
® Đăng bài viết
e Chính sửa bài viết
® Xóa bài viết
e - Bình luận bài viết
© Thich bài viết
se Hiện bán đồ
® - Đăng hình lên bản đồ
® Chat
2.4 Tổng quan về đề tài:
2.4.1 Khai niém Application:
Application (hay con goi tat la app) là các chương trình phần mềm được phát triển cho
người thực hiện các tác vụ cụ thể Ứng dụng có thể được cài đặt và chạy trên máy tính,
Trang 13máy tính bảng, điện thoại thông mình hoặc các thiết bị điện tử khác Các ứng dụng
thường được thiết kế theo yêu cầu của người dùng cuối hoặc theo phản hồi từ người dùng
2.42 Mục đích của App:
Hiện nay có rất nhiều App được phát triển mang đến sự lựa chọn đa dạng cho người
sử dụng Tùy vào nhà phát triển, phân khúc khách hàng mục tiêu và nhu cầu sử dụng của người dùng, mỗi App sẽ đảm nhiệm các chức năng khác nhau nhằm mục đích phục vụ người dùng trong các công việc khác nhau Một số thê loại app phổ biến như: App giải trí, app trò chơi, app giáo dục, app tài chính, app hẹn hò,
2.43 Ưu Nhược điểm của App:
- Ưu điểm:
e© Giao diện đơn giản, dễ sử dụng
e _ Tiếp cận với người tiêu dùng một cách nhanh chóng và tiện lợi
® - Dáp ứng nhu cầu của người sử dụng
® - Hoạt động ngoại tuyến
© Dễ dàng gửi thông báo đến người dùng
® - Tải nhanh hơn các ứng dụng web
e An toàn và bảo mật
- Nhược điểm:
e _ Tốn nhiều chi phí để xây dựng hơn so với các ứng dụng web
© Chi phi và thời gian bảo trì, nâng cấp cao
e - Mỗi một hệ điều hành cần phải có phiên bản khác nhau để tương thích
2.4.4 Diễu kiện đề thiết kế App:
- Có kiến thức cơ bản về công cụ Android Studio, Java, Firebase (có thê thay thế bằng SQLite), API đề thiết kế ra một ứng dụng hoàn chỉnh
- Đáp ứng được nhu cầu sử dụng hiện nay của người dùng
Trang 14- Phù hợp với nhu cầu giải trí trên ứng dụng ở xã hội hiện nay
2.4.5 Tìm hiểu về Android Studio:
- Android Studio lần đầu tiên được công bồ tại hội nghi Google I/O vào năm 2013 và
được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta khác nhau
- Có nhiều công cụ đề phát triển Android nhưng đến nay công cụ chính thức và mạnh
mẽ nhất là Android Studio
- Android Studio là môi trường phát triển tích hợp chính thức dành cho phát triển nền
tảng Android
2.4.6 Tìm hiểu về ngôn ngữ Java:
- Ngôn ngữ Java được phát triển bởi Sun Microsystem vào năm 1995 Đây là ngôn ngữ
kế thừa từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng
- Java là ngôn ngữ lập trình đơn gián, dễ dàng sử dụng Chúng có độ linh hoạt cao, đặc
biệt là với Android Studio IDE đề phát triển các ứng dụng dành cho Android
2.4.7 Tìm hiểu về Firebase:
- Firebase là một nền tảng đề phát triển ứng dụng di động và trang web, bao gồm các API đơn giản và mạnh mẽ mà không cần backend hay server
2.4.8 Tim hiéu vé Firebase Realtime Database:
- Firebase Realtime Database là một cơ sở dữ liệu NoSQL được lưu trữ đám mây cho
phép lưu trữ và đồng bộ đữ liệu Dữ liệu được lưu trữ đưới dạng JSON và được đồng bộ
hóa theo thời gian thực cho mọi máy kết nối
- Firebase Realtime Database cho phép xây dựng các ứng dụng dễ dàng, đa dạng, an
toàn với cơ sở dữ liệu trực tiếp từ client Dữ liệu được duy trì cục bộ và ngay cả khi off-
line, các sự kiện thời gian thực vẫn sẽ được tiếp tục khi thiết bị lấy lại kết nối, Realtime
Trang 15Database sẽ đồng bộ hóa các thay đổi dữ liệu cục bộ với các dữ liệu từ máy chủ và tự động hợp nhất mọi xung đột
2.4.9 Tìm hiểu về Firebase Authentication:
- Authentication cua Firebase là một dịch vụ quản lý đăng nhập và xác thực người dùng được cung cấp bởi Firebase Firebase Authentication cung cấp cho các nhà phát triển các phương thức đăng nhập và xác thực người dùng đa dạng như đăng nhập bằng email và mật khẩu, đăng nhập bằng tài khoản Google hay Facebook, cũng như phương thức đăng nhập bằng số điện thoại
- Khi sử dụng Firebase Authentication, các nhà phát triển có thê dễ dàng tích hợp tính năng đăng nhập và xác thực người dùng vào ứng dụng của mình mà không cần phải xây dựng và quản lý một hệ thống đăng nhập và xác thực riêng Firebase Authentication cũng cung cấp các tính năng bảo mật như xác thực hai yêu tố và quản lý phiên đăng nhập để đảm bảo an toàn cho người dùng
2.4.10 Tìm hiểu về Firebase Firestore Database:
- Firestore là một cơ sở dữ liệu không cấu trúc theo tài liệu (document-oriented) được cung cấp bởi Firebase Firestore lưu trữ dữ liệu dưới dạng tải liệu (document) và cho phép truy vấn nhanh chóng và linh hoạt dữ liệu trong cơ sở đữ liệu
- Firestore hỗ trợ các tính năng như đồng bộ dir liéu realtime, doc va ghi dữ liệu off- line và tích hợp với các dịch vụ khác cua Firebase nhu Firebase Authentication va Fire-
base Cloud Functions
2.4.11 Tim hiéu vé Firebase Storage:
- Firebase Storage là một dịch vụ lưu trữ đám mây được cung cấp bởi Firebase, cho phép lưu trữ và quản lý các tệp tin như hình ảnh, video và âm thanh trong ứng dụng của bạn Firebase Storage cho phép tái lên và tải xuống các tệp tin một cách dễ dàng và cung cấp tính năng bảo mật để đảm bảo an toàn cho dữ liệu của bạn Nó cũng tích hợp tốt với các dịch vụ khác của Firebase như Firebase Authentication và Firebase Cloud Functions
Trang 16để cung cấp một giải pháp hoàn chỉnh cho việc lưu trữ và quản lý tệp tin trong ứng dụng
của bạn
2.4.12 Tim hiéu vé JSON:
- JSON, là chữ viết tắt của JavaScript Object Notation, là một kiểu dữ liệu trung gian, chủ yêu được dùng đề vận chuyên thông tin giữa các thành phần của một chương trình
- Kiểu dữ liệu này bao gồm chủ yếu là text, có thé đọc được theo dạng cặp "thuộc tính
- giá trị" Về cầu trúc, nó mô tả một vật thê bằng cách bọc những vật thể con trong vật thé lớn hơn trong dấu ngoặc nhọn {‡ }
Page | 16
Trang 17
- FRIEND (MYFRIENDSID)
1 MYFRIENDSID String Mã bạn bè của tài khoản
- POST (POSTKEY IMAGE, SUM COMMENT SUM LIKE, USERID, USER- NAME)
USERNAME Tên người tạo bài viết
Page | 17
Trang 18- IMAGE (BLOG IMAGES, IMGAVATAR)
1 BLOG IMAGES String Ma anh (not null)
Anh dai diện người
-COMMENT (D_USER_ LIKE, FULLNAME, ID_ POST, AVATAR)
String
Trang 19
Chương 4: CÁC CHỨC NĂNG
4.1 Màn hình Splash screen:
Jounal
Hinh 1 - Man hinh Splash Screen
Đây là trang mà khi người dùng mở ứng dụng “Our Journal”, màn hình sẽ chuyền sang
“màn hình Splash Screen” đề load ứng dụng trong 3 giây
Trang 20Hình 3.1 Giao điện màn hình bắt đầu
Sau khi “màn hình Splash Screen” chạy xong, ứng dụng sẽ được chuyền tới “màn hình
- Đối với người dùng chưa có tài khoản: Bắm nút “Đăng ký” để đi đến “màn hình Đăng ký”