Báo cáo Đồ án 1: Xây dựng ứng dụng mạng xã hội video - Sinh viên UIT

Đồ án Xây dựng ứng dụng mạng xã hội video. Báo cáo đầy đủ, chi tiết các phần phân tích yêu cầu, thiết kế cơ sở dữ liệu và giao diện ứng dụng.

2024

139
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Đồ án Xây dựng Mạng xã hội Video

Đồ án 1: Xây dựng Mạng xã hội Video là một dự án học tập tiêu biểu của sinh viên khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM. Dự án này được thực hiện bởi nhóm sinh viên gồm Hà Bảo Trân và Nguyễn Thị Thanh Thảo dưới sự hướng dẫn của TS. Đỗ Thị Thanh Tuyền. Ứng dụng mạng xã hội video được phát triển nhằm tạo ra một nền tảng hiện đại cho phép người dùng chia sẻ, tương tác và khám phá nội dung video một cách dễ dàng. Đây là một bước tiến quan trọng trong việc ứng dụng các công nghệ mới như xác thực người dùng, quản lý dữ liệu, và giao diện người dùng thân thiện. Dự án không chỉ giúp sinh viên nắm vững các kiến thức lý thuyết mà còn rèn luyện kỹ năng thực tiễn trong phát triển ứng dụng mobile hiện đại.

1.1. Lí do chọn đề tài và Mục tiêu

Lựa chọn xây dựng mạng xã hội video xuất phát từ nhu cầu thực tế về chia sẻ nội dung hình ảnh động. Mục tiêu chính của dự án là phát triển ứng dụng có đầy đủ chức năng như đăng ký, đăng nhập, tạo video, tương tác xã hội, và quản lý hồ sơ người dùng. Dự án giúp sinh viên áp dụng các công nghệ hiện đại vào thực tiễn và xây dựng sản phẩm có giá trị.

1.2. Phạm vi và Công nghệ sử dụng

Phạm vi dự án bao gồm phát triển ứng dụng mobile với đầy đủ các chức năng xã hội. Công nghệ sử dụng bao gồm các công cụ phát triển ứng dụng hiện đại, cơ sở dữ liệu mạnh mẽ, và framework phù hợp. Ứng dụng được thiết kế để hỗ trợ người dùng trong việc quản lý tài khoản, tạo bài đăng, và tương tác với cộng đồng.

II. Phân tích và Thiết kế Hệ thống

Phân tích và thiết kế hệ thống là giai đoạn quan trọng trong phát triển ứng dụng mạng xã hội video. Nhóm đã tiến hành khảo sát nhu cầu người dùng, xác định các chức năng cần thiết, và thiết kế kiến trúc hệ thống toàn diện. Quá trình này bao gồm việc lập danh sách các actor, xác định các use case, và tạo sơ đồ use case chi tiết. Thiết kế cơ sở dữ liệu là một phần then chốt, đảm bảo dữ liệu được lưu trữ an toàn và truy vấn hiệu quả. Các yêu cầu chức năng và phi chức năng được phân tích kỹ lưỡng để đảm bảo sản phẩm cuối cùng đáp ứng đầy đủ mong đợi.

2.1. Xác định Yêu cầu Chức năng

Yêu cầu chức năng của ứng dụng bao gồm: xác thực người dùng, chỉnh sửa hồ sơ, tương tác với người dùng khác, tương tác với bài đăng, tạo bài đăng, và tìm kiếm. Mỗi chức năng được mô tả chi tiết qua các use case riêng biệt. Ví dụ, use case đăng ký tài khoản cho phép người dùng tạo tài khoản mới bằng cách nhập thông tin cá nhân.

2.2. Thiết kế Cơ sở Dữ liệu

Sơ đồ cơ sở dữ liệu được thiết kế để lưu trữ thông tin người dùng, bài đăng, bình luận, và mối quan hệ giữa các người dùng. Danh sách các bảng dữ liệu bao gồm bảng Users, Posts, Comments, Followers, Messages, và nhiều bảng khác. Mỗi bảng có mô tả chi tiết về các trường dữ liệu, kiểu dữ liệu, và quan hệ giữa các bảng.

