Trang web quản lý thông tin rạp chiếu phim

MỤC LỤC

Mục tiêu của đề tài

- Tạo một trang web quản lý phim, khách hàng, vé, nhân viên trong rạp chiếu phim 2.

LÝ THUYẾT 2.1. LINQ

ASP.NET Core 1. Giới thiệu

- ASP.NET Core là một framework mã nguồn mở được phát triển bởi Microsoft, dùng để xây dựng các ứng dụng web và dịch vụ web hiệu suất cao và đa nền tảng. ASP.NET Core là phiên bản tiếp theo của ASP.NET Framework và có nhiều cải tiến vượt trội, bao gồm tích hợp các tính năng và khả năng tương thích đa nền tảng. - Đa nền tảng (Cross-platform): ASP.NET Core cho phép phát triển và triển khai ứng dụng trên nhiều nền tảng, bao gồm Windows, macOS và Linux.

Điều này giúp giảm sự phụ thuộc vào hệ điều hành và tăng tính linh hoạt trong việc triển khai ứng dụng trên các môi trường khác nhau. Nó sử dụng mô hình xử lý không đồng bộ (asynchronous processing) và hỗ trợ nhiều cơ chế như Kestrel web server và ASP.NET Core Module, giúp cải thiện khả năng chịu tải và thời gian phản hồi của ứng dụng. - Dependency Injection (DI): ASP.NET Core tớch hợp Dependency Injection vào lừi của framework, giúp quản lý các phụ thuộc (dependencies) và tạo ra các thành phần dễ dàng.

- Tích hợp với Entity Framework Core: ASP.NET Core tích hợp chặt chẽ với Entity Framework Core, một ORM (Object-Relational Mapping) mới và nhỏ gọn của Microsoft. - Cấu trúc dự án tối giản (Minimalistic Project Structure): ASP.NET Core có cấu trúc dự án tối giản và linh hoạt hơn so với ASP.NET Framework truyền thống.

Resful APIs 1. Giới thiệu

Điều này giúp đơn giản hóa việc làm việc với cơ sở dữ liệu và tạo ra các truy vấn dữ liệu một cách dễ dàng. - Phát triển các ứng dụng web Single Page Application (SPA) sử dụng các framework như Angular hoặc React. - Cấu trúc URL thân thiện: Các tài nguyên trong RESTful APIs được đại diện bằng các URL thân thiện, dễ hiểu và có ý nghĩa.

- Sử dụng định dạng dữ liệu chuẩn: RESTful APIs thường sử dụng các định dạng dữ liệu chuẩn như JSON (JavaScript Object Notation) hoặc XML (eXtensible Markup. Language) để truyền dữ liệu giữa client và server. - Các mã trạng thái HTTP (HTTP Status Codes): RESTful APIs sử dụng các mã trạng thái HTTP để chỉ thị kết quả của yêu cầu. Ví dụ, 200 OK cho thành công, 404 Not Found cho không tìm thấy tài nguyên, 500 Internal Server Error cho lỗi phía server.

- Phát triển các ứng dụng web Single Page Application (SPA) sử dụng các framework như Angular hoặc React. - Tích hợp các ứng dụng với các dịch vụ bên ngoài, chẳng hạn như thanh toán, nhắn tin, gọi video, và nhiều dịch vụ khác.

Swagger 1. Giới thiệu

- Xây dựng các dịch vụ web API để cung cấp dữ liệu cho ứng dụng di động hoặc các ứng dụng khác. - Xây dựng các ứng dụng IoT (Internet of Things) để truyền thông và quản lý các thiết bị thông qua mạng. - Tạo tài liệu API tự động: Swagger cho phép lập trình viên tạo tài liệu API tự động từ mã nguồn của ứng dụng.

Khi API được thay đổi, tài liệu sẽ được cập nhật tự động, giúp giảm tối thiểu công việc thủ công và đảm bảo tài liệu luôn đồng bộ với API. - Dễ dàng đọc và hiểu: Tài liệu được tạo ra bởi Swagger có định dạng JSON hoặc YAML và được biểu thị bằng các ghi chú trực quan, chú thích và ví dụ dữ liệu. - Giao diện người dùng (Swagger UI): Swagger cung cấp một giao diện người dùng (Swagger UI) giúp hiển thị tài liệu API một cách trực quan và tương tác với API trực tiếp từ giao diện.

Giao diện này cho phép thử nghiệm các yêu cầu API, xem các thông tin chi tiết và kiểm tra tích hợp một cách dễ dàng. - Hỗ trợ nhiều ngôn ngữ lập trình: Swagger hỗ trợ nhiều ngôn ngữ lập trình và nền tảng, bao gồm Java, C#, JavaScript, Python, Ruby và nhiều ngôn ngữ khác.

