3.3.1.4.2. Usecase Đăng nhập Mã Usecase UC002
Tên Usecase Đăng nhập
Mô tả Use-case cho phép người dùng đăng nhập vào hệ thống để sử dụng các chức năng của ứng dụng.
Actor User, Admin
Tiền điều kiện Người dùng đã có tài khoản (đã đăng ký).
Hậu điều kiện Người dùng đăng nhập thành công, hiển thị thông báo đăng nhập thành cơng.
53 Dịng sự kiện
chính
1. Chọn mục “Đăng nhập” 2. Điền các thông tin cần thiết 3. Nhấn nút đăng nhập
4.Hệ thống ghi nhận và thơng báo cập nhật thành cơng
Dịng sự kiện phụ
Khơng có
Dịng sự kiện lỗi 4a. Hệ thống thông báo cập nhật thất bại do lỗi thông tin không xác thực
Bảng 3.11: Usecase Đăng nhập ❖ Biểu đồ hoạt động
54 ❖ Biểu đồ trình tự
Hình 3.12: Biểu đồ trình tự của usecase Đăng nhập
3.3.1.4.3. Usecase Đăng xuất Mã Usecase UC003
Tên Usecase Đăng xuất
Mô tả Use-case cho phép người dùng thoát ra khỏi hệ thống
Actor User, Admin
Tiền điều kiện Người dùng đã đăng nhập.
Hậu điều kiện Người dùng thoát ra khỏi hệ thống và hiển thị màn hình đăng nhập
55 Dịng sự kiện
chính
1. Chọn mục “Đăng xuất”
2. Hệ thống hiển thị dialog xác nhận đăng xuất 3. Nhấn nút xác nhận
4. Hệ thống điều hướng sang màn hình đăng nhập.
Dịng sự kiện phụ
3a. Người dùng không xác nhận, trở về màn hình trước đó. Dịng sự kiện lỗi Khơng có
Bảng 3.12: Usecase Đăng xuất ❖ Biểu đồ hoạt động
56 ❖ Biểu đồ trình tự
Hình 3.14: Biểu đồ trình tự của usecase Đăng xuất
3.3.1.4.4. Usecase Đăng tải video Mã Usecase UC004
Tên Usecase Đăng tải video
Mô tả Use-case cho phép người dùng đăng tải video lên server hệ thống.
Actor User
Tiền điều kiện Người dùng đã đăng nhập.
57 Dịng sự kiện
chính
1. Chọn nút “Đăng tải”
2. Hệ thống hiển thị màn hình chọn video trong thư viện 3. Điền các thông tin như tựa đề video và mô tả
4. Nhấn nút đăng tải
5. Hệ thống tiến hành xử lý video và đăng tải, sau khi đăng tải thành cơng sẽ điều hướng sang màn hình hiển thị các video với video mới nhất được hiển thị đầu tiên.
Dịng sự kiện phụ
Khơng có
Dịng sự kiện lỗi 5a. Trong quá trình đăng tải vì một số lý do như mất mạng, video lỗi không thể đăng tải, sẽ hiển thị thông báo lỗi.
Bảng 3.13: Usecase Đăng tải video ❖ Biểu đồ hoạt động
58
Hình 3.15: Biểu đồ hoạt động của usecase Đăng tải video ❖ Biểu đồ trình tự
59
Hình 3.16: Biểu đồ trình tự của usecase Đăng tải video
3.3.1.4.5. Usecase Chỉnh sửa thông tin video Mã Usecase UC005
Tên Usecase Chỉnh sửa thông tin video
Mô tả Use-case cho phép người dùng chỉnh sửa thông tin video đã đăng tải.
Actor User
Tiền điều kiện Người dùng đã đăng nhập và có ít nhất một video đã đăng tải. Hậu điều kiện Hiển thị video với thông tin sau khi chỉnh sửa.
60 Dịng sự kiện
chính
1. Chọn nút “Hiển thị các video hiện có” 2. Hệ thống hiển thị các video đã đăng tải 3. Nhấn nút chỉnh sửa
4. Nhập các thông tin cần chỉnh sửa 5. Nhấn nút lưu
6. Hệ thống tiến hành cập nhật thơng tin Dịng sự kiện
phụ
Khơng có
Dịng sự kiện lỗi 6a. Hệ thống thơng báo cập nhật thất bại do lỗi thông tin không hợp lệ
Bảng 3.14: Usecase Chỉnh sửa thông tin video ❖ Biểu đồ hoạt động
61
Hình 3.17: Biểu đồ hoạt động của Chỉnh sửa video ❖ Biểu đồ trình tự
62
Hình 3.18: Biểu đồ trình tự của Chỉnh sửa video
3.3.1.4.6. Usecase Xóa video Mã Usecase UC006
Tên Usecase Xóa video
Mơ tả Use-case cho phép người dùng xóa video đã đăng tải.
Actor User
Tiền điều kiện Người dùng đã đăng nhập và có ít nhất một video đã đăng tải. Hậu điều kiện Hiển thị các video đã đăng tải.
63 Dịng sự kiện
chính
1. Chọn nút “Hiển thị các video hiện có” 2. Hệ thống hiển thị các video đã đăng tải 3. Nhấn nút xóa
4. Hệ thống hiển thị dialog xác nhận muốn xóa 5. Người dùng xác nhận
6. Hệ thống tiến hành xóa video và hiển thị các video hiện có Dòng sự kiện
phụ
5a. Người dùng khơng xác nhận và quay về màn hình trước đó.
Dịng sự kiện lỗi Khơng có
Bảng 3.15: Usecase Xóa video ❖ Biểu đồ hoạt động
Hình 3.19: Biểu đồ hoạt động của usecase Xóa video ❖ Biểu đồ trình tự
64
Hình 3.20: Biểu đồ trình tự của usecase Xóa video
3.3.1.4.7. Usecase Chỉnh sửa thơng tin cá nhân Mã Usecase UC007
Tên Usecase Chỉnh sửa thông tin cá nhân
Mô tả Use-case cho phép người dùng chỉnh sửa thông tin cá nhân
Actor User, Admin
65
Hậu điều kiện Hiển thị thông tin sau khi cập nhật Dòng sự kiện
chính
1. Chọn nút “Thơng tin cá nhân”
2. Hệ thống hiển thị các thông tin cá nhân của người dùng 3. Chọn nút “Chỉnh sửa”
4. Người dùng nhập các thông tin cần chỉnh sửa 5. Nhấn nút “Lưu”
6. Hệ thống tiến hành cập nhật thông tin cá nhân Dịng sự kiện
phụ
Khơng có
Dịng sự kiện lỗi 6a. Hệ thống thông báo cập nhật thất bại do lỗi thông tin không hợp lệ
Bảng 3.16: Usecase Chỉnh sửa thông tin cá nhân ❖ Biểu đồ hoạt động
66
Hình 3.21: Biểu đồ hoạt động của usecase Chỉnh sửa thông tin cá nhân ❖ Biểu đồ trình tự
67
Hình 3.22: Biểu đồ trình tự của usecase Chỉnh sửa thơng tin cá nhân
3.3.1.4.8. Usecase Thích video Mã Usecase UC008
Tên Usecase Thích video
Mơ tả Use-case cho phép người dùng thích video của người khác hoặc bản thân.
Actor User
Tiền điều kiện Người dùng đã đăng nhập.
68 Dịng sự kiện chính 1. Chọn video mình thích 2. Nhấn nút thích 3. Hệ thống cập nhật lượt thích Dịng sự kiện phụ
2a. Nếu người dùng nhấn 2 lần nghĩa là bỏ lượt thích. Dịng sự kiện lỗi Khơng có
Bảng 3.17: Usecase Thích video ❖ Biểu đồ hoạt động
Hình 3.23: Biểu đồ hoạt động của usecase Thích video ❖ Biểu đồ trình tự
69
Hình 3.24: Biểu đồ trình tự của usecase Thích video
3.3.1.4.9. Usecase Bình luận video Mã Usecase UC009
Tên Usecase Bình luận video
Mơ tả Use-case cho phép người dùng bình luận video của người khác hoặc bản thân.
Actor User
Tiền điều kiện Người dùng đã đăng nhập.
70 Dịng sự kiện
chính
1. Chọn video mình muốn 2. Nhấn nút bình luận
3. Điền vào ơ bình luận và nhấn nút bình luận
4. Hệ thống cập nhật bình luận trên danh sách bình luận của video
Dịng sự kiện phụ
Khơng có Dịng sự kiện lỗi Khơng có
Bảng 3.18: Usecase Bình luận video ❖ Biểu đồ hoạt động
Hình 3.25: Biểu đồ hoạt động của usecase Bình luận video ❖ Biểu đồ trình tự
71
Hình 3.26: Biểu đồ trình tự của usecase Bình luận video
3.3.1.4.10. Usecase Tạo video ngắn Mã Usecase UC011
Tên Usecase Tạo video ngắn
Mô tả Use-case cho phép người dùng tạo và chỉnh sửa video ngắn giới hạn 15s với các công cụ của app cung cấp
Actor User
Tiền điều kiện Người dùng đã đăng nhập.
72 Dòng sự kiện
chính
1. Chọn nút Đăng tải > Video ngắn 2. Quay video (giới hạn 15s) 3. Chỉnh sửa video
4. Điền thông tin video 5. Nhấn đăng tải
4. Hệ thống hiển thị video sau khi đăng tải Dịng sự kiện
phụ
Khơng có Dịng sự kiện lỗi Khơng có
Bảng 3.19: Usecase Tạo video ngắn ❖ Biểu đồ hoạt động:
73
Hình 3.27: Biểu đồ hoạt động của usecase Tạo video ngắn ❖ Biểu đồ trình tự:
74
Hình 3.28: Biểu đồ trình tự của usecase Tạo video ngắn
3.3.1.4.11. Usecase Xóa video ngắn Mã Usecase UC012
Tên Usecase Xóa video ngắn
Mơ tả Use-case cho phép người dùng xóa video dạng ngắn đã đăng tải.
Actor User
Tiền điều kiện Người dùng đã đăng nhập và có ít nhất một video short đã đăng tải.
75 Dịng sự kiện
chính
1. Chọn nút “Hiển thị các video short hiện có” 2. Hệ thống hiển thị các video đã đăng tải 3. Nhấn nút xóa
4. Hệ thống hiển thị dialog xác nhận muốn xóa 5. Người dùng xác nhận
6. Hệ thống tiến hành xóa video và hiển thị các video hiện có Dòng sự kiện
phụ
5a. Người dùng khơng xác nhận và quay về màn hình trước đó.
Dịng sự kiện lỗi Khơng có
Bảng 3.20: Usecase Xóa video ngắn ❖ Biểu đồ hoạt động:
Hình 3.29: Biểu đồ hoạt động của usecase Xóa video ngắn ❖ Biểu đồ trình tự:
76
Hình 3.30: Biểu đồ trình tự của usecase Xóa video ngắn
3.3.1.4.12. Usecase Chỉnh sửa thông tin video ngắn Mã Usecase UC013
Tên Usecase Chỉnh sửa thông tin video ngắn
Mô tả Use-case cho phép người dùng chỉnh sửa thông tin video đã đăng tải.
Actor User
Tiền điều kiện Người dùng đã đăng nhập và có ít nhất một video ngắn đã đăng tải.
77 Dòng sự kiện
chính
1. Chọn nút “Hiển thị các video ngắn hiện có” 2. Hệ thống hiển thị các video đã đăng tải 3. Nhấn nút chỉnh sửa
4. Nhập các thông tin cần chỉnh sửa 5. Nhấn nút lưu
6. Hệ thống tiến hành cập nhật thơng tin Dịng sự kiện
phụ
Khơng có
Dịng sự kiện lỗi 6a. Hệ thống thông báo cập nhật thất bại do lỗi thông tin không hợp lệ
Bảng 3.21: Usecase Chỉnh sửa thông tin video ngắn ❖ Biểu đồ hoạt động:
78
Hình 3.31: Biểu đồ hoạt động của usecase Chỉnh sửa thơng tin video ngắn ❖ Biểu đồ trình tự:
79
Hình 3.32: Biểu đồ trình tự của usecase Chỉnh sửa thơng tin video ngắn
3.3.1.4.13. Usecase Thích video ngắn Mã Usecase UC014
Tên Usecase Thích video
Mô tả Use-case cho phép người dùng thích video ngắn của người khác hoặc bản thân.
Actor User
Tiền điều kiện Người dùng đã đăng nhập.
80 Dịng sự kiện chính 1. Chọn video ngắn mình thích 2. Nhấn nút thích 3. Hệ thống cập nhật lượt thích Dịng sự kiện phụ
2a. Nếu người dùng nhấn 2 lần nghĩa là bỏ lượt thích. Dịng sự kiện lỗi Khơng có
Bảng 3.22: Usecase Thích video ngắn ❖ Biểu đồ hoạt động
Hình 3.33: Biểu đồ hoạt động của usecase Thích video ngắn ❖ Biểu đồ trình tự
81
Hình 3.34: Biểu đồ trình tự của usecase Thích video ngắn
3.3.1.4.14. Usecase Bình luận video ngắn Mã Usecase UC015
Tên Usecase Bình luận video ngắn
Mơ tả Use-case cho phép người dùng bình luận video ngắn của người khác hoặc bản thân.
Actor User
Tiền điều kiện Người dùng đã đăng nhập.
82 Dòng sự kiện
chính
1. Chọn video ngắn mình muốn 2. Nhấn nút bình luận
3. Điền vào ơ bình luận và nhấn nút bình luận
4. Hệ thống cập nhật bình luận trên danh sách bình luận của video
Dịng sự kiện phụ
Khơng có Dịng sự kiện lỗi Khơng có
Bảng 3.23: Usecase Bình luận video ngắn ❖ Biểu đồ hoạt động
Hình 3.35: Biểu đồ hoạt động của usecase Bình luận video ❖ Biểu đồ trình tự
83
Hình 3.36: Biểu đồ trình tự của usecase Bình luận video
3.3.1.4.15. Usecase Cấm user Mã Usecase UC015
Tên Usecase Cấm user
Mô tả Use-case cho phép admin ban những user có những thao tác đáng ngờ
Actor Admin
84
Hậu điều kiện Hiển thị danh sách user sau khi thực hiện Dịng sự kiện
chính
1. Chọn nút “Danh sách các user” 2. Hệ thống hiển thị các user 3. Nhấn nút ban
4. Hệ thống yêu cầu xác nhận trước khi ban user 5. Admin xác nhận
6. Hệ thống tiến hành xóa user và hiển thị danh sách user sau khi xóa
Dịng sự kiện phụ
5a. Người dùng khơng xác nhận và quay về màn hình trước đó.
Dịng sự kiện lỗi Khơng có
Bảng 3.24: Usecase Cấm user ❖ Biểu đồ hoạt động
85 ❖ Biểu đồ trình tự
Hình 3.38: Biểu đồ trình tự của usecase Cấm user
3.3.2. Sơ đồ module
86
3.3.3. Sơ đồ dữ liệu
3.3.3.1 Sơ đồ dữ liệu tổng quan
Hình 3.40: Sơ đồ dữ liệu
3.3.3.2 Mô tả sơ đồ dữ liệu 3.3.3.2.1. User collection 3.3.3.2.1. User collection
87
Tên trường Kiểu dữ liệu Mô tả
_id ObjectId ID của người dùng
first_name String Tên thật của người dùng last_name String Họ thật của người dùng
email String Mail của người dùng
gender Number
Giới tính của người dùng. Có 2 loại
0: Nữ 1: Nam
birth_date Date Ngày tháng năm sinh country String Quốc tịch của người dùng avatar String Ảnh đại diện của người dùng phone_number String Số điện thoại của người dùng
Bảng 3.25: User collection
3.3.3.2.2. Account (Channel) collection Account
Tên trường Kiểu dữ liệu Mô tả
_id ObjectId ID của video
ís_blocked String Tựa đề video username String Tên tài khoản
88
email String Email
password String Mật khẩu
is_admin Boolean Có phải admin khơng
user_id String String
followers Array[User] Danh sách người theo dõi user members Array[User] Lượng người đăng ký kênh của
user
blocked_accounts Array[User] Những account người dùng đã chặn
following Array[User] Danh sách người user theo dõi watched_history Array[Video] Danh sách lịch sử video
Bảng 3.26: Account collection
3.3.3.2.3. Video collection Video
Tên trường Kiểu dữ liệu Mô tả
_id ObjectId ID của video
title String Tựa đề video
url String Link lưu trữ video trên server S3 size Int Kích cỡ file video (dưới dạng
89
description String Mô tả của video
recognition_result Array[object] Kết quả nhận diện âm thanh author_id String Id của tác giả video
likes Array[Like] Danh sách những ai đã thích
comments Array[Comment] Danh sách những ai đã bình luận
total_views Number Số lượng xem của video
total_likes Number Số lượng thích của video
total_comments Number Số lượng bình luận của video
duration Number Thời lượng video
type enum(“Short",
“Normal") Loại video Bảng 3.27: Video collection
90
3.3.3.2.4. Like collection Like
Tên trường Kiểu dữ liệu Mô tả
_id ObjectId Id của lượt like
author_id ObjectId Id của người đã nhấn like target_id ObjectId Id của video đã like
Bảng 3.28: Like collection
3.3.3.2.5. Comment collection Comment
Tên trường Kiểu dữ liệu Mô tả
_id ObjectId Id của lượt bình luận author_id ObjectId Id của người bình luận target_id ObjectId Id của video được bình luận is_reply Boolean Đang trả lời hay khơng
replies Array[Comment] Những bình luận trả lời bình luận này
content String Nội dung bình luận Bảng 3.29: Comment collection
91
3.3.3.2.6. Copyright collection Copyright
Tên trường Kiểu dữ liệu Mô tả
_id ObjectId Id của bản quyền
video_id ObjectId Id của video
registered_date Date Id của video được bình luận approved_date Date Ngày đồng ý
approved_id ObjectId Id người đồng ý Bảng 3.30: Copyright collection
3.3.3.2.7. Playlist collection Playlist
Tên trường Kiểu dữ liệu Mô tả
_id ObjectId Id của danh sách phát
title String Tên danh sách phát
author_id Date Id của tác giả videos ObjectId Danh sách video is_auto_play Boolean Có tự động phát khơng
92
Bảng 3.31: Playlist collection
3.3.3.2.8. Strike collection Strike
Tên trường Kiểu dữ liệu Mô tả
_id ObjectId Id của danh sách phát
level number Cấp độ
effect_date Date Ngày bắt đầu hiệu lực Bảng 3.32: Strike collection
93
3.4. Thiết kế giao diện
3.4.1. Giao diện website
3.4.1.1 Sơ đồ thiết kế giao diện
Hình 3.41: Sơ đồ thiết kế giao diện
3.4.1.2 Danh sách giao diện
STT Tên giao diện Mô tả giao diện
1 Đăng ký Hiển thị form đăng ký với các thông tin cần điền
94
2 Đăng nhập Hiển thị form đăng nhập với email và mật khẩu đã đăng ký
3 Trang chủ Hiển thị tất cả các video hiện được public
4 Xem bài viết Hiển thị video và lượt thích, lượt xem, lượt bình luận, các bình luận.
5 Quản lý video Hiển thị các video của tôi (người dùng đang đăng nhập)
6 Chỉnh sửa thông tin video Hiển thị form chỉnh sửa thông tin video
95 8 Đăng tải video
Gồm 3 bước:
- Chọn video từ máy tính - Điền các thông tin cần thiết
- Thông tin bản quyền sau khi đăng tải
9 Quản lý người dùng Hiển thị màn hình danh sách người dùng
10 Cấm người dùng Hiển thị dialog xác nhận cấm người dùng