III. Xây dựng Ứng dụng và Giao diện Người dùng

Xây dựng ứng dụng bao gồm phát triển các màn hình người dùng, lập trình logic ứng dụng, và tích hợp cơ sở dữ liệu. Ứng dụng mạng xã hội video được thiết kế với giao diện thân thiện, dễ sử dụng, và hỗ trợ các chức năng chính như ghi hình, chỉnh sửa video, thêm âm nhạc, và chia sẻ nội dung. Các màn hình được phát triển theo tiêu chuẩn UX/UI hiện đại, đảm bảo trải nghiệm người dùng tốt nhất. Mỗi màn hình có mô tả chi tiết về chức năng, các thành phần giao diện, và cách tương tác.

3.1. Danh sách và Mô tả các Màn hình

Ứng dụng bao gồm hơn 20 màn hình chính như: Welcome, Sign Up, Sign In, Main, Comment, Search, Notice, Profile, Following, Follower, Chat, Messenger, Record, Confirm Video, Add Music and Caption, Edit Name, Edit Phone Number, Edit Email, Edit Password. Mỗi màn hình có mô tả chi tiết về các thành phần giao diện, chức năng, và cách người dùng tương tác.

3.2. Tính năng Ghi hình và Chỉnh sửa Video

Màn hình Record cho phép người dùng ghi hình trực tiếp từ camera điện thoại. Sau khi ghi hình xong, người dùng có thể xem lại video trên Màn hình Confirm Video. Tiếp theo, Màn hình Add Music and Caption cung cấp công cụ chỉnh sửa video, cho phép thêm nhạc nền, chữ viết, và các hiệu ứng khác trước khi chia sẻ lên nền tảng.

IV. Kết quả và Triển vọng Phát triển Tiếp theo

Dự án Xây dựng Mạng xã hội Video đã được hoàn thành với đầy đủ các chức năng cơ bản và giao diện người dùng chuyên nghiệp. Ứng dụng đã được kiểm thử toàn diện để đảm bảo chất lượng và ổn định. Kết quả của dự án không chỉ là một sản phẩm hoàn chỉnh mà còn là kinh nghiệm quý báu cho sinh viên trong việc phát triển ứng dụng thực tế. Những đóng góp của dự án bao gồm việc áp dụng công nghệ hiện đại, tuân thủ quy trình phát triển phần mềm chuẩn, và xây dựng sản phẩm có giá trị cho người dùng cuối cùng.

4.1. Kết quả Mong đợi và Đạt được

Kết quả mong đợi của dự án bao gồm phát triển ứng dụng hoàn chỉnh, tiếp nhận phản hồi từ giảng viên, và cải tiến sản phẩm. Nhóm đã hoàn thành tất cả các chức năng chính, thiết kế cơ sở dữ liệu chuyên nghiệp, và phát triển giao diện người dùng hiện đại. Dự án đã đạt được mục tiêu giáo dục về phía sinh viên và tạo ra một sản phẩm có tiềm năng phát triển tiếp.

4.2. Hướng Phát triển Tương lai

Hướng phát triển tiếp theo của ứng dụng bao gồm: nâng cấp tính năng tìm kiếm, thêm các công cụ phân tích dữ liệu, cải thiện bảo mật, và mở rộng khả năng tương tác xã hội. Nhóm mong nhận được những góp ý chân thành từ giảng viên để cải tiến sản phẩm. Những kinh nghiệm đạt được từ dự án này sẽ là hành trang quý giá cho sinh viên trong những công việc phát triển phần mềm trong tương lai.

