Mô tả hệ thống - Chương trình được xây dựng cho phép quản lý các phim chiếu rạp một cáchtrực quan sinh động, bao gồm một số chức năng quản lý như: thêm, sửa, xóa,tìm kiếm, hiển thị danh
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
-o0o -BÁO CÁO BÀI TẬP LỚN
Môn học: Lập trình sử dụng API
Đề tài: Web API quản lý giới thiệu phim chiếu rạp
Giảng viên hướng dẫn: Thạc sĩ Đinh Công Tùng
Sinh viên thực hiện: Trần Công Thành
Mã sinh viên: 201240331
Lớp: CNTT6 – K61
Trang 2LỜI NÓI ĐẦU
Ngày nay khoa học càng phát triển, các ứng dụng của ngành khoa học đã dầndần đưa vào trong các lĩnh vực của cuộc sống kéo theo cuộc sống nhân loại càng ngàycàng thay đổi, chất lượng cuộc sống ngày một nâng cao và con người ngoài những giờlàm việc, lao động vất vả còn tìm cho mình những giá trị tinh thần để giải trí, vui chơilàm cách nào cho cuộc sống ý nghĩa hơn Và việc giải trí mà ngày càng được coi làtương đối phát triển là tới các rạp chiếu phim để coi những bộ phim với những nộidung, ý tưởng khác nhau
Ngày nay, với sự phổ biến của Internet, tiến bộ của viễn thông, các trở ngại vềkhoảng cách và thời gian trong lưu thông thông tin trong phạm vị hẹp và toàn cầukhông còn là một trở ngại lớn Các dịch vụ xã hội có những thay đổi lớn, các côngnghệ làm phim ngày càng được đổi mới, càng ngày càng có nhiều bộ phim hay, ýnghĩa Nhận thức được điều đó, em quyết định chọn đề tài “Web API quản lý giới thiệu phim chiếu rạp”
Trong quá trình hoàn thiện đề tài, em luôn nhận được sự giúp đỡ nhiệt tình củathầy – Thạc sĩ Đinh Công Tùng Đó là một cơ hội lớn cho em để thực hiện được đề tài
Do thời gian thực hiện và sự hiểu biết có hạn nên trong quá trình thực hiện đề án vẫncòn những thiếu sót vì vậy em rất mong nhận được ý kiến đóng góp từ thầy để đề tàiđược hoàn thiện hơn
Trang 31.3 Xác định các chức năng cho các lớp người dùng 10
Trang 4TÀI LIỆU THAM KHẢO 27
Trang 5DANH MỤC HÌNH ẢNH
Hình 3.1 API Accounts, Actors, Genres. 23
Hình 3.9 Giao diện Danh sách diễn viên. 27
Hình 3.12 Giao diện Danh sách rạp phim. 29
Hình 3.16 Giao diện trang Chi tiết phim. 31
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Mô tả hệ thống
- Chương trình được xây dựng cho phép quản lý các phim chiếu rạp một cáchtrực quan sinh động, bao gồm một số chức năng quản lý như: thêm, sửa, xóa,tìm kiếm, hiển thị danh sách phim, rạp phim, diễn viên, thể loại phim, lọc theocác tiêu chí khác nhau
- Công nghệ sử dụng:
+ Back-end: ASP.NET CORE 6.0 Web API
+ Front-end: React TS
+ Database: SQL server
- Cài đặt và chạy chương trình:
+ Mã nguồn của chương trình: https://github.com/Jomias/Movies_API_Project
Hình 1.1 File app setting.
+ Thay đổi đường dẫn ở DefaultConnection
Trang 8Hình 1.2 Update cơ sở dữ liệu.
+ Trong màn hình Package Manager Console gõ lệnh: dotnet ef database update + Thêm dữ liệu vào CSDL từ file Database có sẵn
+ Chạy Web API trước:
Hình 1.3 Chạy chương trình Back-end.
Trang 9+ Sau đó chạy chương trình React bằng lệnh: npm start
Hình 1.4 Chạy chương trình React.
1.2 Các nghiệp vụ cơ bản
a) Quản lý phim
- Hiển thị danh sách phim, phim có tại rạp, phim sắp chiếu
- Phân trang danh sách phim
- Lọc phim theo tiêu chí
- Thêm, sửa, xóa phim
- Xem chi tiết phim
- Quản lý danh sách diễn viên của phim
- Quản lý danh sách rạp chiếu phim này
- Quản lý danh sách thể loại của phim
- Có tích hợp chức năng upload hình ảnh và text editor đơn giản.b) Quản lý rạp phim
- Thêm, sửa, xóa rạp phim
- Hiển thị danh sách rạp phim
- Phân trang danh sách rạp phim
- Cho phép chọn vị trí trên bản đồ địa chỉ của rạp
c) Quản lý thể loại
- Thêm, sửa, xóa thể loại phim
Trang 10- Phân trang danh sách thể loại.
d) Quản lý diễn viên
- Thêm, sửa, xóa danh sách diễn viên
- Hiển thị danh sách diễn viên
- Có tích hợp chức năng upload hình ảnh và text editor đơn giản.e) Quản lý tài khoản
- Đăng ký và đăng nhập
1.3 Xác định các chức năng cho các lớp người dùng
- Người dùng với vai trò Khách có thể:
+ Truy cập trang chủ
+ Truy cập trang lọc phim
+ Truy cập trang chi tiết phim
- Người dùng có tài khoản với vai trò Admin có thể:
+ Truy cập tất cả các trang của hệ thống.
+ Quản lý phim.
+ Quản lý thể loại.
+ Quản lý rạp chiếu phim
+ Quản lý diễn viên
Trang 11CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ
2.1 Use case diagram
Hình 2.1 Use case tổng quát.
Trang 12TT Tên trường Kiểu dữ liệu Mô tả
Trang 134 Biography Nvarchar(MAX) Tiểu sử diễn viên
2.2.2.2 Movies
Bảng 2.2 Bảng Movies.
TT Tên trường Kiểu dữ liệu Mô tả
không
2.2.2.3 MoviesActors
Bảng 2.3 Bảng MoviesActors.
TT Tên trường Kiểu dữ liệu Mô tả
Trang 143 Location Geography Địa chỉ rạp phim
2.2.2.5 MovieTheatersMovies
Bảng 2.5 Bảng MovieTheatersMovies.
TT Tên trường Kiểu dữ liệu Mô tả
TT Tên trường Kiểu dữ liệu Mô tả
Trang 15CHƯƠNG 3: THIẾT KẾ HỆ THỐNG
3.1 Danh sách các API
Hình 3.1 API Accounts, Actors, Genres.
Hình 3.2 API Movies, MovieTheaters.
Trang 16- (POST) /api/accounts/register: Đăng ký tài khoản.
- (POST) /api/accounts/login: Kiểm tra đăng nhập
3.1.2 Actors
- (GET) /api/actors: Lấy danh sách diễn viên theo phân trang
- (POST) /api/actors: Tạo diễn viên mới
- (GET) /api/actors/searchByName/{query}: Lấy toàn bộ danh sách diễn viên tìmkiếm theo tên
- (GET) /api/actors/{id}: Lấy thông tin diễn viên theo id
- (PUT) /api/actors/{id}: Sửa thông tin diễn viên
- (DELETE) /api/actors/{id}: Xóa diễn viên
3.1.3 Genres
- (GET) /api/genres: Lấy danh sách thể loại theo phân trang
- (POST) /api/genres: Tạo thể loại mới
- (GET) /api/genres/all: Lấy toàn bộ thông tin danh sách thể loại
- (GET) /api/genres/{id}: Lấy thông tin thể loại theo id
- (PUT) /api/genres/{id}: Sửa thông tin thể loại
- (DELETE) /api/genres/{id}: Xóa diễn viên
3.1.4 Movies
- (GET) /api/movies/{id}: Lấy thông tin phim theo id
- (PUT) /api/movies/{id}: Sửa thông tin phim
- (DELETE) /api/movies/{id}: Xóa phim
- (GET) /api/movies/filter: Lấy danh sách phim thỏa mãn tiêu chí lọc
- (GET) /api/movies/PostGet: Lấy danh sách thể loại và và rạp phim để tạo phim
- (GET) /api/movies/PutGet/{id}: Lấy danh sách thể loại, rạp phim, diễn viên củaphim đang được chọn
- (GET) /api/movies: Lấy danh sách phim theo phân trang
- (POST) /api/movies: Tạo một phim mới
3.1.5 MovieTheaters
- (GET) /api/movieTheaters: Lấy danh sách rạp phim theo phân trang
- (POST) /api/movieTheaters: Tạo rạp phim mới
- (GET) /api/movieTheaters/{id}: Lấy thông tin rạp phim theo id
- (PUT) /api/movieTheaters/{id}: Sửa thông tin rạp phim
- (DELETE) /api/movieTheaters/{id}: Xóa rạp phim
Trang 173.2 Giao diện của hệ thống
3.2.1 Trang Home
3.2.1.1 Giao diện trang Home:
Hình 3.3 Giao diện trang Home.
3.2.2 Quản lý tài khoản
3.2.2.1 Đăng ký:
Hình 3.4 Giao diện Đăng ký 3.2.2.2 Đăng nhập:
Trang 18Hình 3.5 Giao diện Đăng nhập.
Trang 193.2.3.3 Sửa thể loại:
Hình 3.8 Giao diện Sửa thể loại.
3.2.4 Quản lý diễn viên
3.2.4.1 Danh sách diễn viên:
Hình 3.9 Giao diện Danh sách diễn viên.
Trang 20Hình 3.10 Giao diện Thêm diễn viên 3.2.4.3 Sửa diễn viên:
Hình 3.11 Giao diện Sửa diễn viên.
3.2.5 Quản lý rạp phim
Trang 22Hình 3.14 Giao diện Sửa rạp phim.
3.2.6 Quản lý phim
3.2.6.1 Trang lọc phim:
Hình 3.15 Giao diện trang Lọc phim 3.2.6.2 Trang chi tiết phim:
Trang 23Hình 3.16 Giao diện trang Chi tiết phim 3.2.6.3 Thêm phim:
Trang 24Hình 3.17 Giao diện Thêm phim 3.2.6.4 Sửa phim:
Trang 25Hình 3.18 Giao diện Sửa phim.
Trang 26CHƯƠNG 4: KẾT QUẢ
1 Kết quả đạt được so với mục tiêu
- Chương trình đáp ứng được những chức năng tối thiểu đề ra, tuy nhiên giao diện còn chưa thực sự thân thiện với người dùng
- Chức năng phân quyền chưa thực hiện được hoàn chỉnh do vấn đề về CORS
2 Bài học rút ra
- Nên tìm kiếm giao diện có trước để tập trung hơn vào phát triển nghiệp vụ của hệthống
3 Đề xuất phương hướng phát triển
- Xây dựng các Interface mẫu cho 1 số các API có mẫu chung
- Xây dựng lại chức năng phân quyền
- Xây dựng lại giao diện của hệ thống
Trang 27TÀI LIỆU THAM KHẢO
1 Tài liệu giảng viên cung cấp
2 Tài liệu đọc thêm trên mạng