Báo cáo đồ án 1: Hệ thống quản lý rạp chiếu phim theo kiến trúc microservice

Tải đồ án quản lý rạp chiếu phim theo kiến trúc microservice. Báo cáo chi tiết hệ thống xây dựng bằng Java Spring Boot, ReactJS cho sinh viên tham khảo.

2024

69
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng Quan Về Đồ Án Quản Lý Rạp Chiếu Phim Với Microservice

Đồ án quản lý rạp chiếu phim với kiến trúc Microservice là một giải pháp công nghệ tiên tiến nhằm giải quyết các vấn đề quản lý phức tạp trong các rạp chiếu phim hiện đại. Hệ thống được thiết kế dựa trên nhu cầu thực tế của khách hàng và nhân viên quản lý, nhằm tối ưu hóa quy trình bán vé, quản lý phim và lịch chiếu. Kiến trúc Microservice cho phép chia nhỏ ứng dụng thành các dịch vụ độc lập, dễ bảo trì và mở rộng. Đồ án này được phát triển bởi sinh viên Trường Đại học Công nghệ Thông tin với sự hướng dẫn của cô Nguyễn Thị Xuân Hương. Hệ thống không chỉ giải quyết bài toán quản lý mà còn nâng cao trải nghiệm người dùng thông qua giao diện thân thiện và các tính năng tiện lợi.

1.1. Hiện Trạng Và Nhu Cầu Thực Tế

Các rạp chiếu phim hiện nay gặp nhiều khó khăn trong quản lý hoạt động hàng ngày. Khách hàng phải xếp hàng chờ đợi lâu để mua vé, dẫn đến giảm lượng khách và ảnh hưởng đến doanh thu. Việc quản lý phim, lịch chiếu, đặt vé và thanh toán vé cần được tự động hóa. Nhu cầu xây dựng một phần mềm quản lý rạp chiếu phim hiệu quả là điều tất yếu để giải quyết các vấn đề này và cải thiện hoạt động kinh doanh.

1.2. Mục Đích Và Yêu Cầu Hệ Thống

Mục đích chính của đồ án là xây dựng hệ thống quản lý rạp chiếu phim toàn diện với các chức năng quan trọng. Hệ thống cần hỗ trợ quản lý phim, lịch chiếu phim, phòng chiếu, , đặt vé trực tuyến, quản lý người dùngquản lý thông tin khách hàng. Kiến trúc Microservice được áp dụng để đảm bảo khả năng mở rộng, bảo trì dễ dàng và hiệu suất cao của hệ thống.

II. Kiến Trúc Microservice Trong Quản Lý Rạp Chiếu Phim

Kiến trúc Microservice là mô hình thiết kế phần mềm hiện đại, trong đó ứng dụng được chia thành các dịch vụ nhỏ, độc lập và có thể triển khai riêng biệt. Trong bối cảnh quản lý rạp chiếu phim, Microservice cho phép tách biệt các chức năng như dịch vụ phim, dịch vụ lịch chiếu, dịch vụ bán vé và dịch vụ người dùng. Mỗi dịch vụ có cơ sở dữ liệu riêng và giao tiếp với nhau thông qua API. Điều này giúp hệ thống dễ dàng mở rộng, nâng cấp từng phần mà không ảnh hưởng đến toàn bộ hệ thống. Đặc biệt, trong quản lý rạp chiếu phim, kiến trúc này cho phép xử lý đồng thời nhiều yêu cầu từ khách hàng, đảm bảo hiệu suất cao và tin cậy.

2.1. Ưu Điểm Của Kiến Trúc Microservice

Kiến trúc Microservice mang lại nhiều ưu điểm cho hệ thống quản lý rạp chiếu phim. Các dịch vụ độc lập giúp giảm phụ thuộc lẫn nhau, cho phép phát triển và triển khai nhanh chóng. Khả năng mở rộng linh hoạt: mỗi dịch vụ có thể mở rộng độc lập dựa trên nhu cầu. Dễ dàng bảo trì: lỗi ở một dịch vụ không ảnh hưởng đến các dịch vụ khác. Công nghệ đa dạng: các dịch vụ có thể sử dụng ngôn ngữ lập trình khác nhau.

2.2. Nhược Điểm Và Thách Thức