28/12/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU 1. Lí do chọn đề tài − Giới trẻ hiện nay có nhu cầu cao về các hoạt động giải trí và ứng dụng giải trí để thư giãn và giải tỏa căng thẳng, đồng thời nhu cầu kết nối, chia sẻ thể hiện bản thân với mọi người cũng ngày càng tăng. Các thể loại video ngắn dễ dàng đáp ứng được nhu cầu đó và hơn hết nó cũng dễ dàng tiếp cận và thu hút người dùng. Xuất phát từ vấn đề này, nhóm đã nảy sinh ý tưởng và quyết định xây dựng một ứng dụng mạng xã hội video ngắn để phục vụ đáp ứng nhu cầu giải trí có tên là OurZone, nơi mà mọi người có thể dễ dàng có được trải nghiệm giải trí thông qua việc xem và tương tác với các bài đăng.

− Ứng dụng sẽ đáp ứng những yêu cầu cơ bản của một mạng xã hội như chia sẻ và kết nối. Cho phép người dùng có thể chia sẻ bài đăng của mình đến cộng đồng dưới dạng text post/image post hoặc các video cho phép chèn các đoạn âm thanh có sẵn vào để tăng phần sinh động và biến nó thành một short videos. Các videos tạo thành một reels và dùng cơ chế infinite scroll (lướt vô tận) giúp người dùng dễ dàng chuyển từ video này sang video khác mà không cần tải lại trang. Điều này tạo ra trải nghiệm mượt mà và liên tục, khuyến khích người dùng tiếp tục lướt.

− Ứng dụng cũng cho phép người dùng tương tác với nhau bằng cách bày tỏ cảm xúc, bình luận của mình trên bài đăng. Ngoài ra, ứng dụng còn cho phép người dùng nhắn tin với bạn bè. Mục tiêu đề tài 14 - Đem đến một cộng đồng cung cấp trải nghiệm giải trí nhưng vẫn đảm bảo tính lành mạnh. - Cung cấp nền tảng giúp mọi người có thể thể hiện được bản thân mình về nhiều khía cạnh: tài năng, sở thích, suy nghĩ.

- Cung cấp các tính năng và công cụ lưu trữ, chia sẻ khoảnh khắc thú vị đến với cộng đồng hoặc bạn bè. Phạm vi đề tài + Đề tài tập trung xây dựng ứng dụng mạng xã hội tập trung mang đến trải nghiệm giải trí cho người dùng. + Đề tài chủ yếu tập trung xây dựng trải nghiệm giải trí thông qua các video ngắn có chèn các đoạn nhạc có sẵn, hoặc âm thanh của người dùng. Phạm vi môi trường: − Triển khai sản phẩm đề tài trên môi trường Android.

Phạm vi chức năng: - Đăng ký: cho phép đăng ký bằng email/ số điện thoại. - Đăng nhập: đăng nhập bằng tài khoản đã xác thực. - Tìm kiếm: cho phép tìm kiếm theo tên tài khoản/ user id, hashtag bài đăng. - Kết bạn: gửi yêu cầu theo dõi, chấp nhận yêu cầu.

- Quản lý danh sách bạn bè: cho phép hủy theo dõi. - Chụp ảnh, quay video: Tích hợp chức năng chụp ảnh và quay video trực tiếp từ ứng dụng. - Tạo bài đăng: bao gồm ảnh/ video cho phép chèn âm thanh và ghi chú 15 - Tương tác: có thể bày tỏ cảm xúc và bình luận cho các bài viết. - Chia sẻ: có thể chia sẻ bài viết/ ảnh/ video ngắn.

- Nhắn tin: người dùng có thể nhắn tin với bạn bè. - Quản lý hồ sơ cá nhân: Người dùng có thể cập nhật thông tin cá nhân, ảnh đại diện, và ảnh bìa. - Thông báo: Người dùng nhận được thông báo về các hoạt động liên quan đến tài khoản của họ. - Tìm kiếm: bài đăng theo hashtag, người dùng theo user id.