TRIỂN KHAI DỰ ÁN 3.1. Thiết kế use case

Thiết kế database 1. Sơ đồ ERD

4 Address String Khác null Địa chỉ của người dùng 5 DateOfBirth DateTime Khác null Ngày sinh của người dùng.

Bảng 3. 3: Mô tả chi tiết bảng User
Bảng 3. 3: Mô tả chi tiết bảng User

Thiết kế kiến trúc 1. Kiến trúc hệ thống

    UserRole Lưu thông tin mối quan hệ giữa người dùng và vai trò RoomStatus Lưu thông tin trạng thái phòng chiếu. IBillRepository Định nghĩa các phương thức BillRepository triển khai ICustomerRepository Định nghĩa các phương thức CustomerRepository triển khai IFilmRepository Định nghĩa các phương thức FilmRepository triển khai IRoleRepository Định nghĩa các phương thức RoleRepository triển khai IRoomRepository Định nghĩa các phương thức RoomRepository triển khai IRoomStatusRepository Định nghĩa các phương thức RoomStatusRepository triển. ISeatRepository Định nghĩa các phương thức SeatRepository triển khai ISeatStatusRepository Định nghĩa các phương thức SeatStatusRepository triển khai IShowTimeRepository Định nghĩa các phương thức ShowTimeRepository triển khai ITicketRepository Định nghĩa các phương thức TicketRepository triển khai.

    IUserRepository Định nghĩa các phương thức UserRepository triển khai IUserRoleRepository Định nghĩa các phương thức UserRoleRepository triển khai. BillRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến Bill CustomerRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến Customer FilmRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến Film RoleRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến Role RoomRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến Room RoomStatusRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến. SeatRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến Seat SeatStatusRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến SeatStatus ShowTimeRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến ShowTime TicketRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến Ticket TypeOfFilmRepositor.

    UserRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến User UserRoleRepository Quản lý tương tác với cơ sở dữ liệu liên quan đến UserRole. BillDto Truyền dữ liệu liên quan đến Bill CustomerDto Truyền dữ liệu liên quan đến Customer. SeatStatusDto Truyền dữ liệu liên quan đến SeatStatus ShowTimeDto Truyền dữ liệu liên quan đến ShowTime TicketDto Truyền dữ liệu liên quan đến Ticket TypeOfFilmDto Truyền dữ liệu liên quan đến TypeOfFilm.

    BillController Quản lý các yêu cầu liên quan đến Bill CustomerController Quản lý các yêu cầu liên quan đến Customer FilmControler Quản lý các yêu cầu liên quan đến Film. LoginController Quản lý quá trình đăng nhập và xác định danh tính RoleController Quản lý các yêu cầu liên quan đến Role. RoomController Quản lý các yêu cầu liên quan đến Room RoomStatusController Quản lý các yêu cầu liên quan đến RoomStatus SeatController Quản lý các yêu cầu liên quan đến Seat.

    SeatStatusController Quản lý các yêu cầu liên quan đến SeatStatus ShowTimeController Quản lý các yêu cầu liên quan đến ShowTime TicketController Quản lý các yêu cầu liên quan đến Ticket TypeOfFilmController Quản lý các yêu cầu liên quan đến TypeOfFilm UserController Quản lý các yêu cầu liên quan đến User.

    Bảng 3. 18: Dto
    Bảng 3. 18: Dto

    KẾT QUẢ 4.1. Bill

    Customer

    2 pageSize Int Mặc định là 10 Số lượng dữ liệu trong một trang 3 search String Khác null Tìm kiếm thông tin khách hàng theo.

    UserRole

    - Trong quá trình thực tập vừa qua em đã được học và tìm hiểu nhiều hơn về ngôn ngữ lập trình C# và ASP.NET Framework từ đó giúp em nắm được nhiều kiến thức hơn trong quá trình học tập và công việc sau này của mình. - Nâng cao kỹ năng viết email, CV, kỹ năng làm việc nhóm, kỹ năng thuyết trình,…. - Vì thời gian thực tập ngắn chỉ trong vòng 2 tháng nên em vẫn chưa học tập được nhiều về ASP.NET Framework.

    - Về kiến thức thì em vẫn còn nhiều điều chưa biết và chỉ mới dừng lại ở những kiến thức cơ bản. - Trong tương lai, em sẽ cố gắng học hỏi thêm kiến thức để hoàn thiện một trang web có thể chạy được đầy đủ các chức năng cần có. - Để làm được những điều đó, em sẽ xây dựng cho bản thân một lộ trình học hiệu quả, cố gắng trau dồi thêm kiến thức, học hỏi từ nhiều nguồn và nỗ lực nhiều hơn nữa.