Tải bản đầy đủ (.pdf) (27 trang)

Báo Cáo Bài Tập Lớn Đề Tài Web Api Quản Lý Giới Thiệu Phim Chiếu Rạp.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.95 MB, 27 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>KHOA CÔNG NGHỆ THÔNG TIN</b>

<b>---o0o---BÁO CÁO BÀI TẬP LỚN</b>

Mơn học: Lập trình sử dụng API

<b>Đề tài: Web API quản lý giới thiệu phim chiếu rạp</b>

<b>Giảng viên hướng dẫn: Thạc sĩ Đinh Công Tùng</b>

Sinh viên thực hiện: Trần Công Thành Mã sinh viên: 201240331

Lớp: CNTT6 – K61

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI NÓI ĐẦU</b>

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ần dầ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ày cà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ơi là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ội dung, ý 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à tồn cầu khơ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ông nghệ 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 “<b>Web API quản lý giớithiệu phim chiếu rạp”. </b>

Trong q trình hồn thiện đề tài, em ln nhận được sự giúp đỡ nhiệt tình của thầ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 q trình thực hiện đề án vẫn cị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 hồn thiện hơn.

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

1.3. Xác định các chức năng cho các lớp người dùng 10

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

TÀI LIỆU THAM KHẢO 27

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>DANH MỤC HÌNH ẢNH</b>

<b>Hình 3.1. API Accounts, Actors, Genres.</b> 23

<b>Hình 3.9. Giao diện Danh sách diễn viên.</b> 27

<b>Hình 3.12. Giao diện Danh sách rạp phim.</b> 29

<b>Hình 3.16. Giao diện trang Chi tiết phim.</b> 31

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI</b>

<b>1.1. Mơ tả hệ thống</b>

- 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ách trự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 theo - Cài đặt và chạy chương trình:

+ Mã nguồn của chương trình: 1.1. File app setting.</b>

+ Thay đổi đường dẫn ở DefaultConnection.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>Hình 1.2. Update cơ sở dữ liệu.</b>

+ 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:

<b>Hình 1.3. Chạy chương trình Back-end.</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

+ Sau đó chạy chương trình React bằng lệnh: npm start

<b>Hình 1.4. Chạy chương trình React.</b>

<b>1.2. Các nghiệp vụ cơ bản</b>

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.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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.

<b>1.3. Xác định các chức năng cho các lớp người dùng</b>

- 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.

<b>- 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.</b>

<b>+ Quản lý thể loại.+ Quản lý rạp chiếu phim+ Quản lý diễn viên</b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ</b>

<b>2.1. Use case diagram</b>

<b>Hình 2.1. Use case tổng quát.</b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>TTTên trườngKiểu dữ liệuMô tả</b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

4 Biography Nvarchar(MAX) Tiểu sử diễn viên

<b>2.2.2.2. Movies</b>

<b>Bảng 2.2. Bảng Movies.</b>

<b>TTTên trườngKiểu dữ liệuMô tả</b>

<b>2.2.2.3. MoviesActors</b>

<b>Bảng 2.3. Bảng MoviesActors.</b>

<b>TTTên trườngKiểu dữ liệuMô tả</b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

3 Location Geography Địa chỉ rạp phim

<b>2.2.2.5. MovieTheatersMovies</b>

<b>Bảng 2.5. Bảng MovieTheatersMovies.</b>

<b>TTTên trườngKiểu dữ liệuMô tả</b>

<b>TTTên trườngKiểu dữ liệuMô tả</b>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>CHƯƠNG 3: THIẾT KẾ HỆ THỐNG</b>

<b>3.1. Danh sách các API</b>

<b>Hình 3.1. API Accounts, Actors, Genres.</b>

<b>Hình 3.2. API Movies, MovieTheaters.</b>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

- (POST) /api/accounts/register: Đăng ký tài khoản. - (POST) /api/accounts/login: Kiểm tra đăng nhập.

<b>3.1.2. Actors</b>

- (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ìm kiế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.

<b>3.1.3. Genres</b>

- (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.

<b>3.1.4. Movies</b>

- (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ủa

phim đ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.

<b>3.1.5. MovieTheaters</b>

- (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.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>3.2. Giao diện của hệ thống</b>

<b>3.2.1. Trang Home</b>

<b>3.2.1.1. Giao diện trang Home:</b>

<b>Hình 3.3. Giao diện trang Home.</b>

<b>3.2.2. Quản lý tài khoản</b>

<b>3.2.2.1. Đăng ký:</b>

<b>Hình 3.4. Giao diện Đăng ký.3.2.2.2. Đăng nhập:</b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>Hình 3.5. Giao diện Đăng nhập.</b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>3.2.3.3. Sửa thể loại:</b>

<b>Hình 3.8. Giao diện Sửa thể loại.</b>

<b>3.2.4. Quản lý diễn viên</b>

<b>3.2.4.1. Danh sách diễn viên:</b>

<b>Hình 3.9. Giao diện Danh sách diễn viên.</b>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>Hình 3.10. Giao diện Thêm diễn viên.3.2.4.3. Sửa diễn viên:</b>

<b>Hình 3.11. Giao diện Sửa diễn viên.</b>

<b>3.2.5. Quản lý rạp phim</b>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>Hình 3.14. Giao diện Sửa rạp phim.</b>

<b>3.2.6. Quản lý phim</b>

<b>3.2.6.1. Trang lọc phim:</b>

<b>Hình 3.15. Giao diện trang Lọc phim.3.2.6.2. Trang chi tiết phim:</b>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>Hình 3.16. Giao diện trang Chi tiết phim.3.2.6.3. Thêm phim:</b>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>Hình 3.17. Giao diện Thêm phim.3.2.6.4. Sửa phim:</b>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>Hình 3.18. Giao diện Sửa phim.</b>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>CHƯƠNG 4: KẾT QUẢ</b>

<b>1. Kết quả đạt được so với mục tiêu </b>

- 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.

<b>2. Bài học rút ra </b>

- 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.

<b>3. Đề xuất phương hướng phát triển </b>

- 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.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>TÀI LIỆU THAM KHẢO</b>

1. Tài liệu giảng viên cung cấp. 2. Tài liệu đọc thêm trên mạng.

</div>

×