- Bảo mật và quyền riêng tư: cho phép người dùng quản lý quyền riêng tư của họ, lựa chọn ai có thể xem bài viết, ảnh và thông tin cá nhân. - Tiêu chuẩn cộng đồng: Đảm bảo rằng tất cả người dùng tuân thủ các quy tắc và nguyên tắc của cộng đồng, nhằm duy trì một môi trường lành mạnh và an toàn. - Hỗ trợ và phản hồi: Hệ thống hỗ trợ và phản hồi nhanh chóng để giải quyết các vấn đề và thu thập ý kiến đóng góp từ người dùng nhằm cải thiện ứng dụng, tăng hiệu quả giao tiếp giữa người dùng và nhà phát triển. Phương pháp thực hiện - Phân tích các giải pháp của các app tương tự trên thị trường (Case study: Instagram Reels, Facebook, Tiktok, Threads).

- Thực hiện khảo sát nhu cầu, tình trạng thực tế của người dùng khi sử dụng mạng xã hội. Công nghệ sử dụng - Ngôn ngữ lập trình: JavaScript. - Framework: React Native. - Database: Firestore Database.

16 - Service: Firebase Authentication, Firebase Storage. Kết quả mong đợi - Nắm bắt và áp dụng công nghệ mới để xây dựng được ứng dụng đáp ứng các yêu cầu và chức năng đã đề ra. - Sản phẩm đề tài có giao diện thân thiện, mang đến sự tiện lợi và trải nghiệm tốt cho người dùng. - Ứng dụng có tính thực tiễn cao, đồng thời có khả năng mở rộng trong tương lai.

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG 2. React Native Hình 2. React Native - React Native là một framework mã nguồn mở được sáng tạo bởi Facebook. Nó được sử dụng để phát triển ứng dụng di động Android, iOS, Web và UWP bằng cách cho phép các nhà phát triển sử dụng React cùng với môi trường ứng dụng gốc.

- React Native hoạt động dựa trên 3 threads sau: + UI Thread (Main Thread): đây là chuỗi chính chịu trách nhiệm xử lý giao diện và truy cập giao diện người dùng để thực hiện các tác vụ liên quan. 17 + Shadow Thread: chuỗi này dùng React Native để tính toán bố cục của ứng dụng và cập nhật giao diện mà không làm ảnh hưởng đến UI Thread. Mã của chuỗi này thực thi trong một môi trường độc lập và đảm bảo ứng dụng chạy mượt mà. ⮚ Ưu điểm - Khả năng tái sử dụng mã: khoảng 90% mã có thể được sử dụng lại giữa hai nền tảng Android và iOS, giúp tăng tốc độ phát triển và mang đến hiệu quả đáng kể cũng như giảm chi phí và tăng hiệu quả hơn.

- Live reload: cho phép xem và làm việc với các thay đổi ngay lập tức. Điều này giúp tiết kiệm rất nhiều thời gian và công sức tổng hợp lại app khi có thay đổi. - Tập trung vào giao diện người dùng. - Plugin của bên thứ ba: React Native cung cấp một số tùy chọn plugin của bên thứ ba bao gồm các native mô-đun và JavaScript-based.

- Cộng đồng người dùng lớn. ⮚ Nhược điểm - Hiệu suất thấp hơn các ứng dụng gốc. - Không hiệu quả đối với các giao diện phức tạp. - Thiếu một số mô-đun tùy chỉnh.

Firebase - Firebase là một nền tảng phát triển ứng dụng đa năng do Google cung cấp, hỗ trợ phát triển ứng dụng di động và web một cách dễ dàng và hiệu quả. Nền tảng này cung cấp nhiều dịch vụ và công cụ khác nhau giúp nhà phát triển xây dựng và quản lý ứng dụng mà không cần quá nhiều kiến thức về quản lý hạ tầng. + Ưu điểm - Dễ sử dụng: Firebase cung cấp giao diện đơn giản và dễ sử dụng, giúp bạn dễ dàng xây dựng và quản lý ứng dụng. - Khả năng mở rộng: Firebase có khả năng mở rộng cao, giúp bạn dễ dàng mở rộng ứng dụng của mình khi cần thiết.

