Hệ thống có các quy trình hoạt chính như sau:Đối với người quản trị, biên tập viênĐăng nhập: Người quản trị hoặc biên tập viên sẽ đăng nhập vào hệ thống.Thêm dữ liệu có liên quan tới
Trang 1KHOA CNTT
���
Đồ án: Lập trình Web
Đề tài: Xây dựng web xem phim online
Trang 3STTTên công việcThành viên thực
hiệnGhi chúĐánh giá
1Xây dựng cơ sở dữ liệuTrần Phương BìnhHoàn thành2Chỉnh sửa lại cơ sở dữ
liệuPhan Xuân ChánhHoàn thành3Giao diện phần tài khoảnPhan Xuân Chánh,Trần Phương Bình,Dương Diếp NhậtMinhLàm nhóm thơngqua chức năngLive Share.Hồn thành
4Giao diện phần người
dùng, khách truy cậpPhan Xuân Chánh,Trần Phương Bình,Làm nhóm thơngqua chức năngLive Share.Hồn thành5Giao diện phần quản trịPhan Xuân ChánhHoàn thành6Các chức năng cho phầntài khoảnPhan Xuân ChánhHoàn thành7Các chức năng cho phầnngười dùng, khách hàngTrần Phương Bình,Dương Diếp NhậtMinhLàm nhóm thơngqua chức năngLive Share vàGithub.Hồn thành8Các chức năng cho phầnquản trịPhan Xuân ChánhHoàn thành9Xây dựng project hỗ trợmở rộng kết nối SqlServer, project Data vàproject Common
Phan Xuân ChánhHoàn thành
10Kiểm thử, phát hiện lỗiDương Diếp Nhật
MinhHoàn thành
11Làm báo cáo WordPhan Xuân Chánh,
Trang 4LỜI MỞ ĐẦU
Ngày nay, cùng với sự vươn lên của đất nước, hòa vào đó Công nghệ thôngtin là một ngành đã có những bước phát triển mạnh mẽ không ngừng và nó đã trởthành chiếc chìa khóa dẫn đến thành công cho nhiều cá nhân, tổ chức Với nhữngứng dụng của mình, công nghệ thông tin đã góp phần mang lại nhiều lợi ích màkhông ai có thể phủ nhận được Đặc biệt là trong lĩnh vực quản lý kinh tế, côngnghệ thông tin đã góp phần tạo ra sự thay đổi nhanh chóng cho bộ mặt xã hội.
Trong quá trình thực hiện đề tài nhóm đã gặp phải không ít khó khăn và trởngại, tuy nhiên, với sự giúp đỡ của bạn bè, cùng sự hướng dẫn tận tình, chỉ bảocặn kẽ của giảng viênTrần Như Ý, cuối cùng chúng em cũng đã cố gắng hoàn
thành đề tài này với tất cả sự cố gắng và nỗ lực Chúng em xin được gửi lời cảmơn tới những người bạn đã góp ý và giúp đỡ nhóm, và đặc biệt là cảm ơn cô,người đã giúp chúng tôi xác định được những yêu cầu và mục tiêu đề tài, truyềndạy các kĩ năng nghiệp vụ cũng như hướng dẫn cho chúng tôi cách thức thực hiệnđề tài
Do kiến thức thực tế và hiểu biết còn hạn chế nên trong quá trình hồn thànhbáo cáo khơng tránh khỏi sai sót, nhóm chúng em rất mong sự góp ý đóng gópcủa cô và các bạn để nhóm có thể hoàn thiện bài tập lớn được tốt hơn.
Trang 5MỤC LỤCCHƯƠNG 1 TỔNG QUAN VỀ ĐỒ ÁN 11 HIỆN TRẠNG HỆ THỐNG 12 MỤC TIÊU VÀ PHẠM VI ĐỒ ÁN 12.1 Mục tiêu 12.2 Phạm vi 22.3 Môi trường triển khai 23 SỰ CẦN THIẾT VÀ LÝ DO CHỌN ĐỒ ÁN 2
CHƯƠNG 2 PHÂN TÍCH U CẦU VÀ QUY TRÌNH NGHIỆP VỤ 3
1 PHÂN TÍCH YÊU CẦU VÀ QUY TRÌNH NGHIỆP VỤ 3
1.1 Phân tích yêu cầu 3
1.2 Quy trình nghiệp vụ 3
1.2.1 Mô hình nghiệp vụ tạo tài khoản 4
1.2.2 Mô hình nghiệp vụ đăng nhập tài khoản 5
1.2.3 Mô hình nghiệp vụ lấy lại mật khẩu cho tài khoản 6
1.2.4 Mô hình nghiệp vụ phần dành cho người dùng, khách truy cập 7
1.2.5 Mô hình nghiệp vụ phần quản trị 8
2 YÊU CẦU CHỨC NĂNG 11
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 13
1 LƯỢC ĐỒ DIAGRAM 13
2 CÁC BẢNG TRONG CƠ SỞ DỮ LIỆU 13
2.1 Bảng người dùng (User) 13
2.2 Bảng vai trò người dùng (Role) 14
2.3 Bảng phản ứng của người dùng (UserReaction) 14
2.4 Bảng phương thức thanh tốn (PaymentMethod) 15
2.5 Bảng thơng tin thanh toán (PaymentInfo) 15
2.6 Bảng thể loại (Category) 16
2.7 Bảng thẻ Tag (Tag) 16
2.8 Bảng quốc gia (Country) 17
2.9 Bảng ngôn ngữ (Language) 17
2.10 Bảng đạo diễn (Director) 18
2.11 Bảng diễn viên (Cast) 18
2.12 Bảng phân phối thể loại (CategoryDistribution) 18
2.13 Bảng phân phối thẻ Tag (TagDistribution) 19
2.14 Bảng đạo điễn của phim (DirectorOfFilm) 19
2.15 Bảng diễn viên của phim (CastOfFilm) 20
2.16 Bảng phim (Film) 20
CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH 22
1 GIAO DIỆN PHẦN NGƯỜI DÙNG, KHÁCH TRUY CẬP 22
1.1 Trang chủ 22
1.2 Trang phim theo thể loại 22
1.3 Trang danh sách thể loại 23
1.4 Trang kết quả tìm kiếm 23
1.5 Trang lịch sử xem phim của phiên đăng nhập 23
1.6 Trang chi tiết phim 24
1.7 Trang xem phim 24
2 GIAO DIỆN PHẦN NGƯỜI DÙNG, KHÁCH TRUY CẬP (PHIÊN BẢN RÚT GỌN) 25
2.1 Trang chủ 25
2.2 Trang phim theo thể loại 25
2.3 Trang xem chi tiết 26
2.4 Trang xem phim 26
3 GIAO DIỆN PHẦN TÀI KHOẢN 27
Trang 63.2 Trang đăng nhập 27
3.3 Trang lấy lại mật khẩu 28
3.4 Trang nhập mã xác nhận 28
3.5 Trang nhập mật khẩu mới 29
3.6 Trang đăng xuất 29
4 GIAO DIỆN PHẦN QUẢN TRỊ 30
4.1 Trang tổng quan 30
4.2 Nhóm các trang xem danh sách 30
4.3 Nhóm các trang xem chi tiết một đối tượng 30
4.4 Nhóm các trang tạo mới một đối tượng 31
4.5 Nhóm các trang chỉnh sửa một đối tượng 31
4.6 Nhóm các trang xóa một đối tượng 32
Trang 7DANH MỤC HÌNH ẢNH
Hình 1: Mơ hình nghiệp vụ tạo tài khoản 5
Hình 2: Mô hình đăng nhập tài khoản 6
Hình 3: Mô hình nghiệp vụ lấy lại mật khẩu cho tài khoản 7
Hình 4: Mô hình nghiệp vụ phần dành cho người dùng, khách truy cập 8
Hình 4: Mô hình nghiệp vụ phần quản trị - thêm dữ liệu 9
Hình 4: Mô hình nghiệp vụ phần quản trị - chỉnh sửa dữ liệu 10
Hình 7: Lược đồ Diagram 13
Hình 8: Giao diện trang chủ 22
Hình 9: Giao diện trang phim theo thể loại 22
Hình 10: Giao diện trang danh sách thể loại 23
Hình 11: Giao diện trang kết quả tìm kiếm 23
Hình 12: Giao diện trang lịch sử xem phim của phiên đăng nhập 24
Hình 13: Giao diện trang chi tiết phim 24
Hình 14: Giao diện trang xem phim 25
Hình 15: Giao trang chủ rút gọn 25
Hình 16: Giao diện trang phim theo thể loại rút gọn 26
Hình 17: Giao diện trang xem chi tiết rút gọn 26
Hình 18: Giao diện trang xem phim rút gọn 27
Hình 19: Giao diện trang đăng ký tài khoản 27
Hình 20: Giao diện trang đăng nhập tài khoản 28
Hình 21: Giao diện trang lấy lại mật khẩu 28
Hình 22: Giao diện trang nhập mã xác nhận 29
Hình 23: Giao diện trang nhập mật khẩu mới 29
Hình 24: Giao diện trang đăng xuất 29
Hình 25: Giao diện trang tổng quan 30
Hình 26: Giao diện một trang xem danh sách 30
Hình 27: Giao diện một trang xem chi tiết một đối tượng 31
Hình 28: Giao diện một trang thêm mới một đối tượng 31
Hình 29: Giao diện một trang chỉnh sửa một đối tượng 32
Trang 8DANH MỤC BẢNG
Bảng 1: Các tình huống sử dụng 3
Bảng 2: Cấu trúc dữ liệu bảng người dùng (User) 14
Bảng 3: Cấu trúc dữ liệu bảng vai trò người dùng (Role) 14
Bảng 4: Cấu trúc dữ liệu bảng phản ứng của người dùng (UserReaction) 15
Bảng 5: Cấu trúc dữ liệu bảng phương thức thanh toán (PaymentMethod) 15
Bảng 6: Cấu trúc dữ liệu bảng thơng tin thanh tốn (PaymentInfo) 16
Bảng 7: Cấu trúc dữ liệu bảng thể loại (Category) 16
Bảng 8: Cấu trúc dữ liệu bảng thẻ Tag (Tag) 17
Bảng 9: Cấu trúc dữ liệu bảng quốc gia (Country) 17
Bảng 10: Cấu trúc dữ liệu bảng ngôn ngữ (Language) 18
Bảng 11: Cấu trúc dữ liệu bảng đạo diễn (Director) 18
Bảng 12: Cấu trúc dữ liệu bảng diễn viên (Cast) 18
Bảng 13: Cấu trúc dữ liệu bảng phân phối thể loại (CategoryDistribution) 19
Bảng 14: Cấu trúc dữ liệu bảng phân phối thẻ Tag (TagDistribution) 19
Bảng 15: Cấu trúc dữ liệu bảng đạo diễn của phim (DirectorOfFilm) 20
Bảng 16: Cấu trúc dữ liệu bảng diễn viên của phim (CastOfFilm) 20
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ ĐỒ ÁN1 HIỆN TRẠNG HỆ THỐNG
1.1 Giới thiệu hệ thống
Hệ thống website mà nhóm em đã làm hiện tại vẫn là một đồ án phục vụ chomôn học “Lập trình Web” Hệ thống vẫn được hoàn thiện thêm theo từng ngàynhằm đáp ứng tốt với những yêu cầu ngày càng cao của người dùng, khách truycập.
1.2 Hiện trạng hệ thống
Hệ thống website mà nhóm em đang làm là một nền tảng cho phép ngườidùng, khách truy cập thưởng thức các bộ phim với kho phim đang càng ngàynhiều hơn Hiện tại hệ thống website đã đáp ứng được với những phim lẻ, phimchiếu rạp Hệ thống có các quy trình hoạt chính như sau:
Đối với người quản trị, biên tập viên
Đăng nhập: Người quản trị hoặc biên tập viên sẽ đăng nhập vào hệ thống.Thêm dữ liệu có liên quan tới phim: Người quản trị hoặc biên tập viên sẽ
thêm những thông tin cần thiết vào hệ thống như: thể loại, thẻ tag, ngôn ngữ,quốc gia, đạo diễn, diễn viên,…
Thêm phim: Người quản trị hoặc biên tập viên sẽ thêm những bộ phim mớivào hệ thống.
Đối với người dùng, khách truy cập
Đăng nhập: Người dùng, khách truy cập sẽ đăng nhập vào tài khoản.
Chọn phim: Thực hiện chọn phim từ các danh sách hoặc tìm kiếm phimmong muốn.
Xem chi tiết phim: Xem chi tiết thông tin phim.Xem phim: Thưởng thức nội dung phim.
2 MỤC TIÊU VÀ PHẠM VI ĐỒ ÁN2.1 Mục tiêu
Sau khi thực hiện các khảo sát đối với các website xem phim, từ đó nhóm emxây dựng website xem phim online trên những kiến thức đã học với những chứcnăng như sau:
Trang 10Quản lý quốc giaQuản lý người dùng
2.2 Phạm vi
Trang web cho phép người dùng và khách truy cập xem các phim lẻ, phimchiếu rạp Chỉ có những tài khoản có quyền quản trị hoặc quyền biên tập viênmới có thể thực hiện thêm mới, chỉnh sửa phim.
Đối với người dùng, khách truy cập có thể xem phim, tìm kiếm phim, thựchiện các đánh giá đơn giá đơn giản về phim (thích hoặc không thích phim).
2.3 Môi trường triển khai
Sử dụng các ngôn ngữ: HTML, CSS, Javascript, C# (.NET Framework 4.5)Sử dụng các công cụ lập trình: Visual Studio Code, SQL Server 2014 trở
lên, Visual Studio 2019.
Các công cụ hỗ trợ khác: Live Server (tiện ích trong Visual Studio Code),Live Share (tiện ích được tích hợp trong Visual Studio Code và VisualStudio 2019), Nền tảng quản lý mã nguồn Github.
3 SỰ CẦN THIẾT VÀ LÝ DO CHỌN ĐỒ ÁN
Hiện nay, nước ta đang trong quá trình công nghiệp hóa hiện đại hóa, cuộcsống con người ngày càng nâng cao Chính vì vậy, nhu cầu về giải trí cũngngày càng cao với đại bộ phận người dân Với sự phát triển của Internet,những Website xem phim ra đời nhằm đáp ứng nhu cầu ngày càng lớn vềgiải trí.
Trang 11CHƯƠNG 2 PHÂN TÍCH YÊU CẦU VÀ QUY TRÌNH NGHIỆP VỤ1 PHÂN TÍCH U CẦU VÀ QUY TRÌNH NGHIỆP VỤ
1.1 Phân tích yêu cầu
Yêu cầu của người dùng, khách truy cập
Giao diện dễ sử dụng, phù hợp với nhu cầu xem phim online.Tìm kiếm được phim dễ dàng.
Có các đáp ứng được các nhu cầu cần thiết cho người dùng, khách truy cập.Đăng ký, đăng nhập tài khoản, các tác vụ quản lý tài khoản dễ dàng.
Kho phim đa dạng.
Thông tin tài khoản được bảo mật tốt.
Yêu cầu của người quản trị, biên tập viên
Có các chức năng thống kê: Số lượng phim, thể loại, lượt xem trang hiệntại, tình trạng hệ thống,…
Quản lý được các dữ liệu phim (xem chi tiết, thêm, xóa, sửa).
Quản lý được các dữ liệu liên quan như: Thể loại, thẻ tag, ngôn ngữ, quốcgia, đạo diễn, diễn viên,…
Quản lý các tài khoản, quyền hạn của tài khoản,…(Chỉ có người quản trịmới có thể thay đổi).
Quản lý các dữ liệu trên hệ thống dễ dàng.Các tình huống sử dụngCác tác nhânCác tác vụ có thể thực hiệnQuản trị, biêntập viênQuản lí phim, thể loại, đạo diễn, diễn viên,…Quản trị, biên
tập viênCác chức năng thống kê.
Quản trịQuản lí các tài khoản, quyền hạn tài khoản,…Quản trị, biêntập viên, ngườidùngĐăng nhập, đăng xuất, đăng ký, lấy lại mật khẩu.Quản trị, biêntập viên, ngườidùng
Các tác vụ như xem chi tiết phim, phim theo thể loại, tìmkiếm, xem phim, đánh giá phim.
Bảng 1: Các tình huống sử dụng
Trang 121.2.1 Mô hình nghiệp vụ tạo tài khoản
Bước 1: Khách truy cập, người dùng nhập vào thông tin cá nhân để tiến hành
đăng ký tài khoản.
Bước 2: Hệ thống sẽ tiến hành kiểm tra tên người dùng, địa chỉ email vào
khách truy cập, người dùng nhập vào Nếu trùng hoặc bị sai dữ liệu thì quaylại bước 1 và kèm theo thông báo.
Bước 3: Hệ thống sẽ tiến hành tạo tài khoản trong cơ sở dữ liệu Nếu tạo
không thành công, hệ thống sẽ chuyển hướng về bước 1 và kèm theo thôngbáo.
Bước 4: Hệ thống sẽ chuyển hướng đến trang nhập mã xác nhận, mã xác
nhận sẽ được gửi đến địa chỉ email mà người dùng đã nhập Nếu nhập sai mãxác nhận, hệ thống sẽ tải lại trang nhập mã xác nhận và kèm theo thông báo.Tại bước này, có thể dùng chức năng gửi lại mã xác nhận nếu như khôngnhận được email hoặc bị mất mã xác nhận.
Bước 4: Sau khi nhập mã xác nhận thành công, hệ thống sẽ chuyển hướng
Trang 13Hình 1: Mô hình nghiệp vụ tạo tài khoản
1.2.2 Mô hình nghiệp vụ đăng nhập tài khoản
Bước 1: Người dùng nhập vào thông tin gồm tên người dùng, mật khẩu.
Bước 2: Hệ thống tiến hành kiểm tra thông tin người dùng nhập vào, nếu
không tồn tại tài khoản hoặc sai mật khẩu thì hệ thống sẽ quay lại bước 1 vàkèm theo thông báo.
Bước 3: Hệ thống tiến hành đăng nhập Trong quá trình đăng nhập, nếu
Trang 14Bước 4: Hệ thống sẽ căn cứ vào mức quyền hạn vai trò của tài khoản mà
chuyển hướng đến trang phù hợp Nếu tài khoản có quyền là User thì chuyểnhướng về trang chủ, còn nếu tài khoản có quyền là Admin hoặc Editor thì sẽchuyển trang quản trị.
Hình 2: Mô hình đăng nhập tài khoản
1.2.3 Mô hình nghiệp vụ lấy lại mật khẩu cho tài khoản
Bước 1: Người dùng sẽ nhập địa chỉ email của tài khoản để tiến hành lấy lại
mật khẩu.
Bước 2: Hệ thống sẽ kiểm tra địa chỉ email mà người dùng nhập vào, nếu
không tồn tại thì hệ thống quay lại bước 1 và kèm theo thông báo.
Bước 3: Hệ thống sẽ chuyển hướng đến trang nhập mã xác nhận, nếu nhập
Trang 15Bước 4: Sau khi hoàn thành nhập mã xác nhận, hệ thống sẽ tiếp tục chuyển
hướng tới trang nhập mật khẩu mới, sau khi nhập xong mật khẩu mới, hệthống sẽ tiến hành thay đổi mật khẩu Nếu thay đổi mật khẩu không thànhcông, thì hệ thống sẽ quay lại bước 1 Đối với trường hợp thành công, thì hệthống sẽ chuyển hướng tới trang đăng nhập.
Hình 3: Mô hình nghiệp vụ lấy lại mật khẩu cho tài khoản
1.2.4 Mô hình nghiệp vụ phần dành cho người dùng, khách truy cập
Nếu người dùng, khách truy cập vào trang chủ, hệ thống sẽ thực hiện lấy vàhiển thị danh sách phim mới nhất, danh sách phim theo từng thể loại.
Trang 16nếu người dùng, khách truy cập đã thực hiện đăng nhập thì sẽ có các chứcnăng cho phép đánh giá thích, hoặc không thích phim.
Nếu người dùng truy cập vào trang xem phim, cũng tương tự như trang xemchi tiết, hệ thống sẽ dựa vào id của phim truyền trên địa chỉ để tìm thông tinphim Nếu không tìm thấy thông tin phim thì hệ thống sẽ chuyển hướng vềtrang chủ Hệ thống sẽ thực hiện tải video, cho phép người dùng, khách truycập có thể xem.
Chức năng tìm kiếm: Chức năng này có sẵn trên tất cả các trang thuộc phầndành cho người dùng, khách truy cập Khi nhập vào từ khóa vào thanh tìmkiếm và nhấn enter, hệ thống sẽ kiểm tra và chỉ thực hiện tìm kiếm nếu từkhóa khác rỗng, sau khi tìm kiếm xong hệ thống sẽ trả về kết quả tìm được.
Hình 4: Mô hình nghiệp vụ phần dành cho người dùng, khách truy cập
1.2.5 Mô hình nghiệp vụ phần quản trị
Các nghiệp vụ thêm dữ liệu
Bước 1: Người quản trị, biên tập viên tiến hành nhập các thông tin vào biểu
Trang 17Bước 2: Hệ thống sẽ tiến hành kiểm tra thông tin Nếu thông tin bị trùng, hệ
thống sẽ quay lại bước 1 và kèm theo thông báo lỗi.
Bước 3: Hệ thống sẽ tiến hành thêm dữ liệu vào trong cơ sở dữ liệu và sẽ
quay lại bước 1, kèm theo thông báo trạng thái thêm dữ liệu (thành công haythất bại).
Hình 4: Mô hình nghiệp vụ phần quản trị - thêm dữ liệu
Các nghiệp vụ chỉnh sửa dữ liệu
Bước 1: Người quản trị, biên tập viên sẽ tiến hành thay đổi các thông tin
đang hiện trên biểu mẫu.
Bước 2: Hệ thống sẽ tiến hành kiểm tra thông tin Nếu thông tin bị trùng, hệ
thống sẽ quay lại bước 1 kèm theo thông báo lỗi.
Bước 3: Hệ thống sẽ tiến hành cập nhật dữ liệu vào trong cơ sở dữ liệu và sẽ
Trang 18Hình 4: Mô hình nghiệp vụ phần quản trị - chỉnh sửa dữ liệu
Các nghiệp vụ xóa dữ liệu
Bước 1: Người quản trị, biên tập viên sẽ chọn thông tin đang cần xóa, sau đó
nhấn nút xóa.
Bước 2: Hệ thống sẽ tiến hành kiểm tra thông tin Hệ thống kiểm tra ràng
buộc dữ liệu (có những đối tượng không cần kiểm tra) Nếu có tồn tại ràngbuộc, hệ thống sẽ quay lại bước 1 kèm theo thông báo lỗi.
Bước 3: Hệ thống sẽ tiến hành xóa dữ liệu trong cơ sở dữ liệu và sẽ quay lại
Trang 19Hình 5: Mô hình nghiệp vụ phần quản trị - xóa dữ liệu
1.2.6 Mô hình Usecase tổng quát của hệ thống
Hình 6: Mô hình Usecase tổng quát của hệ thống
2 YÊU CẦU CHỨC NĂNG
Trang 20Quản lí phim: Chức năng thêm, sửa, xố các thơng tin của bộ phim.
Quản lý thể loại: Chức năng thêm, sửa, xố 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, xố 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, xố 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.
Trang 21CHƯƠNG 3 THIẾT KẾ HỆ THỐNG1 LƯỢC ĐỒ DIAGRAMHình 7: Lược đồ Diagram2 CÁC BẢNG TRONG CƠ SỞ DỮ LIỆU2.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ị.STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1IDvarchar(100)ID của người dùng (khóa
chính).
2userNamevarchar(50)Tên người dùng.
Trang 224middleNamenvarchar(50)Tên lót của người dùng.
5namenvarchar(50)Tên của người dùng.
6emailnvarchar(100)Địa chỉ email của người dùng.7phoneNumberchar(11)Số điện thoại của người dùng.
8passwordvarchar(100)Mật khẩu của người dùng.
9saltvarchar(100)Chuỗi mật khẩu bổ sung, tăng
độ phức tạp cho mật khẩu.
10 descriptionntextMô tả của người dùng.
11 activatedbitTrạng thái kích hoạt của
người dùng.
12 roleIdvarchar(100)ID quyền hạn Thuộc tính này
là khóa ngoại tham chiếu tớithuộc tính ID của bảng Role.
13 createAtdatetimeNgày tạo dữ liệu.
14 updateAtdatetimeNgày cập nhật dữ liệu.
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ườidùng.
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1IDvarchar(100)ID quyền hạn (khóa chính).
2namenvarchar(50)Tên quyền hạn.
3createAtdatetimeNgày tạo dữ liệu.
4updateAtdatetimeNgày cập nhật dữ liệu.
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)
Trang 23STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1filmIdvarchar(100)ID của phim (khóa chính).
Thuộc tính này cũng là khóangoại tham chiếu tới thuộctính ID của bảng Film.
2userIdvarchar(100)ID của người dùng (khóa
chính) Thuộc tính này cũnglà khóa ngoại tham chiếu tớithuộc tính ID của bảng User.
3upvotedbitTrạng thái đã thích phim, khi
upvoted là true thì downvotedlà false.
4downvotedbitTrạng thái không thích phim,
khi downvoted là true thìupvoted là false.
5createAtdatetimeNgày tạo dữ liệu.
6updateAtdatetimeNgày cập nhật dữ liệu.
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ươngthức thanh tốn.
STTTên trường
(thuộc tính)Kiểu dữ liệuMơ tả
1IDintID của phương thức thanh
tốn (khóa chính tự độngtăng).
2namevarchar(30)Tên phương thức thanh toán.
3createAtdatetimeNgày tạo dữ liệu.
4updateAtdatetimeNgày cập nhật dữ liệu.
Bảng 5: Cấu trúc dữ liệu bảng phương thức thanh tốn (PaymentMethod)
2.5 Bảng thơng tin thanh tốn (PaymentInfo)
Trang 24STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1userIdvarchar(100)ID của người dùng (khóa
chính) Thuộc tính này cũnglà khóa ngoại tham chiếu tớithuộc tính ID của bảng User.
2paymentMethodId intID của phương thức thanh
toán (khóa chính) Thuộc tínhnày cũng là khóa ngoại thamchiếu tới thuộc tính ID củabảng PaymentMethod.
3cardNumbervarchar(50)Số thẻ.
4cvvvarchar(5)Số CVV.
5ownervarchar(100)Tên chủ thẻ (Tên in trên thẻ).6expirationDatevarchar(30)Ngày hết hạn của thẻ.
7createAtdatetimeNgày tạo dữ liệu.
8updateAtdatetimeNgày cập nhật dữ liệu.
Bảng 6: Cấu trúc dữ liệu bảng thơng tin thanh tố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.
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1IDintID của thể loại (khóa chính tự
động tăng).
2namenvarchar(50)Tên thể loại.
3descriptionntextMô tả thể loại.
4createAtdatetimeNgày tạo dữ liệu.
5updateAtdatetimeNgày cập nhật dữ liệu.
Bảng 7: Cấu trúc dữ liệu bảng thể loại (Category)
2.7 Bảng thẻ Tag (Tag)
Trang 25STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1IDbigintID của thẻ tag (khóa chính tự
động tăng).
2namenvarchar(50)Tên thẻ tag.
3descriptionntextMô tả thẻ tag.
4createAtdatetimeNgày tạo dữ liệu
5updateAtdatetimeNgày cập nhật dữ liệu.
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
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1IDintID của quốc gia (khóa chính
tự động tăng).
2namenvarchar(50)Tên quốc gia.
3descriptionntextMô tả quốc gia.
4createAtdatetimeNgày tạo dữ liệu.
5updateAtdatetimeNgày cập nhật dữ liệu.
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.
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1IDintID của ngôn ngữ (khóa chính
tự động tăng).
2namenvarchar(50)Tên ngôn ngữ.
3descriptionntextMô tả ngôn ngữ.
Trang 265updateAtdatetimeNgày cập nhật dữ liệu.
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.
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1IDbigintID của đạo diễn (khóa chính
tự động tăng).
2namenvarchar(50)Tên đạo diễn.
3descriptionntextMô tả đạo diễn.
4createAtdatetimeNgày tạo dữ liệu.
5updateAtdatetimeNgày cập nhật dữ liệu.
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.
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1IDbigintID của diễn viên (khóa chính
tự động tăng).
2namenvarchar(50)Tên diễn viên.
3descriptionntextMô tả diễn viên.
4createAtdatetimeNgày tạo dữ liệu.
5updateAtdatetimeNgày cập nhật dữ liệu.
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.
STTTên trường
Trang 271categoryIdintID của thể loại (khóa chính).Thuộc tính này cũng là khóangoại tham chiếu tới thuộctính ID của bảng Category.
2filmIdvarchar(100)ID của phim (khóa chính).
Thuộc tính này cũng là khóangoại tham chiếu tới thuộctính ID của bảng Film.
3createAtdatetimeNgày tạo dữ liệu.
4updateAtdatetimeNgày cập nhật dữ liệu.
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ẻ tagcủa phim.
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1tagIdbigintID của thẻ tag (khóa chính).
Thuộc tính này cũng là khóangoại tham chiếu tới thuộctính ID của bảng Tag.
2filmIdvarchar(100)ID của phim (khóa chính).
Thuộc tính này cũng là khóangoại tham chiếu tới thuộctính ID của bảng Film.
3createAtdatetimeNgày tạo dữ liệu.
4updateAtdatetimeNgày cập nhật dữ liệu.
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.
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1directorIdbigintID của đạo diễn (khóa chính).
Trang 28tính ID của bảng Tag.
2filmIdvarchar(100)ID của phim (khóa chính).
Thuộc tính này cũng là khóangoại tham chiếu tới thuộctính ID của bảng Film.
3rolenvarchar(50)Vai trò cụ thể của đạo diễn.
4createAtdatetimeNgày tạo dữ liệu.
5updateAtdatetimeNgày cập nhật dữ liệu.
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êncủa phim.
STTTên trường
(thuộc tính)Kiểu dữ liệuMô tả
1castIdbigintID của diễn viên (khóa
chính) Thuộc tính này cũnglà khóa ngoại tham chiếu tớithuộc tính ID của bảng Tag.
2filmIdvarchar(100)ID của phim (khóa chính).
Thuộc tính này cũng là khóangoại tham chiếu tới thuộctính ID của bảng Film.
3rolenvarchar(50)Vai trò cụ thể của diễn viên.
4createAtdatetimeNgày tạo dữ liệu.
5updateAtdatetimeNgày cập nhật dữ liệu.
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 Tên trường (thuộc
tính)Kiểu dữ liệuMô tả
1IDvarchar(100)ID của phim (khóa chính).
Trang 293descriptionntextMô tả phim.
4countryIdintID của quốc gia Thuộc tính
này là khóa ngoại tham chiếutới thuộc tính ID của bảngCountry.
5productionCompany nvarchar(50)Công ty sản xuất.
6languageIdintID của ngôn ngữ Thuộc tính
này là khóa ngoại tham chiếutới thuộc tính ID của bảngLanguage.
7releaseDatevarchar(10)Ngày phát hành.
8upvotebigintSố lượng lượt thích phim.
9downvotebigintSố lượng lượt không thích
phim.
10 viewsbigintSố lượng lượt xem phim.
11 durationvarchar(20)Thời lượng của phim.
12 thumbnailvarchar(100)Đường dẫn hình ảnh phim.
13 sourcevarchar(100)Đường dẫn phim.
14 createAtdatetimeNgày tạo dữ liệu.
15 updateAtdatetimeNgày cập nhật dữ liệu.
Trang 30CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH1 GIAO DIỆN PHẦN NGƯỜI DÙNG, KHÁCH TRUY CẬP1.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ủathể loại đó.
Trang 311.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ượngphim 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
Trang 32Hì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ácchứ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
Trang 33Hì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ẢNRÚ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
Trang 34Hì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
Trang 35Hình 18: Giao diện trang xem phim rút gọn
3.GIAO DIỆN PHẦN TÀI KHOẢN3.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
Trang 36Hì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 37Hì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
Trang 384.GIAO DIỆN PHẦN QUẢN TRỊ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
Trang 39Hì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
Trang 40Hì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,…