Tuy nhiên, việc phát triển một ứng dụng chia sẻ video đa nềntảng, tối ưu hóa trải nghiệm người dùng và đảm bảo hiệu suất cao vẫn là một thách thức đốivới các nhà phát triển.. - Thời gian
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
& TRUYỀN THÔNG VIỆT HÀN
KHOA KHOA HỌC MÁY TÍNH
ĐỒ ÁN CHUYÊN NGÀNH 2
XÂY DỰNG ỨNG DỤNG ĐA NỀN TẢNG
CHIA SẺ VIDEO TRỰC TUYẾN
Sinh viên thực hiện: NGÔ NGUYỄN VIẾT LĨNH - 21IT150
NGUYỄN VIẾT HUY – 21IT684 HUỲNH TRỌNG ĐỨC – 21IT129
Giảng viên hướng dẫn: TS LÊ THỊ THU NGA
Đà Nẵng, tháng 11 năm 2024
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
& TRUYỀN THÔNG VIỆT HÀN
KHOA KHOA HỌC MÁY TÍNH
ĐỒ ÁN CHUYÊN NGÀNH 2
XÂY DỰNG ỨNG DỤNG ĐA NỀN TẢNG
CHIA SẺ VIDEO TRỰC TUYẾN
Sinh viên thực hiện: NGÔ NGUYỄN VIẾT LĨNH - 21IT150
NGUYỄN VIẾT HUY – 21IT684 HUỲNH TRỌNG ĐỨC – 21IT129
Giảng viên hướng dẫn: TS LÊ THỊ THU NGA
Đà Nẵng, tháng 11 năm 2024
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
Đà Nẵng, tháng 11 năm 2024
Giảng viên hướng dẫn
TS Lê Thị Thu Nga
Trang 4LỜI CẢM ƠN
Đầu tiên, nhóm em xin gửi lời cảm ơn chân thành đến Trường đại học Côngnghệ Thông tin và Truyền thông Việt - Hàn Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến cô Lê Thị Thu Nga đã tận tình hướng dẫn, giảng dạy và truyền đạtnhững kiến thức quý báu cho chúng em trong suốt thời gian học tập vừa qua Trong thời gian v ừ a q u a , chúng em đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để chúng em có thể vững bước sau này
Đồ án chuyên ngành là môn học thú vị, vô cùng bổ ích và có tính thực tế cao.Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù chúng em đã cố gắng hết sức nhưng chắc chắn bài báo cáo khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy cô xem xét và góp ý để bài báo cáo của chúng em được hoàn thiện hơn
Chúng em xin chân thành cảm ơn
Đà Nẵng, tháng 11 năm 2024
Sinh viên thực hiện
Ngô Nguyễn Viết LĩnhNguyễn Viết HuyHuỳnh Trọng Đức
Trang 5MỤC LỤC
MỤC LỤC i
MỤC LỤC HÌNH ẢNH iii
MỞ ĐẦU iv
1 Lý do chọn đề tài iv
2 Mục tiêu của đề tài iv
3 Nội dung và kế hoạch thực hiện iv
4 Cấu trúc báo cáo iv
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Lập trình đa nền tảng 1
1.1.1 Đặc điểm của lập trình đa nền tảng 1
1.1.2 Một số công cụ lập trình đa nền tảng phổ biến 1
1.2 Một số ứng dụng chia sẻ video đa nền tảng 1
1.2.1 Ví dụ nổi bật 2
1.2.2 Điểm chung 2
1.3 Công nghệ, công cụ sử dụng 2
1.3.1 Ngôn ngữ lập trình 2
1.3.2 Công cụ phát triển 3
1.3.3 Các API tích hợp 4
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 7
2.1 Phân tích yêu cầu 7
2.1.1 Yêu cầu chức năng 7
2.1.2 Yêu cầu phi chức năng 8
2.1.3 Yêu cầu người dùng 8
2.2 Phân tích hệ thống (C4 Model) 9
2.2.1 Sơ đồ ngữ cảnh 9
2.2.2 Sơ đồ Container 10
2.2.3 Sơ đồ thành phần 11
2.3 Phân tích kiến trúc hệ thống 12
2.3.1 Mô hình MVC 12
Trang 62.3.2 Cơ sở dữ liệu Firebase: 13
2.4 Thiết kế hệ thống (UML) 15
2.4.1 Sơ đồ Use Case 15
2.4.2 Đặc tả Use Case 15
2.4.3 Sơ đồ lớp 18
2.4.4 Sơ đồ trình tự 19
2.4.4.1 Sơ đồ trình tự đăng nhập 19
2.4.4.2 Sơ đồ trình tự đăng video 19
2.4.4.3 Sơ đồ trình tự thông báo 20
2.4.5 Sơ đồ hoạt động 20
2.4.5.1 Sơ đồ hoạt động quên mật khẩu 20
2.4.5.2 Sơ đồ hoạt động tương tác 21
2.4.5.3 Sơ đồ hoạt động thông báo 21
CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG CHIA SẺ VIDEO 22
3.1 Tổng quan về ứng dụng 22
3.2 Các chức năng trong ứng dụng 24
3.2.1 Chức năng đăng kí và quên mật khẩu 24
3.2.2 Các chức năng chính trong ứng dụng 25
KẾT LUẬN 28
1 Kết quả đạt được 28
2 Hướng phát triển 28
TÀI LIỆU THAM KHẢO 30
Trang 7MỤC LỤC HÌNH ẢNH
Hình 1-1 Flutter 1
Hình 1-2 Firebase 3
Hình 1-3 Github 4
Hình 1-4 FFmpeg 5
Hình 2-1 Firebase Authenication 13
Hình 2-2 Firestore Database 14
Hình 2-3 Firebase Storage 14
Hình 2-4 Sơ đồ Use Case 15
Hình 2-5 Sơ đồ lớp (Class Diagram) 18
Hình 2-6 Sơ đồ trình tự đăng nhập 19
Hình 2-7 Sơ đồ trình tự đăng video 19
Hình 2-8 Sơ đồ trình tự thông báo 20
Hình 2-9 Sơ đồ hoạt động quên mật khẩu 20
Hình 2-10 Sơ đồ hoạt động tương tác 21
Hình 2-11 Sơ đồ hoạt động thông báo 21
Hình 3-1 Tổng quan giao diện ứng dụng 22
Hình 3-2 Chat 23
Hình 3-3 Profile người dùng 23
Hình 3-4 Thông báo 23
Hình 3-5 Màn hình chính 23
Hình 3-6 Profile người dùng khác 23
Hình 3-7 Tìm kiếm 23
Hình 3-8 Đăng ký và quên mật khẩu 24
Hình 3-9 Đăng nhập vào trang chủ 25
Hình 3-10 Các chức năng của ứng dụng 26
Hình 3-11 Profile của người dùng 27
Trang 8MỞ ĐẦU
1 Lý do chọn đề tài
Trong thời đại số hóa hiện nay, các nền tảng chia sẻ video trực tuyến đã trở thànhmột phần không thể thiếu trong đời sống hàng ngày Những ứng dụng như TikTok,YouTube, Instagram Reels không chỉ mang lại giá trị giải trí mà còn là công cụ giao tiếp,học tập và quảng bá hiệu quả Tuy nhiên, việc phát triển một ứng dụng chia sẻ video đa nềntảng, tối ưu hóa trải nghiệm người dùng và đảm bảo hiệu suất cao vẫn là một thách thức đốivới các nhà phát triển Vì vậy, đề tài này được chọn nhằm nghiên cứu và phát triển một ứngdụng chia sẻ video đáp ứng nhu cầu người dùng hiện đại
2 Mục tiêu của đề tài
- Xây dựng một ứng dụng chia sẻ video trực tuyến hoạt động trên nhiều nền tảng(iOS, Android) với giao diện thân thiện và hiệu năng cao
- Tích hợp các tính năng như đăng ký, đăng nhập, quên mật khẩu
- Hỗ trợ tải lên, chỉnh sửa, và chia sẻ video
- Cung cấp các tính năng tương tác như thích, bình luận, theo dõi
- Tích hợp hệ thống thông báo thời gian thực sử dụng Cloud Messaging
- Triển khai hệ thống đa nền tảng với cơ sở dữ liệu và backend hiệu quả
3 Nội dung và kế hoạch thực hiện
4 Cấu trúc báo cáo
Chương 1: Tổng quan về đề tài
Chương 2: Phân tích và thiết kế hệ thống
Chương 3: Xây dựng ứng dụng chia sẻ video
Chương 4: Kết luận và định hướng phát triển
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI1.1 Lập trình đa nền tảng
Lập trình đa nền tảng là một phương pháp phát triển phần mềm, trong đó một mã nguồn duy nhất có thể chạy trên nhiều nền tảng khác nhau như Android, iOS, Web hoặc Desktop Phương pháp này ngày càng phổ biến nhờ khả năng tiết kiệm thời gian, chi phí
và tài nguyên trong phát triển phần mềm
1.1.1 Đặc điểm của lập trình đa nền tảng
- Khả năng tái sử dụng mã nguồn: Giảm thiểu công sức lập trình riêng lẻ cho
từng nền tảng
- Thời gian phát triển nhanh hơn: Một mã nguồn duy nhất có thể được biên
dịch hoặc xuất sang các nền tảng khác nhau
- Chi phí tối ưu: Giảm số lượng nhân lực và tài nguyên cần thiết
- Tính đồng nhất: Giao diện và trải nghiệm người dùng tương đồng trên các
nền tảng
1.1.2 Một số công cụ lập trình đa nền tảng phổ biến
Flutter: Phát triển bởi Google, sử dụng ngôn ngữ Dart, hỗ trợ xây dựng giao
diện đẹp mắt và hiệu suất cao
Hình TỔNG QUAN VỀ ĐỀ TÀI-1 Flutter
React Native: Được phát triển bởi Facebook, sử dụng JavaScript, tập trung
vào việc tạo trải nghiệm người dùng gần gũi với ứng dụng native
Xamarin: Một công cụ của Microsoft, sử dụng C#, tích hợp tốt với hệ sinh thái
.NET
1.2 Một số ứng dụng chia sẻ video đa nền tảng
Các ứng dụng chia sẻ video đã trở thành một phần không thể thiếu trong cuộc sống hiện đại, cung cấp nền tảng để người dùng sáng tạo và chia sẻ nội dung
Trang 10o Một tính năng mới của YouTube, tập trung vào các video ngắn dưới 60 giây
o Tận dụng cơ sở hạ tầng lớn mạnh của YouTube để tiếp cận người dùng
1.2.2 Điểm chung
- Hỗ trợ đa nền tảng (mobile, web)
- Cung cấp tính năng tương tác (like, comment, share, follow)
- Sử dụng các công nghệ như AI, Cloud Computing để tối ưu hóa hiệu suất và quản lý
dữ liệu
1.3 Công nghệ, công cụ sử dụng
1.3.1 Ngôn ngữ lập trình
- Dart (sử dụng với Flutter):
o Dart là ngôn ngữ lập trình mới, được phát triển bởi Google, hiện đã đượcchấp thuận bởi tổ chức Ecma Dart được sử dụng để xây dựng các loại ứngdụng: web, server, di động (IOS và Android với công cụ Flutter)
o Dart là ngôn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã codeDart có thể biên dịch thành JavaSript để chạy trên trình duyệt Nó hỗ trợnhững khái niệm lập trình hiện đại như giao diện lớp, lớp trừu tượng
o Từ ngôn ngữ lập trình Dart, Google giới thiệu SDK Futter để sử dụng ngônngữ Dart phát triển ứng dụng di động chạy đa nền tảng (Một lần viết codebuild ra ứng dụng cho ISO và Android)
Trang 111.3.2 Công cụ phát triển
- Flutter:
o Flutter là một framework phát triển ứng dụng di động (mobile) và được pháthành bởi Google Nó cho phép các nhà phát triển xây dựng ứng dụng di độngchất lượng, đẹp mắt, nhanh chóng và hiệu quả bằng cách sử dụng một mãnguồn duy nhất Flutter hỗ trợ viết mã một lần và triển khai trên nhiều nềntảng, bao gồm cả Android và iOS
o Flutter sử dụng ngôn ngữ lập trình Dart, một ngôn ngữ có hiệu suất cao, đángtin cậy và dễ học Một trong những đặc điểm nổi bật của Flutter là giao diệnngười dùng được xây dựng bằng cách kết hợp các thành phần UI tùy chỉnh.Nhờ đó, Flutter tạo ra giao diện người dùng đẹp mắt
o Flutter cung cấp một loạt các công cụ, thư viện và hỗ trợ phong phú, giúp nhàphát triển xây dựng các ứng dụng phức tạp và tùy chỉnh một cách dễ dàng.Đối với ứng dụng di động, Flutter cung cấp Hot Reload, cho phép nhà pháttriển ngay lập tức thấy được sự thay đổi trong ứng dụng mà không cần phảikhởi động lại toàn bộ ứng dụng Điều này giúp tăng tốc quá trình phát triển vàthử nghiệm
- Firebase: là một nền tảng giúp phát triển các ứng dụng di động trong web Bên cạnh
đó, Firebase còn được hiểu là một dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đámmây cloud với hệ thống máy chủ mạnh mẽ của Google
Hình TỔNG QUAN VỀ ĐỀ TÀI-2 Firebase
o Authentication: Một dịch vụ xác thực người dùng hỗ trợ nhiều phương thứcđăng nhập khác nhau, như email, mật khẩu, số điện thoại, Google, Facebook,Twitter
Trang 12o Cloud Messaging: Một dịch vụ cho phép bạn gửi tin nhắn và thông báo đẩycho người dùng của bạn, như thông báo về các sự kiện, khuyến mãi, cập nhậttin tức,
o Realtime Database: Cơ sở dữ liệu thời gian thực, lưu trữ dưới dạng JSON,đồng bộ hóa với mọi kết nối, an toàn và nhanh chóng Realtime Database chophép bạn lưu trữ và truy vấn dữ liệu một cách đơn giản và hiệu quả, khôngcần quan tâm đến việc thiết lập server hay viết code backend Bạn có thể sửdụng Realtime Database để tạo ra các ứng dụng có tính tương tác cao, nhưchat, game,
Ngoài ra, còn có những tính năng khác như: Firebase Analytics, FirebaseAuthentication, Firebase Storage, Firebase Crashlytics, Tất cả các chức năngnày đều được quản lý thông qua một giao diện đồ họa trực quan và dễ sử dụng, làFirebase Console
- Github: là một mạng xã hội đặc biệt dành cho lập trình viên, là một hệ thống quản lý
dự án, lưu trữ source code, theo dõi và cộng tác trong các dự án phần mềm Các lậptrì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 racác kho chứa của riêng mình để có thể làm việc
Hình TỔNG QUAN VỀ ĐỀ TÀI-3 Github
1.3.3 Các API tích hợp
- FFmpeg: là một dự án phần mềm mã nguồn mở và miễn phí, bao gồm một bộ thư
viện lớn và chương trình để xử lý video, âm thanh cũng như các tệp và luồng đa phương tiện FFmpeg được thiết kế để xử lý dựa trên giao diện dòng lệnh đối với các tệp video và âm thanh, được sử dụng rộng rãi để chuyển mã định dạng, chỉnh
Trang 13sửa cơ bản (cắt và nối), chia tỷ lệ video, hiệu ứng hậu kỳ video và tuân thủ các tiêuchuẩn (SMPTE, ITU)
Hình TỔNG QUAN VỀ ĐỀ TÀI-4 FFmpeg
- Ngoài ra còn có các API khác:
o Xử lý video:
• video_player: Xử lý phát video trực tuyến, hỗ trợ tính năng tạm dừng, tua
video
• video_compress: Giảm dung lượng video để tiết kiệm băng thông và tăng
hiệu quả tải lên
o Quản lý hình ảnh và file:
• cached_network_image: Hiển thị hình ảnh từ mạng, hỗ trợ bộ nhớ đệm
(cache) để tối ưu hiệu suất
• image_picker: Hỗ trợ người dùng chọn hình ảnh/video từ thư viện hoặc
quay video trực tiếp bằng camera
• path_provider: Quản lý đường dẫn file, lưu trữ tạm thời hoặc lâu dài trên
thiết bị
o Quản lý trạng thái và dữ liệu:
• get: Thư viện quản lý trạng thái nhẹ, hỗ trợ việc điều hướng và chia sẻ
trạng thái giữa các widget
• dio: Thư viện HTTP mạnh mẽ, hỗ trợ thực hiện các yêu cầu API RESTful,
tải xuống hoặc tải lên file
• intl: Xử lý định dạng thời gian, ngày tháng, và nội địa hóa (localization)
o Tương tác người dùng:
Trang 14• timeago: Hiển thị thời gian dưới dạng "5 phút trước", "2 giờ trước" để
• googleapis và googleapis_auth: Cung cấp các API để tích hợp với các
dịch vụ của Google, chẳng hạn như YouTube, Google Drive
Trang 15CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Phân tích yêu cầu
2.1.1 Yêu cầu chức năng
- Đăng ký, đăng nhập: Người dùng có thể tạo tài khoản mới hoặc đăng nhập vào ứng
dụng
- Quên mật khẩu: Cung cấp tính năng đặt lại mật khẩu khi người dùng quên.
- Tải video từ gallery, quay video và tải lên: Người dùng có thể chọn video từ thư
viện hoặc quay video trực tiếp rồi tải lên ứng dụng
- Tìm kiếm người dùng, tìm kiếm video: Cho phép tìm kiếm người dùng và video
theo tên hoặc từ khóa
- Hiển thị video: Video hiển thị cùng các thông tin như lượt thích, bình luận, chú
thích (caption), tên nhạc đi kèm
- Gửi thông báo khi like, comment, follow, like comment: Người dùng nhận thông
báo khi có ai đó thích, bình luận, theo dõi hoặc thích bình luận của họ
- Sử dụng Cloud Messaging: Gửi thông báo đến người dùng ngay cả khi ứng dụng
không hoạt động
- Xóa thông báo khi hủy like, comment, follow, like comment: Thông báo bị xóa
khi người dùng hủy các hành động trên
- Trạng thái xem thông báo: Hiển thị trạng thái đã xem hoặc chưa xem của thông
báo
- Pause và play video: Cho phép dừng và phát video.
- Tua video: Hỗ trợ tua tiến hoặc lùi video.
- Like video: Người dùng có thể thích video.
- Comment video: Cho phép người dùng bình luận trên video.
- Reply bình luận: Hỗ trợ trả lời bình luận của người khác.
- Like comment: Người dùng có thể thích các bình luận trên video.
- Edit bình luận: Cho phép người dùng chỉnh sửa nội dung bình luận đã đăng.
- Delete bình luận: Người dùng có thể xóa bình luận của mình.
- Theo dõi người dùng: Người dùng có thể theo dõi người dùng khác.
- Hiển thị số người đã follow, số người đang follow: Hiển thị số lượng người dùng
theo dõi và đang được theo dõi
- Hiển thị tổng số lượt thích của các video: Hiển thị tổng số lượt thích cho tất cả
video của người dùng
Trang 16- Hiển thị danh sách following, followers: Hiển thị danh sách người dùng đang theo
dõi và được theo dõi
- Hiển thị danh sách tất cả video: Hiển thị tất cả các video mà người dùng đã đăng
tải
- Hiển thị danh sách video mà người dùng đã follow: Hiển thị các video từ người
dùng mà người dùng khác đã theo dõi
- Hiển thị danh sách video đã thích: Hiển thị danh sách video mà người dùng đã
thích
- Update profile: Người dùng có thể cập nhật thông tin hồ sơ cá nhân.
- Edit info video: Cho phép người dùng chỉnh sửa thông tin video sau khi tải lên.
- Remove video: Người dùng có thể xóa video của mình.
- Báo cáo video: Người dùng có thể báo cáo video vi phạm quy định.
- Lưu video: Cho phép người dùng lưu video về thiết bị.
- Copy link video: Người dùng có thể sao chép liên kết của video để chia sẻ.
- Đăng lại video: Cho phép người dùng đăng lại video của người khác.
- Hiển thị list video người dùng đã đăng lại: Hiển thị danh sách video mà người
dùng đã đăng lại
- Share video: Người dùng có thể chia sẻ video lên các nền tảng khác.
- Chat: Cho phép người dùng gửi tin nhắn riêng tư.
- Xem trạng thái tin nhắn: Hiển thị trạng thái tin nhắn đã xem hoặc chưa xem.
- Trạng thái online/offline: Hiển thị trạng thái trực tuyến hoặc ngoại tuyến của
người dùng
2.1.2 Yêu cầu phi chức năng
- Hiệu suất: Ứng dụng phải hoạt động nhanh chóng, tải video tốc độ cao trên kết nối
mạng ổn định
- Bảo mật: Đảm bảo mã hóa thông tin cá nhân và truyền tải dữ liệu qua các giao thức
an toàn như HTTPs
- Tương thích đa nền tảng: Ứng dụng phải tương thích với nhiều phiên bản hệ điều
hành, đặc biệt là Android và IOS
- Giao diện người dùng: Giao diện thân thiện, trực quan và dễ sử dụng cho người
mới bắt đầu và người dùng có kinh nghiệm
2.1.3 Yêu cầu người dùng
- Người dùng có thể tạo hồ sơ cá nhân khi đăng ký tài khoản, với các thông tin cơ bảnnhư tên người dùng, ảnh đại diện
Trang 17- Người dùng có thể chỉnh sửa thông tin cá nhân và cập nhật ảnh đại diện trong hồ sơ.
- Hồ sơ của người dùng sẽ hiển thị số người theo dõi, số người đang theo dõi và tổng
số lượt thích trên tất cả các video đã đăng
- Người dùng có thể xem danh sách người đang theo dõi và người theo dõi mình
- Hồ sơ sẽ hiển thị danh sách tất cả các video đã đăng, video đã thích
- Người dùng có thể cập nhật hoặc chỉnh sửa video đã đăng tải, hoặc xóa video khỏi
hồ sơ
2.2 Phân tích hệ thống (C4 Model)
2.2.1 Sơ đồ ngữ cảnh
Mô tả sơ bộ các thành phần và cách chúng tương tác với nhau
Gửi và nhận dữ liệu từ Firebase |
| Thực hiện các hoạt động
| trên app VidStart
Lưu trữ và xử lý dữ liệu _ _ _ _
Trang 18Layer Authentication
Firestore/
RealtimeDatabase
FirebaseStorage
FirebaseCloudMessaging(FCM)
Đăng ký và đăng nhập người dùng, lưu trữ thông tin đăng nhập.
Gửi thông báo về like, comment, và follow đến người dùng.
Firebasebackend
VidStartApp
Trang 192.2.3 Sơ đồ thành phần
Mô tả chi tiết các thành phần trong mỗi container Tập trung vào VidStart App vàFirebase Backend
VidStartApp
Firebasebackend
NotificationService
ProfileService
Authentication
CloudMessagingComponent
DatabaseComponent
Xử lý các tác vụ liên
quan đến video như
tải lên, xóa, chỉnh
sửa thông tin
Xử lý logic gửi thông báo
về các sự kiện like, comment, follow, và trạng thái xem thông báo.
Hiển thị thông tin cánhân, số lượng follow và
Xác thựcngười dùng,quản lý quyềntruy cập
Lưu trữ và truy vấn
dữ liệu người dùng,video, và tương tácnhư like, comment,follow
Gửi thông báo chongười dùng khi có sựkiện like, comment,follow
Lưu trữ dữ liệu video và các tài nguyên đa phương tiện khác.