Xây dựng website quản lý sự kiện và bán vé dựa trên kiến trúc microservices

MỤC LỤC

GIỚI THIỆU CHUNG 1.1. Lý do chọn đề tài

Đề tài "Xây dựng website quản lý sự kiện và bán vé dựa trên kiến trúc Microservices" tập trung vào nghiên cứu và ứng dụng kiến trúc Microservices để xây dựng một website cho phép quản lý và bán vé cho sự kiện. Hy vọng rằng đề tài này không chỉ giải quyết bài toán thực tế mà còn mang lại cỏi nhỡn rừ hơn về kiến trỳc Microservices và cỏch tớch hợp nú trong xõy dựng cỏc ứng dụng web hiện đại.

CÔNG NGHỆ SỬ DỤNG 2.1. Kiến trúc Microservices

Dịch vụ này hoạt động như một trung gian, lưu trữ và chuyển tiếp thông điệp giữa các thành phần khác nhau: Producer (gửi thông điệp), Azure Message Bus (trung gian lưu trữ và chuyển tiếp), và Consumer (nhận thông điệp). SWR hoạt động dựa trên nguyên tắc Stale-While-Revalidate, giữ một bản sao "cũ" của dữ liệu để người dùng xem ngay lập tức, đồng thời liên tục cập nhật và hiển thị dữ liệu mới khi nó sẵn sàng.

THIẾT KẾ HỆ THỐNG 3.1. Xây dựng hệ thống

Use Case Đăng kí

Các yêu cầu đặc biệt - “Email” phải có định dạng email, không được để trống, không được vượt quá 100 kí tự. - “Số điện thoại” phải có định dạng số điện thoại, không được để trống, không được vượt quá 100 kí tự.

Use Case Tìm kiếm sự kiện

Người dùng Người dùng chưa đăng nhập, Người dùng đã đăng nhập Điều kiện kích hoạt Người dùng muốn tìm kiếm sự kiện. Người dùng có thể sử dụng các bộ lọc để chính xác hóa kết quả tìm kiếm và bấm ‘Áp dụng’.

Use Case Chỉnh sửa thông tin cá nhân Bảng 3.8 Use Case Chỉnh sửa thông tin cá nhân

Người dùng đã chuyển đến trang thông tin cá nhân và có thể bắt đầu chỉnh sửa thông tin. Người dùng có thể chỉnh sửa các trường thông tin như họ tên, số điện thoại, ngày sinh và giới tính.

Use Case Mua vé

Mục đích Cho phép người dùng mua vé cho sự kiện đã chọn Người dùng Khách hàng. Điều kiện kích hoạt Người dùng đã bấm nút "Mua vé" ở trang chi tiết sự kiện Trạng thái hệ thống.

Use Case Chỉnh sửa thông tin liên hệ

Mục đích Cho phép người dùng chỉnh sửa thông tin liên hệ của người đặt vé trong quá trình mua vé. Hệ thống mặc định hiển thị thông tin liên hệ hiện tại của người đặt vé từ thông tin cá nhân của tài khoản đang đăng nhập. Người dùng có thể chỉnh sửa các trường thông tin như Họ tên, Email, Số điện thoại.

- “Email” phải có định dạng email, không được để trống, không được vượt quá 100 kí tự.

Use Case Chỉnh sửa thông tin vé

Hệ thống hiển thị danh sách vé đã được thêm và hiển thị thông tin chi tiết về mỗi vé.

Use Case Xác nhận thanh toán thành công Bảng 3.15 Use Case Xác nhận thanh toán thành công

Hệ thống hiển thị thông tin chi tiết về sự kiện đã mua vé, bao gồm tên sự kiện, địa điểm, ngày giờ diễn ra. Hệ thống hiển thị thông tin chi tiết về từng vé đã mua, bao gồm thông tin chủ vé, mã vé, giá vé.

Use Case Xem danh sách giao dịch