Mặc dù có nhiều ưu điểm, kiến trúc Microservice cũng đặt ra những thách thức. Phức tạp hóa: quản lý nhiều dịch vụ yêu cầu công cụ và kỹ năng cao hơn. Khó khăn trong giao tiếp: các dịch vụ phải giao tiếp thông qua mạng, có thể gây độ trễ. Kiểm thử phức tạp: cần kiểm thử tích hợp giữa các dịch vụ. Nhóm phát triển quản lý rạp chiếu phim đã cân nhắc kỹ những thách thức này trong thiết kế.

III. Công Nghệ Và Stack Công Nghệ Sử Dụng

Đồ án quản lý rạp chiếu phim sử dụng stack công nghệ hiện đại để xây dựng hệ thống Microservice mạnh mẽ. Phía Front-end sử dụng React, JavaScript, Tailwind CSSHTML để tạo giao diện người dùng thân thiện và responsive. Phía Back-end sử dụng Java Spring Boot, một framework phổ biến cho xây dựng ứng dụng Microservice với hiệu suất cao. Cơ sở dữ liệu được chia thành movie_db quản lý thông tin phim và lịch chiếu, cùng user_db quản lý thông tin người dùng. Việc sử dụng các công nghệ này đảm bảo hệ thống quản lý rạp chiếu phim có khả năng xử lý cao, bảo mật tốt và dễ bảo trì.

3.1. Front End React JavaScript Và Tailwind CSS

Phía Front-end của hệ thống quản lý rạp chiếu phim được xây dựng bằng React, thư viện JavaScript phổ biến cho xây dựng giao diện người dùng. React cho phép tạo các component tái sử dụng, cải thiện hiệu suất và trải nghiệm người dùng. Tailwind CSS được sử dụng để thiết kế giao diện sạch, hiện đại với các class utility. HTML cung cấp cấu trúc cơ bản. Giao diện bao gồm các trang xem lịch chiếu, xem thông tin phim, đặt vé và thanh toán, tối ưu hóa trên các thiết bị khác nhau.

3.2. Back End Java Spring Boot Với Microservice Architecture

Phía Back-end sử dụng Java Spring Boot, framework mạnh mẽ cho xây dựng ứng dụng Microservice. Kiến trúc Microservice được triển khai với các dịch vụ độc lập xử lý quản lý phim, lịch chiếu, bán véquản lý người dùng. Mỗi dịch vụ có API REST riêng, giao tiếp qua HTTP/REST. Spring Boot cung cấp các công cụ như Spring Data JPA để tương tác cơ sở dữ liệu, Spring Security cho xác thực người dùng. Hệ thống có khả năng xử lý đồng thời nhiều yêu cầu, đảm bảo hiệu suất cao cho quản lý rạp chiếu phim.

IV. Các Chức Năng Chính Của Hệ Thống Quản Lý Rạp Chiếu Phim

Hệ thống quản lý rạp chiếu phim được thiết kế với các chức năng toàn diện để hỗ trợ cả khách hàng và nhân viên quản lý. Chức năng quản lý phim cho phép thêm, sửa, xóa thông tin các bộ phim đang chiếu, sắp chiếu hoặc ngừng chiếu với chi tiết như tiêu đề, thể loại, đạo diễn, diễn viên, thời lượng và mô tả. Quản lý lịch chiếu giúp tạo và quản lý thời gian chiếu các bộ phim ở các phòng chiếu khác nhau. Quản lý véđặt vé trực tuyến cho phép khách hàng dễ dàng đặt vé mà không cần đến quầy. Thanh toán vé được hỗ trợ qua nhiều phương thức, đảm bảo an toàn. Quản lý thông tin khách hàngquản lý người dùng giúp hệ thống theo dõi lịch sử mua vé. Các chức năng này được tích hợp seamlessly với kiến trúc Microservice.

4.1. Quản Lý Phim Và Lịch Chiếu

Chức năng quản lý phim trong hệ thống Microservice cho phép nhân viên quản lý dễ dàng cập nhật danh sách phim. Mỗi phim được lưu trữ với thông tin chi tiết: tiêu đề phim, thể loại, đạo diễn, diễn viên, thời lượng, mô tả nội dung, đánh giá, ngày khởi chiếu. Chức năng quản lý lịch chiếu cho phép tạo các suất chiếu cho từng phim ở các phòng chiếu khác nhau với các khung giờ khác nhau, hỗ trợ quản lý hiệu quả lượng khách hàng.

4.2. Đặt Vé Thanh Toán Và Quản Lý Khách Hàng

