Nhóm các chức năng thuộc phần quản trị:
11
Quản lí phim: Chức năng thêm, sửa, xoá các thông tin của bộ phim. Quản lý thể loại: Chức năng thêm, sửa, xoá các thông tin thể loại của bộ phim.
Quản lý thẻ tag: Chức năng thêm, sửa, xoá các thẻ tag của bộ phim. Quản lý quốc gia: Chức năng thêm, sửa, xoá các quốc gia sản xuất của bộ phim.
Quản lý ngôn ngữ: Chức năng thêm, sửa, xoá các ngôn ngữ gốc của bộ phim.
Quản lý đạo diễn: Chức năng thêm, sửa, xoá các đạo diễn của bộ phim.
Quản lý diễn viên: Chức năng thêm, sửa, xoá các diễn viện của bộ phim.
Nhóm các chức năng thuộc phần tài khoản:
Đăng nhập: Cho phép đăng nhập vào tài khoản người dùng, người quản trị, biên tập viên và điều hướng tới trang phù hợp.
Đăng xuất: Đăng xuất khỏi tài khoản, xóa phiên người dùng hiện tại. Đăng ký: Đăng ký 1 tài khoản mới tài khoản người dùng mới
Xác minh tài khoản: Sau khi kích hoạt tài khoản thành công, người dùng có thể đăng nhập vào website.
Lấy lại mật khẩu: Hỗ trợ người dùng, người quản trị, biên tập viên có thể tạo mới mật khẩu nếu như quên mật khẩu hiện tại.
Nhóm các chức năng thuộc phần dành cho người dùng, khách truy cập:
Phim mới nhất: Lấy ra danh sách phim mới được thêm.
Phim theo thể loai: Lấy ra danh sách phim theo thể loại được yêu cầu. Danh sách thể loại: Danh sách thể loại phim của trang web đang có. Chi tiết phim: Lấy ra toàn bộ thông tin phim bao gồm: tên, mô tả, đạo diễn, diễn viên, ngôn ngữ, quốc gia,…
Trang xem phim: Trang có chức năng cho người dùng xem phim đã chọn.
Tìm kiếm phim: Tìm những bộ phim có tên chứa từ khóa được nhập vào.
12
CHƯƠNG 3. THIẾT KẾ HỆ THỐNG 1. LƯỢC ĐỒ DIAGRAM
Hình 7: Lược đồ Diagram
2. CÁC BẢNG TRONG CƠ SỞ DỮ LIỆU2.1. Bảng người dùng (User) 2.1. Bảng người dùng (User)
Bảng người dùng (User) là bảng lưu trữ thông tin tài khoản của người dùng và người quản trị. STT Tên trường (thuộc tính) 1 ID 2 userName 3 surName 13 download by : skknchat@gmail.com
4 middleName 5 name 6 email 7 phoneNumber 8 password 9 salt 10 description 11 activated 12 roleId 13 createAt 14 updateAt
Bảng 2: Cấu trúc dữ liệu bảng người dùng (User)
2.2. Bảng vai trò người dùng (Role)
Bảng vai trò của người dùng (Role) là bảng lưu trữ các mức quyền hạn của người dùng. STT Tên trường (thuộc tính) 1 ID 2 name 3 createAt 4 updateAt
Bảng 3: Cấu trúc dữ liệu bảng vai trò người dùng (Role)
2.3. Bảng phản ứng của người dùng (UserReaction)
Bảng phản ứng của người dùng (UserReaction) là bảng lưu trữ các thao tác thích, không thích phim của người dùng.
14
STT Tên trường (thuộc tính) 1 filmId 2 userId 3 upvoted 4 downvoted 5 createAt 6 updateAt
Bảng 4: Cấu trúc dữ liệu bảng phản ứng của người dùng (UserReaction)
2.4. Bảng phương thức thanh toán (PaymentMethod)
Bảng phương thức thanh toán (PaymentMethod) lưu trữ thông tin các phương thức thanh toán. STT Tên trường (thuộc tính) 1 ID 2 name 3 createAt 4 updateAt
Bảng 5: Cấu trúc dữ liệu bảng phương thức thanh toán (PaymentMethod)
2.5. Bảng thông tin thanh toán (PaymentInfo)
Bảng thông tin thanh toán (PaymentInfo) là bảng lưu trữ thông tin thanh toán của người dùng.
15
STT Tên trường (thuộc tính) 1 userId 2 paymentMethodId 3 cardNumber 4 cvv 5 owner 6 expirationDate 7 createAt 8 updateAt
Bảng 6: Cấu trúc dữ liệu bảng thông tin thanh toán (PaymentInfo)
2.6. Bảng thể loại (Category)
Bảng thể loại (Category) là bảng lưu trữ thông tin thể loại.
STT Tên trường (thuộc tính) 1 ID 2 name 3 description 4 createAt 5 updateAt
Bảng 7: Cấu trúc dữ liệu bảng thể loại (Category)
2.7. Bảng thẻ Tag (Tag)
Bảng thẻ Tag (Tag) là bảng lưu trữ thông tin thẻ tag.
1 6
STT Tên trường (thuộc tính) 1 ID 2 name 3 description 4 createAt 5 updateAt
Bảng 8: Cấu trúc dữ liệu bảng thẻ Tag (Tag)
2.8. Bảng quốc gia (Country)
Bảng quốc gia (Country) là bảng lưu trữ thông tin quốc gia của phim
STT Tên trường (thuộc tính) 1 ID 2 name 3 description 4 createAt 5 updateAt
Bảng 9: Cấu trúc dữ liệu bảng quốc gia (Country)
2.9. Bảng ngôn ngữ (Language)
Bảng ngôn ngữ (Language) là bảng lưu trữ thông tin ngôn ngữ của phim.
STT Tên trường (thuộc tính) 1 ID 2 name 3 description 4 createAt 17 download by : skknchat@gmail.com
5 updateAt
Bảng 10: Cấu trúc dữ liệu bảng ngôn ngữ (Language)
2.10. Bảng đạo diễn (Director)
Bảng đạo diễn (Director) là bảng lưu trữ thông tin đạo diễn.
STT Tên trường (thuộc tính) 1 ID 2 name 3 description 4 createAt 5 updateAt
Bảng 11: Cấu trúc dữ liệu bảng đạo diễn (Director)
2.11. Bảng diễn viên (Cast)
Bảng diễn viên (Cast) là bảng lưu trữ thông tin diễn viên.
STT Tên trường (thuộc tính) 1 ID 2 name 3 description 4 createAt 5 updateAt
Bảng 12: Cấu trúc dữ liệu bảng diễn viên (Cast)
2.12. Bảng phân phối thể loại (CategoryDistribution)
Bảng phân phối thể loại (CategoryDistribution) là bảng lưu trữ thông tin các thể loại của phim.
STT Tên trường
(thuộc tính)
Kiểu dữ liệu Mô tả
18
1 categoryId
2 filmId
3 createAt 4 updateAt
Bảng 13: Cấu trúc dữ liệu bảng phân phối thể loại (CategoryDistribution)
2.13. Bảng phân phối thẻ Tag (TagDistribution)
Bảng phân phối thẻ Tag (TagDistribution) là bảng lưu trữ thông tin các thẻ tag của phim. STT Tên trường (thuộc tính) 1 tagId 2 filmId 3 createAt 4 updateAt
Bảng 14: Cấu trúc dữ liệu bảng phân phối thẻ Tag (TagDistribution)
2.14. Bảng đạo điễn của phim (DirectorOfFilm)
Bảng đạo điễn của phim (DirectorOfFilm) là bảng lưu trữ các đạo diễn của phim.
STT Tên trường
(thuộc tính)
1 directorId
2 filmId
3 role 4 createAt 5 updateAt
Bảng 15: Cấu trúc dữ liệu bảng đạo diễn của phim (DirectorOfFilm)
2.15. Bảng diễn viên của phim (CastOfFilm)
Bảng diễn viên của phim (CastOfFilm) là bảng lưu trữ thông tin các diễn viên của phim. STT Tên trường (thuộc tính) 1 castId 2 filmId 3 role 4 createAt 5 updateAt
Bảng 16: Cấu trúc dữ liệu bảng diễn viên của phim (CastOfFilm)
2.16. Bảng phim (Film)
Bảng phim (Film) là bảng lưu trữ thông tin phim
STT
1 ID
2 name
20
3 description 4 countryId 5 productionCompany 6 languageId 7 releaseDate 8 upvote 9 downvote 10 views 11 duration 12 thumbnail 13 source 14 createAt 15 updateAt
Bảng 17: Cấu trúc dữ liệu bảng phim (Film)
21
CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH
1. GIAO DIỆN PHẦN NGƯỜI DÙNG, KHÁCH TRUY CẬP1.1. Trang chủ 1.1. Trang chủ
Hiển thị các phim mới nhất, danh sách thể loại và danh sách phim theo từng thể loại.
Hình 8: Giao diện trang chủ
1.2. Trang phim theo thể loại
Hiển thị danh sách phim theo thể loại, kèm theo là thông tin số lượng phim của thể loại đó.
Hình 9: Giao diện trang phim theo thể loại
22
1.3. Trang danh sách thể loại
Hiển thị danh sách thể loại bao gồm các thông tin như sau: Tên thể loại, Số lượng phim và liên kết tới trang phim theo thể loại.
Hình 10: Giao diện trang danh sách thể loại
1.4. Trang kết quả tìm kiếm
Hiển thị danh sách các kết quả (phim) của từ khóa được tìm kiếm, kèm theo là thông tin số lượng kết quả tìm kiếm được.
Hình 11: Giao diện trang kết quả tìm kiếm
1.5. Trang lịch sử xem phim của phiên đăng nhập
Hiển thị các phim đã xem trong phiên đăng nhập, sau khi đăng xuất hoặc hết hạn phiên thì dữ liệu sẽ tự xóa.
23
Hình 12: Giao diện trang lịch sử xem phim của phiên đăng nhập
1.6. Trang chi tiết phim
Hiển thị gần như đầy đủ các thông tin của phim bao gồm: tên, mô tả, hình ảnh, thể loại, thẻ tag, quốc gia, ngôn ngữ, lượt xem, diễn viên, đạo diễn. Trang có các chức năng cho phép đánh giá thích hoặc không thích phim.
Hình 13: Giao diện trang chi tiết phim
1.7. Trang xem phim
Hiển thị khung video cho phép xem phim
24
Hình 14: Giao diện trang xem phim
2. GIAO DIỆN PHẦN NGƯỜI DÙNG, KHÁCH TRUY CẬP (PHIÊN BẢN RÚT GỌN) (PHIÊN BẢN RÚT GỌN)
2.1. Trang chủ
Hiển thị danh sách phim mới nhất.
Hình 15: Giao trang chủ rút gọn
2.2. Trang phim theo thể loại
Hiển thị danh sách phim theo thể loại.
25
Hình 16: Giao diện trang phim theo thể loại rút gọn
2.3. Trang xem chi tiết
Hiển thị thông tin của phim, đã được lược bỏ bớt một số thông tin.
Hình 17: Giao diện trang xem chi tiết rút gọn
2.4. Trang xem phim
Hiển thị khung video cho phép xem phim
26
Hình 18: Giao diện trang xem phim rút gọn
3. GIAO DIỆN PHẦN TÀI KHOẢN
3.1. Trang đăng ký
Cho phép khách truy cập, người dùng tạo một tài khoản mới.
Hình 19: Giao diện trang đăng ký tài khoản
3.2. Trang đăng nhập
Đăng nhập vào trang web, với tài khoản có quyền User thì sẽ được chuyển hướng về trang chủ, đối với tài khoản có quyền Admin hoặc Editor thì sẽ chuyển hướng tới phần quản trị.
27
Hình 20: Giao diện trang đăng nhập tài khoản
3.3. Trang lấy lại mật khẩu
Cho phép người dùng nhập email của tài khoản để tiến hành lấy lại mật khẩu.
Hình 21: Giao diện trang lấy lại mật khẩu
3.4. Trang nhập mã xác nhận
Trang này cho phép người nhập mã xác nhận được gửi về địa chỉ email để thực hiện xác minh tài khoản cho các mục đích như kích hoạt tài khoản, lấy lại mật khẩu.
28
Hình 22: Giao diện trang nhập mã xác nhận
3.5. Trang nhập mật khẩu mới
Cho phép người dùng nhập mật khẩu mới để hoàn tất việc thay đổi mật khẩu.
Hình 23: Giao diện trang nhập mật khẩu mới
3.6. Trang đăng xuất
Đăng xuất, xóa phiên truy cập hiện tại
Hình 24: Giao diện trang đăng xuất
29
4. GIAO DIỆN PHẦN QUẢN TRỊ4.1. Trang tổng quan 4.1. Trang tổng quan
Cho phép người quản trị xem được tình trạng hệ thống, các thống kê cơ bản.
Hình 25: Giao diện trang tổng quan
4.2. Nhóm các trang xem danh sách
Hiển thị danh sách của các đối tượng như: Danh sách thể loại, thẻ tag, phim, ngôn ngữ, quốc gia,…
Hình 26: Giao diện một trang xem danh sách
4.3. Nhóm các trang xem chi tiết một đối tượng
Hiển thị chi tiết các đối tượng: Chi tiết thể loại, thẻ tag, phim, ngôn ngữ, quốc gia,…
30
Hình 27: Giao diện một trang xem chi tiết một đối tượng
4.4. Nhóm các trang tạo mới một đối tượng
Cho phép người quản trị có thể tạo mới một đối tượng: Tạo mới thể loại, thẻ tag, phim, ngôn ngữ, quốc gia,…
Hình 28: Giao diện một trang thêm mới một đối tượng
4.5. Nhóm các trang chỉnh sửa một đối tượng
Cho phép người quản trị có thể chỉnh sửa một đối tượng: Chỉnh sửa thể loại, thẻ tag, phim, ngôn ngữ, quốc gia,…
31
Hình 29: Giao diện một trang chỉnh sửa một đối tượng
4.6. Nhóm các trang xóa một đối tượng
Cho phép người quản trị có thể xóa một đối tượng: Xóa thể loại, thẻ tag, phim, ngôn ngữ, quốc gia,…
Hình 30: Giao diện một trang xóa một đối tượng
32
CHƯƠNG 5. KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 1. KẾT QUẢ ĐẠT ĐƯỢC
Sau một thời gian dài tìm hiểu, thực hiện các khảo sát đối với các website xem phim và nghiên cứu một số tài liệu về lập trình web bằng ASP.NET Web Forms. Từ đó, nhóm chúng em đã hoàn thành được cơ bản đề tài “Website xem phim online” với những kết quả đạt được như sau:
Về chức năng: Hệ thống website đã hoàn thiện được hầu hết chức năng cơ bản của một website xem phim như là:
Người dùng có thể tạo tài khoản, đăng nhập, lấy lại mật khẩu và sử
dụng các chức năng như xem danh sách phim, tìm kiếm phim, xem chi tiết phim, xem phim,…
Người quản trị có thể xem thống kê cơ bản như xem số lượng phim, thể
loại, thẻ tag, lượng người đang truy cập. Người quản trị sẽ được sử dụng các chức năng thêm, xóa, sửa, xem chi tiết phim, thể loại, ngôn ngữ, quốc gia,...
Về giao diện: Hệ thống đã phát triển được giao diện tương đối đẹp, bố cục gọn gàng. Hệ thống website có 4 phần giao diện bao gồm:
Phần dành cho quản trị: Giao diện được thiết kế trên tông màu sáng, có
sidebar chứa những chức năng quản lý cần thiết. Các chức năng được thiết kế một cách tối ưu, đơn giản, không gây rối nhằm đáp ứng tốt cho người quản trị.
Phần tài khoản: Giao diện được thiết kế trong tông màu tối, đáp ứng cơ
bản cho các chức năng đăng nhập, đăng ký và các thao tác khác liên quan đến tài khoản.
Phần danh cho người dùng, khách truy cập: Giao diện được thiết kết
trên tông màu xanh tối, bố cục giao diện được sắp xếp hợp lý phù hợp nhằm mang tới những trải nghiệm tốt cho người dùng và khách truy cập.
Phần danh cho người dùng, khách truy cập (phiên bản rút gọn): Giao
diện được rút gọn ở mức tối đa, loại bỏ các chức năng không cần thiết nhằm tăng tốc độ trong trường hợp tốc độ truy cập chậm.
33
Về hiệu năng: Hệ thống có hiệu năng ở mức chấp nhận được, khả năng đáp ứng của hệ thống tương đối nhanh. Hệ thống được kiểm tra tương đối kỹ, giảm thiểu được phần lớn các lỗi cố xảy ra.
Về kiến thức và kỹ năng: Thông qua đồ án này, nhóm em đã được tiếp cận thêm nhiều kiến thức mới về ngôn ngữ lập trình C#, cách sử dụng HTML, CSS, Javascript, thư viện Boostrap, Video.js,… để xây dựng giao diện. Bên cạnh đó, các kỹ năng tìm kiếm thông tin, phân tích nghiệp vụ, xử lý các vấn đề phát sinh trong quá trình làm đồ án được cải thiện lên rất nhiều.
2. KẾT QUẢ CHƯA ĐẠT ĐƯỢC
Song song với các kết quả đạt được bên trên thì hệ thống cũng còn nhiều thiếu sót về nhiều mặt như là:
Về chức năng: Hệ thống hiện tại vẫn còn thiếu những chức năng cần thiết và nâng cao như sau:
Người dùng vẫn chưa có chức năng như bình luận, viết đánh giá phim,
thêm phim vào danh sách yêu thích, nhận thông báo khi có phim mới,… Chưa có các chức năng cập nhật thông tin cho tài khoản người dùng.
Người quản trị chỉ có thể xem các thông kê cơ bản, các thống kê chi
tiết, công cụ phân tích vẫn chưa có. Các chức năng của phần quản trị được thiết kế chỉ đáp ứng được với lượng dữ liệu nhỏ.
Về giao diện: Phần lớn giao diện được thiết kế đẹp, tuy nhiên vẫn còn tại những vấn đề sau:
Phần dành cho quản trị, phần tài khoản, phần danh cho người dùng,
khách truy cập (phiên bản rút gọn): Thiết kế chưa đáp ứng cho các thiết bị di động (chưa responsive).
Phần danh cho người dùng, khách truy cập: Giao diện có nhiều thành
phần, kích thước lớn làm giảm hiệu năng cho hệ thống.
Về hiệu năng: Tại thời điểm hiện tại, hệ thống đáp ứng tốt các yêu cầu sử dụng. Tuy nhiên, trong tương lai khi quy mô của hệ thống thay đổi thì chắc chắn hệ thống sẽ không thể đáp ứng được các yêu cầu, lúc đó hệ thống phải được thiết kế lại.
Về bảo mật: Hệ thống vẫn tồn tại những lổ hổng tiềm ẩn. Những lổ hổng này nếu bị khai thác cho mục đích tấn công hệ thống thì sẽ gây ảnh hưởng lớn cho hệ thống.
3. ĐỊNH HƯỚNG PHÁT TRIỂN
Trong tương lai, nhóm chúng em sẽ tiếp tục phát triển các chức năng đang ở mức cơ bản của hệ thống. Bên cạnh đó, nhóm em sẽ phát triển thêm nhiều các chức năng mới cho hệ thống: Hỗ trợ thanh toán online, viết đánh giá phim, thông báo khi có phim mới, chức năng xử lý ảnh, lưu trữ video trên các nền tảng đám
34
mây,…
Việc cải thiện hiệu năng cũng vô cùng quan trọng trong tương lai khi mà lượng người dùng và dữ liệu ngày một nhiều lên. Giải pháp trong tương lai là tối ưu lại toàn bộ câu truy vấn cơ sở dữ liệu, thiết kế lại toàn bộ cơ sở dữ liệu, giao diện loại bỏ bớt hiệu ứng không cần thiết, chuyển hình ảnh và video lên nền tảng