- Bảo mật: Firebase cung cấp các tính năng bảo mật mạnh mẽ giúp bảo vệ dữ liệu ứng dụng của bạn. - Các dịch vụ đa dạng: Firebase cung cấp nhiều dịch vụ khác nhau, bao gồm: - Xác thực: Firebase Authentication giúp bạn xác thực người dùng và quản lý quyền truy cập vào ứng dụng của bạn. - Nhận thông báo: Firebase Cloud Messaging giúp bạn gửi thông báo đẩy đến người dùng ứng dụng của bạn. 19 - Phân tích: Firebase Analytics giúp bạn theo dõi và phân tích dữ liệu sử dụng ứng dụng của bạn.

- Hoạt động trên nhiều nền tảng: Firebase hỗ trợ phát triển ứng dụng di động (Android, iOS) và web. - Cộng đồng lớn + Nhược điểm: - Nền tảng không tích hợp SQL nên quá trình xử lý dữ liệu và di chuyển data sẽ khó khăn hơn. - Một số tính năng cần thiết phải tốn phí để sử dụng 2. Cloudinary - Cloudinary là một cloud-based service, nó cung cấp một giải pháp quản lý hình ảnh bao gồm upload, lưu trữ, thao tác, tối ưu hóa và delivery.

Cloudinary cung cấp các APIs toàn diện và màn hình quản lý giúp chúng ta dễ dàng tích hợp vào các trang web và ứng dụng di động. + Ưu điểm + Xây dựng các URL để chuyển đổi và thao tác với hình ảnh 20 + Rails view helper cho việc nhúng và thay đổi hình ảnh + API wrappers: upload image, quản lý và nhiều thứ khác + Upload image trực tiếp từ trình duyệt sử dụng một jQuery plugin. + Tích hợp với Active Record + CarrierWave plugin + Hình ảnh tĩnh đồng bộ với CDN delivery + Migration tool + Nhược điểm + Gói miễn phí của Cloudinary không phù hợp với website có lưu lượng truy cập cao hoặc có nhiều ảnh. + Tên miền tùy chỉnh dạng cdn.com chỉ có ở gói Advanced, không có ở gói miễn phí nên có thể sẽ ảnh hưởng đến chất lượng SEO.

+ Cloudinary không thiết lập canonical header cho ảnh 21 CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3. Khảo sát hiện trạng Hiện nay, giới trẻ có nhu cầu giải trí ngày càng tăng cao, và ứng dụng giải trí trở thành phương tiện quan trọng giúp họ thư giãn, giải tỏa căng thẳng. Nhu cầu kết nối và chia sẻ cũng ngày càng gia tăng, đặc biệt là trong giới trẻ. Tuy thị trường ứng dụng mạng xã hội video đã có nhiều cái tên nổi bật như Instagram Reels, Facebook, Tiktok, Threads, nhưng vẫn còn tiềm năng phát triển cho các ứng dụng mới.

OurZone được xây dựng nhằm đáp ứng nhu cầu giải trí, kết nối và chia sẻ thông qua video ngắn, đặc biệt tập trung vào lĩnh vực nhảy. Ứng dụng hướng đến việc tạo ra một cộng đồng giải trí lành mạnh, nơi mọi người có thể thưởng thức video nhảy, tương tác với nhau và thể hiện bản thân. Xác định các chức năng, yêu cầu 3. Yêu cầu chức năng - Quản lý Video: + Tải lên video: Người dùng có thể tải video từ thiết bị lên ứng dụng.

+ Lưu trữ video: Ứng dụng lưu trữ video của người dùng trên hệ thống. + Chỉnh sửa video: Người dùng có thể thực hiện các chỉnh sửa cơ bản cho video (chèn nhạc, v. + Xóa video: Người dùng có thể xóa video của họ khỏi ứng dụng. 22 + Xem video: Người dùng có thể xem video do họ hoặc người dùng khác tải lên.

Ứng dụng hỗ trợ cơ chế "lướt vô tận" (infinite scroll) cho phép người dùng dễ dàng chuyển từ video này sang video khác mà không cần tải lại trang.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