Người dùng có thể tìm kiếm giao dịch bằng cách nhập tên sự kiện vào thanh tìm kiếm. Mở rộng - Xem danh sách vé đã mua (UC14) Các yêu cầu đặc biệt Không.

Use Case Xem danh sách vé đã mua

Đối với mỗi vé, hệ thống hiển thị thông tin chủ vé và mã vé.

Use Case Tạo sự kiện mới

Họ sẽ được đưa về trạng thái ban đầu và thông tin sự kiện sẽ được khởi tạo lại. - “Số lượng” vé có kiểu số nguyên, phải lớn hơn 0 và nhỏ hơn số lượng vé còn lại của sự kiện.

Use Case Xem danh sách sự kiện

Hệ thống hiển thị danh sách sự kiện của người dùng với thông tin cơ bản của mỗi sự kiện (Ảnh bìa, Tên, Ngày diễn ra, Vé đã bán, Doanh thu). - Người dùng có thể tìm kiếm sự kiện theo tên bằng cách nhập từ khóa vào thanh tìm kiếm. - Người dùng có thể sắp xếp danh sách sự kiện theo Ngày diễn ra, Vé đã bán, Doanh thu.

Use Case Chỉnh sửa thông tin sự kiện Bảng 3.20 Use Case Chỉnh sửa thông tin sự kiện

Người dùng đã chuyển đến trang chỉnh sửa và thực hiện thay đổi thông tin. Người dùng có thể thêm hoặc xóa hình ảnh, thay đổi giá vé, thay đổi ngày, thời gian diễn ra, và các thông tin khác liên quan đến sự kiện. Nếu tất cả hợp lệ, thông tin sự kiện được cập nhật và hệ thống hiển thị thông báo "Cập nhật sự kiện mới thành công".

Use Case Sao chép mã vé

Mục đích Cho phép người dùng sao chép mã vé từ danh sách vé đã mua trong một đơn mua. Điều kiện kích hoạt Người dùng đã chọn xem chi tiết của một đơn mua và đang ở trang chi tiết đơn mua. Người dùng đang ở trang chi tiết của một đơn mua và xem danh sách các vé.

Người dùng vẫn ở trang chi tiết của một đơn mua và đang có mã vé được sao chép vào clipboard.

Use Case Chỉnh sửa thông tin vé

Mục đích Cho phép người dùng chỉnh sửa thông tin một vé từ danh sách vé đã mua trong một đơn mua. Hiển thị biểu mẫu thông tin chủ vé gồm các trường Họ tên, Email, Số điện thoại. Nếu thay đổi thông tin vé thành công, hệ thống sẽ thông báo “Chỉnh sửa thông tin vé thành công” và cập nhật lại thông tin vé.

Hiển thị biểu mẫu thông tin chủ vé gồm các trường Họ tên, Email, Số điện thoại.

Use Case Hủy vé

Người dùng đang xem danh sách sự kiện đã tạo và muốn xóa một sự kiện.

Use Case Xem thống kê

- Hiển thị biểu đồ và đồ thị thể hiện thống kê doanh thu, số lượng sự kiện, và các thông tin quan trọng khác. - Cập nhật về các sự kiện và giao dịch mới nhất được hiển thị để người dựng theo dừi.

Use Case Xem danh sách giao dịch

Hệ thống hiển thị danh sách toàn bộ giao dịch đó với thông tin cơ bản của mỗi giao dịch (Mã đơn, Thông tin liên hệ, Ngày thanh toán, Thời gian, Số lượng vé, Tổng tiền). - Người dùng có thể tìm kiếm giao dịch theo thông tin liên hệ bằng cách nhập từ khóa vào thanh tìm kiếm. - Người dùng có thể sắp xếp danh sách giao dịch theo Thông tin liên hệ, Ngày thanh toán, Thời gian, Số lượng vé, Tổng tiền.

Use Case Xem danh sách người dùng Bảng 3.33 Use Case Xem danh sách người dùng