Chức năng đặt vé trực tuyến cho phép khách hàng chọn phim, thời gian chiếu, phòng chiếu và ghế ngồi qua giao diện thân thiện. Hệ thống Microservice xử lý các yêu cầu đặt vé đồng thời, đảm bảo tính toàn vẹn dữ liệu. Thanh toán vé được bảo mật bằng Spring Security, hỗ trợ nhiều phương thức thanh toán. Quản lý thông tin khách hàng lưu trữ lịch sử mua vé, giúp khách hàng quản lý và xem lại các giao dịch của mình.

28/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN 1.1 Hiện trạng Trong các rạp chiếu phim hiện nay, việc quản lý và tổ chức chiếu phim, bán vé luôn là vấn đề được quan tâm. Người quản lý luôn gặp khó khăn trong vấn đề quản lý quá trình hoạt động của từng bộ phận như: phim, lịch chiếu, đặt vé… và đặc biệt là quá trình bán vé. Khách hàng phải xếp hàng chờ đợi hàng giờ để mua được vé xem phim. Chính vì lý do đó mà số lượng khách hàng đi xem phim cũng it hơn, thu nhập của rạp cũng bị ảnh hưởng.

Vì vậy, tạo ra một phần mềm quản lý rạp chiếu phim là một nhu cầu tất yếu. Hệ thống quản lý rạp chiếu phim được xây dựng dựa trên những nhu cầu thực tế của khách hàng và nhà quản lý nhằm giải quyết những khó khăn gặp phải, giảm thiểu rủi ro trong quá trình quản lý rạp. Hệ thống hướng tới các đối tượng là khách hàng và những nhân viên quản lý trong rạp. Hệ thống có các chức năng chính bao gồm: quản lý phim, quản lý lịch chiếu, quản lý phòng chiếu, quản lý vé, đặt vé, quản lý người dùng và quản lý thông tin khách hàng.

Các chức năng này giúp người quản lý dễ dàng điều khiển quá trình hoạt động của rạp và rất thuận tiện để khách hàng có thể mua được vé.2 Mô tả bài toán Hệ thống quản lý rạp chiếu phim cần hỗ trợ các nhân viên và quản lý trong việc tổ chức, điều hành các hoạt động tại rạp chiếu phim. Hệ thống này giúp quản lý việc đặt vé, hiển thị thông tin các bộ phim, lịch chiếu, và hỗ trợ việc quản lý ghế ngồi trong từng rạp.1 Công việc chính của hệ thống bao gồm: 1.1 Quản lý phim: Hệ thống sẽ quản lý danh sách các bộ phim hiện đang chiếu, sắp chiếu và ngừng chiếu. Mỗi bộ phim có thông tin về tiêu đề, thể loại, đạo diễn, diễn viên, thời lượng, mô tả nội dung, đánh giá từ người xem, ngày khởi chiếu.2 Quản lý lịch chiếu: Hệ thống cung cấp tính năng cho phép quản lý các suất chiếu theo ngày, giờ và rạp cụ thể. Mỗi suất chiếu sẽ gắn với một bộ phim, một phòng chiếu và danh sách ghế có sẵn.3 Quản lý ghế ngồi: Mỗi phòng chiếu sẽ có một sơ đồ ghế ngồi, bao gồm các hàng ghế và loại ghế.

Hệ thống phải đảm bảo cập nhật trạng thái ghế (đã đặt, còn trống) theo thời gian thực khi có người đặt vé.4 Quản lý người dùng: Hệ thống sẽ quản lý thông tin người dùng (khách hàng), bao gồm tên, địa chỉ email, số điện thoại, lịch sử đặt vé, và các ưu đãi dành cho khách hàng thân thiết. Người dùng có thể đăng ký tài khoản, quản lý hồ sơ cá nhân, và theo dõi lịch sử đặt vé của mình.5 Đặt vé: Khách hàng có thể tìm kiếm phim, chọn suất chiếu và đặt vé trực tuyến thông qua hệ thống. Sau khi đặt vé, hệ thống sẽ tạo ra mã QR hoặc mã vé điện tử mà khách hàng có thể sử dụng để vào rạp.6 Quản lý vé: Hệ thống cần quản lý trạng thái của vé (đã đặt, đã thanh toán, đã sử dụng, hủy), đồng thời cung cấp báo cáo về doanh thu từ việc bán vé, các suất chiếu có số lượng vé đã bán và vé còn lại.7 Thống kê và báo cáo: Hệ thống cung cấp các báo cáo thống kê về người dùng, phim và suất chiếu 1.2 Ràng buộc nghiệp vụ: • Các suất chiếu của phim không được trùng lặp trong cùng một rạp. • Số lượng ghế cho mỗi suất chiếu được giới hạn theo sức chứa của phòng chiếu.