Luồng sự kiện phụ Không. Các yêu cầu đặc biệt Không. Use Case Xem danh sách người dùng. động, Ngưng hoạt động).

Use Case Chỉnh sửa thông tin người dùng Bảng 3.36 Use Case Chỉnh sửa thông tin người dùng

Điều kiện kích hoạt Quản trị viên đã chọn phần mở rộng của một người dùng và chọn tùy chọn "Chỉnh sửa". Quản trị viên đang xem danh sách người dùng và muốn chỉnh sửa thông tin một người dùng. Quản trị viên có thể thay đổi avatar bằng cách tải lên một hình ảnh mới.

Quản trị viên có thể chỉnh sửa các trường thông tin như họ tên, số điện thoại, ngày sinh và giới tính.

Use Case Vô hiệu hóa người dùng

Nếu thành công, hệ thống sẽ thông báo “Kích hoạt người dùng thành công” và cập nhật lại trạng thái của tài khoản. Luồng sự kiện phụ - Quản trị viên chọn phần mở rộng của một người dùng bất kì và chọn “Kích hoạt”. Mục đích Cho phép người dùng xem danh sách thể loại trong hệ thống và tương tác với các thể loại đó.

Hệ thống hiển thị danh sách thể loại của người dùng với thông tin cơ bản của mỗi thể loại (Mã thể loại, Tên thể loại, Màu sắc, Tổng sự kiện, Tổng vé đã bán).

Use Case Chỉnh sửa thông tin thể loại Bảng 3.41 Use Case Chỉnh sửa thông tin thể loại

3 UserRoles Lưu trữ thông tin phân quyền 4 Events Lưu trữ thông tin sự kiện 5 Categories Lưu trữ thông tin thể loại. 6 Albums Lưu trữ thông tin album ảnh sự kiện 7 TicketDetails Lưu trữ thông tin chi tiết vé của sự kiện 8 Tickets Lưu trữ thông tin vé tham gia sự kiện 9 Payments Lưu trữ thông tin giao dịch. 11 CreatedAt DateTime Thời gian khi thêm dữ liệu 12 UpdatedAt DateTime Thời gian khi sửa dữ liệu.

Bảng Tickets

10 CreatedAt DateTime Thời gian khi thêm dữ liệu 11 UpdatedAt DateTime Thời gian khi sửa dữ liệu.

Bảng Payments

3 Message String Not Null Nội dung gửi đi 4 EmailSent DateTime Not Null Thời gian gửi email.

XÂY DỰNG ỨNG DỤNG 4.1. Danh sách màn hình

19 Quản lý sự kiện Cho phép xem danh sách toàn bộ sự kiện trong hệ thống và tương tác với nó 20 Quản lý đơn mua Cho phép xem danh sách toàn bộ giao. 22 Quản lý thể loại Cho phép xem danh sách toàn bộ thể loại trong hệ thống và tương tác với nó 23 Chỉnh sửa thể loại Cho phép chỉnh sửa thông tin của một. Ở màn hình Đăng kí, người dùng có thể nhập Họ tên, Email, Số điện thoại, Mật khẩu, Nhập lại lại mật khẩu, không chọn “Tôi muốn đăng kí tài khoản Chủ sự kiện” để đăng kí tài khoản Khách hàng, nếu chọn sẽ đăng kí tài khoản Chủ sự kiện.

Màn hình này hiển thị các thông tin về sự kiện như Tên, Mô tả, Thời gian và địa điểm, Thông tin vé, Hình ảnh, Giá vé. Người dùng bấm vào một thẻ bất kì sau đó người dùng sẽ được chuyển đến trang “Chi tiết giao dịch” để xem thông tin chi tiết của một giao dịch. Màn hình này hiển thị biểu mẫu để người dùng điền các thông tin liên quan đến thể loại như “Tên thể loại”, “Màu phân loại”.

Hình 4.1 Màn hình “Đăng nhập”
Hình 4.1 Màn hình “Đăng nhập”