• Mỗi vé đặt phải được thanh toán trong một khoảng thời gian nhất định, nếu không vé sẽ bị hủy. Hệ thống sẽ hoạt động suốt cả tuần, hỗ trợ người dùng và nhân viên quản lý các hoạt động của rạp một cách hiệu quả, tiện lợi.3 Mục đích và yêu cầu 1.1 Mục đích • Xây dựng một ứng dụng quản lý rạp chiếu phim với đầy đủ các chức năng, dễ dàng sử dụng cho người quản lý và nhân viên. • Hỗ trợ các nhà quản lý trong việc theo dõi lịch chiếu phim, doanh thu, và quản lý vé một cách thuận tiện, tối ưu hóa hoạt động kinh doanh. • Đảm bảo tính chính xác trong việc xử lý thông tin và bảo mật cao nhằm bảo vệ dữ liệu khách hàng và doanh thu.2 Yêu cầu • Phần mềm cần có các chức năng cơ bản như: Đăng nhập, đăng ký tài khoản, quản lý lịch chiếu phim, quản lý vé, báo cáo doanh thu, và quản lý khách hàng.

• Hỗ trợ quản lý các thao tác liên quan đến việc đặt vé, xóa, sửa, và báo cáo kết quả doanh thu theo từng ngày, tuần, tháng. • Giao diện cần trực quan, dễ sử dụng và tương thích với nhiều thiết bị • Đảm bảo phần mềm thỏa mãn các tiêu chí: o Tính hiệu quả: Đáp ứng nhanh các yêu cầu của người dùng, tối ưu hóa việc xử lý thông tin. o Tính an toàn: Hệ thống phải đảm bảo tính ổn định, tránh mất dữ liệu. o Tính bảo mật: Bảo vệ thông tin cá nhân khách hàng và dữ liệu tài chính của rạp.

o Tính tiến hóa: Phần mềm dễ dàng mở rộng, nâng cấp khi có nhu cầu mới. • Đối tượng sử dụng o Các nhà quản lý rạp chiếu phim hoặc chuỗi rạp. o Nhân viên rạp chiếu phim quản lý lịch chiếu, bán vé. o Khách hàng muốn xem lịch chiếu và mua vé trực tuyến.4 Quy trình làm việc chính 1.1 Phân tích yêu cầu • Mục tiêu: Xác định tất cả các yêu cầu từ người dùng cuối và quản lý.

Điều này bao gồm các chức năng như quản lý lịch chiếu, bán vé, báo cáo doanh thu, và bảo mật thông tin. 10 • Hoạt động: Thu thập yêu cầu từ khách hàng, phân tích và lập tài liệu yêu cầu chi tiết. • Điều chỉnh: Nếu trong quá trình phân tích phát hiện yêu cầu chưa rõ hoặc không phù hợp, sẽ quay lại giai đoạn này để điều chỉnh.2 Thiết kế hệ thống • Mục tiêu: Thiết kế kiến trúc phần mềm dựa trên yêu cầu đã thu thập, bao gồm thiết kế giao diện người dùng (UI), cơ sở dữ liệu (Database), và các thành phần khác của hệ thống. • Hoạt động: Thiết kế sơ đồ kiến trúc, luồng xử lý dữ liệu, giao diện cho từng module của hệ thống.

• Điều chỉnh: Sau khi hoàn thành thiết kế ban đầu, có thể phản hồi từ phía quản lý hoặc người dùng dẫn đến việc chỉnh sửa thiết kế để đảm bảo tính khả thi và hiệu quả.3 Cài đặt (Triển khai từng bước) • Mục tiêu: Phát triển từng phần của hệ thống dựa trên thiết kế đã có. Quy trình cài đặt có thể được chia thành từng giai đoạn nhỏ (từng tính năng hoặc module) để đảm bảo tính khả dụng và giảm thiểu lỗi. • Hoạt động: Bắt đầu triển khai từng tính năng như đăng nhập, quản lý lịch chiếu, bán vé, báo cáo,. Mỗi tính năng sau khi cài đặt sẽ được tích hợp vào hệ thống tổng thể.

• Điều chỉnh: Nếu phát hiện lỗi trong quá trình triển khai, có thể quay lại giai đoạn thiết kế hoặc phân tích để sửa đổi.4 Kiểm thử • Mục tiêu: Đảm bảo rằng phần mềm hoạt động đúng yêu cầu và không gặp lỗi trong quá trình sử dụng. 11 • Hoạt động: Tiến hành kiểm thử các chức năng của hệ thống theo từng module hoặc giai đoạn. Kiểm thử bao gồm kiểm thử chức năng, kiểm thử bảo mật, và kiểm thử hiệu năng. • Điều chỉnh: Nếu phát hiện lỗi, nhóm phát triển sẽ quay lại các giai đoạn trước đó để sửa chữa và kiểm thử lại.5 Triển khai • Mục tiêu: Đưa phần mềm vào sử dụng thực tế cho khách hàng và người quản lý rạp chiếu phim.

• Hoạt động: Cài đặt và cấu hình phần mềm trên hệ thống của rạp chiếu phim, đảm bảo hệ thống hoạt động trơn tru trong môi trường thực tế. • Điều chỉnh: Trong quá trình triển khai thực tế, nếu có phát sinh vấn đề, phần mềm sẽ được điều chỉnh lại dựa trên phản hồi từ người dùng.6 Bảo trì • Mục tiêu: Đảm bảo phần mềm hoạt động ổn định và cập nhật thường xuyên để đáp ứng các yêu cầu mới hoặc sửa lỗi phát sinh. • Hoạt động: Theo dõi hiệu suất và chức năng của phần mềm sau khi đưa vào sử dụng. Cập nhật và nâng cấp phần mềm khi cần thiết.

• Điều chỉnh: Bất kỳ thay đổi hoặc cải tiến nào cần thực hiện sẽ quay lại các giai đoạn thiết kế, phát triển, và kiểm thử. 12 2 CHƯƠNG 2: XÁC ĐỊNH VÀ MÔ HÌNH HÓA YÊU CẦU PHẦN MỀM BẰNG MÔ HÌNH USE-CASE 2.1 Danh sách Actor STT Tên Actor Ý nghĩa/Ghi chú 1 Admin (Quản lí hệ thống) Là người quản lý hệ thống. Quản lí Customer và Manager, phân quyền 2 Manager Là người quản lý thông tin khách hàng, nhân viên và lập báo cáo thống kê. Quản lí vé Là người quản lý tạo vé, bán vé, cập nhật thông tin Quản lí phim vé.

Quản lí lịch chiếu phim Là người quản lý các bộ phim. Có thể thêm mới Quản lí phòng chiếu hoặc xóa phim khi cần thiết và cập nhật các thông tin về các bộ phim. Quản lí người dùng Là người quản lý việc tạo ra lịch chiếu cho các bộ phim. 2 Customer (Khách hàng) Là người có thể xem thông tin phim, tiến hành đặt vé, xem thông tin vé, đăng kí, đăng nhập 13 2.2 Danh sách Use-case STT Tên Use-case Ý nghĩa/Ghi chú 1 Đăng nhập hệ thống Người dùng đăng nhập để thực hiện chức năng của mình 2 Đăng kí hệ thống Nếu không có tài khoản, người dùng có thể đăng kí với vai trò là khách hàng (user/customer) 3 Xem lịch chiếu phim Hiển thị thông tin lịch chiếu trong tuần cho khách hàng, các thông tin hiển thị gồm: tên phim, phòng, thời gian chiếu.

4 Xem thông tin phim Hiển thị thông tin cho khách hàng về các bộ phim đang chiếu trong ngày hoặc sắp chiếu, các thông tin 14 hiển thị gồm: tên phim, thời lượng, thể loại, diễn viên chính, nội dung chính. 4 Quản lý bán vé Giúp nhân viên quản lý vé kiểm soát số lượng vé đã bán. Quản lý việc bán vé cho người dùng Quản lý thanh toán vé và dịch vụ đã mua. 7 Quản lý lịch chiếu phim Giúp nhân viên quản lý lịch chiếu phim tạo mới, sửa đổi và xóa lịch chiếu phim.

8 Quản lý phim Giúp nhân viên quản lý phim quản lý việc mua bản quyền phim, các thông tin chi tiết của bộ phim, kho phim hiện có. 9 Quản lý loại phim Giúp nhân viên quản lý phim quản lý danh mục thể loại phim 10 Quản lý phòng chiếu Giúp Nhân viên quản lý phòng chiếu quản lý số lượng phòng chiếu, các thiết bị trong phòng chiếu, số lượng ghế trong phòng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