Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ và thâm nhập sâu rộng vào mọi lĩnh vực của đời sống kinh tế – xã hội, việc ứng dụng các giải pháp kỹ thuật số vào công tác truyền thông và quản lý trở thành một nhu cầu tất yếu. Hoạt động tổ chức sự kiện đóng vai trò là một công cụ tiếp thị (marketing) quan trọng hàng đầu, chỉ đứng sau quảng cáo và nghiên cứu thị trường. Theo các số liệu thống kê được tác giả dẫn giải, trung bình hàng năm các doanh nghiệp trên thế giới chi hơn 20 tỉ USD cho hoạt động quảng bá sản phẩm và khoảng 15 tỉ USD cho công tác tổ chức các sự kiện như hội nghị khách hàng, giới thiệu và trưng bày sản phẩm.
Tại các cơ quan thông tin, thư viện trường đại học và các tổ chức doanh nghiệp, hoạt động tổ chức sự kiện diễn ra với tần suất cao và quy mô ngày càng mở rộng. Tuy nhiên, thực trạng quản lý và tổ chức tại các đơn vị này phần lớn vẫn mang tính tự phát, phân tán, phụ thuộc nhiều vào nhân lực thủ công và chưa được chuẩn hóa theo quy trình công nghệ chuyên nghiệp. Điều này dẫn đến sự lãng phí về mặt chi phí, tốn kém thời gian và làm giảm hiệu quả tương tác với người tham dự. Xuất phát từ thực tiễn trên, nhóm nghiên cứu đã lựa chọn thực hiện đề tài "Xây dựng website hỗ trợ tổ chức sự kiện".
Nhiệm vụ và mục tiêu nghiên cứu của đề tài được tác giả xác định cụ thể qua các nội dung sau:
- Nghiên cứu tổng quan về lý thuyết, tính năng và phương thức sử dụng các công nghệ: hệ quản trị cơ sở dữ liệu SQL Server, nền tảng Node.js, ExpressJS, Angular CLI và LINQ to SQL.
- Thiết kế và xây dựng mini-game (trò chơi quay số may mắn) trên giao diện web nhằm tạo sự hào hứng cho người tham dự và tăng tính chuyên nghiệp cho sự kiện.
- Hiện thực hóa các tính năng xác thực người dùng bao gồm đăng ký, đăng nhập và đổi mật khẩu.
- Xây dựng phân hệ quản lý và thống kê dữ liệu sự kiện dành cho nhà tổ chức.
- Xây dựng phân hệ quản lý và thống kê thông tin tài khoản khách hàng dành cho quản trị viên.
- Thiết lập cơ chế tự động khởi tạo mã QR Code phục vụ quy trình điểm danh (check-in).
- Xây dựng chức năng kết xuất dữ liệu sang tập tin định dạng Excel (.xlsx).
- Tích hợp cơ chế gửi email tự động để thông báo trạng thái hoạt động của khách hàng.
- Tích hợp chức năng gửi email cấp mật khẩu ngẫu nhiên cho tài khoản người dùng mới.
- Xây dựng phân hệ tiếp nhận và xử lý đánh giá (feedback, rating) từ người tham dự.
- Xây dựng giao diện tra cứu danh sách người tham gia, người trúng thưởng trò chơi và tổng hợp ý kiến đánh giá.
- Hoàn thiện báo cáo khoa học trình bày đầy đủ quy trình phân tích, thiết kế và cài đặt hệ thống.
- Đảm bảo tính khả thi trong việc tiếp tục hoàn thiện, nâng cấp các tính năng để định hướng đưa phần mềm vào ứng dụng thực tế.
Đối tượng nghiên cứu của đề tài là quy trình tổ chức, vận hành sự kiện và các giải pháp phần mềm web phục vụ công tác quản lý sự kiện. Phạm vi nghiên cứu được triển khai trong khuôn khổ đồ án tốt nghiệp ngành Công nghệ Thông tin tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, với thời gian thực hiện từ ngày 28/02/2020 đến ngày 01/07/2020.
Cơ sở lý thuyết và phương pháp
Đồ án tiếp cận việc phát triển ứng dụng dựa trên các nền tảng kỹ thuật và công nghệ phát triển web hiện đại:
| Công nghệ / Nền tảng |
Bản chất & Vai trò kỹ thuật trong hệ thống |
| Node.js |
Môi trường thực thi JavaScript đa nền tảng phía máy chủ (JavaScript runtime) xây dựng trên nền tảng V8 engine của Chrome, hoạt động theo mô hình hướng sự kiện (event-driven) và cơ chế nhập/xuất bất đồng bộ (non-blocking I/O) giúp xử lý nhanh và tối ưu tài nguyên. |
| RESTful API |
Tiêu chuẩn kiến trúc thiết kế dịch vụ web (Web services), sử dụng các phương thức HTTP (GET, POST, PUT, DELETE) để quản lý tài nguyên hệ thống thông qua các định dạng dữ liệu chuẩn. |
| Angular CLI |
Giao diện dòng lệnh hỗ trợ phát triển các ứng dụng Single Page Application (SPA) phía Front-end dựa trên kiến trúc MVC, tích hợp ngôn ngữ TypeScript giúp kiểm soát chặt chẽ kiểu dữ liệu và thuận tiện trong bảo trì mã nguồn. |
| Microsoft SQL Server |
Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) sử dụng Transact-SQL, hỗ trợ quản lý dữ liệu tập trung, phân tích dữ liệu (SSAS), lập báo cáo (SSRS) và tích hợp dữ liệu (SSIS). |
| LINQ to SQL |
Công cụ ánh xạ quan hệ đối tượng (O/RM) trong môi trường .NET Framework, cho phép truy vấn và thao tác trực tiếp với cơ sở dữ liệu SQL Server thông qua các lớp đối tượng mà không cần viết câu lệnh SQL thuần túy. |
Phương pháp nghiên cứu được áp dụng trong đề tài bao gồm:
- Phương pháp khảo sát và phân tích hiện trạng: Tìm hiểu quy trình tổ chức sự kiện thực tế, xác định các yêu cầu chức năng và phi chức năng của hệ thống.
- Phương pháp mô hình hóa và thiết kế phần mềm: Sử dụng sơ đồ phân rã chức năng, sơ đồ ca sử dụng (Use Case Diagram), đặc tả ca sử dụng và mô hình thực thể liên kết (ERD).
- Phương pháp thực nghiệm phần mềm: Cài đặt, lập trình hệ thống theo kiến trúc phân tầng, kết nối cơ sở dữ liệu và thử nghiệm các chức năng nghiệp vụ trên môi trường phát triển cục bộ.
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình phân tách độc lập giữa tầng giao diện người dùng (Front-end), tầng xử lý logic nghiệp vụ (Back-end) và tầng dữ liệu (Database).
Kiến trúc tổng thể và phân quyền tác nhân
Kiến trúc hệ thống bao gồm:
- Tầng Front-end: Xây dựng bằng Angular CLI, chia thành hai phân hệ giao diện: phân hệ dành cho Người quản trị (Admin) và phân hệ dành cho Khách hàng/Người tham dự (Customers/Users).
- Tầng Back-end: Sử dụng C# và ASP.NET kết hợp chuẩn giao tiếp RESTful API, áp dụng công nghệ LINQ to SQL để ánh xạ và thao tác dữ liệu.
- Tầng Cơ sở dữ liệu: Sử dụng Microsoft SQL Server để lưu trữ toàn bộ các thực thể thông tin.
Hệ thống phân định rõ ràng quyền hạn và chức năng của 3 nhóm tác nhân (Actors):
- Người quản trị (Admin): Đăng nhập; quản lý danh sách tài khoản khách hàng (xem, thêm mới, chỉnh sửa, xóa, nâng cấp tài khoản Premium); tự động gửi email cấp mật khẩu ngẫu nhiên; gửi email xác nhận nâng cấp; thống kê tổng quan các sự kiện và xuất dữ liệu ra file Excel.
- Khách hàng (Customer - Nhà tổ chức sự kiện): Đăng ký, đăng nhập, đổi mật khẩu; gửi yêu cầu nâng cấp tài khoản; quản lý sự kiện (tạo mới, sửa, xóa, tắt sự kiện, tìm kiếm); tạo mã QR Code điểm danh; kích hoạt mini-game quay số may mắn; xem danh sách người tham gia; kết xuất danh sách người tham dự và người trúng thưởng ra file Excel; theo dõi thống kê số liệu và phản hồi đánh giá.
- Người tham dự (User / Guest): Quét mã QR để thực hiện check-in trực tuyến tại sự kiện; tham gia trò chơi tương tác và gửi đánh giá (điểm số, nhận xét) về sự kiện.
Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của phần mềm bao gồm 6 bảng thực thể quan hệ:
| Tên bảng |
Các thuộc tính (Tên trường, Kiểu dữ liệu, Độ dài) |
Chức năng lưu trữ |
Customers |
ID (int, Khóa chính), HoTen (nvarchar(100)), Email (varchar(100)), UserName (varchar(50)), PassWord (varchar(50)), isPremium (varchar(30)) |
Lưu trữ thông tin tài khoản người tổ chức sự kiện và trạng thái phân hạng tài khoản. |
Events |
ID (int, Khóa chính), IDCustomer (int, Khóa ngoại), TenSuKien (nvarchar(100)), NoiDung (nvarchar(MAX)), DiaDiem (varchar(200)), ThoiGian (varchar(200)), GhiChu (nvarchar(255)), TrangThai (nvarchar(30)) |
Lưu trữ thông tin chi tiết về các sự kiện do khách hàng khởi tạo. |
Guests |
ID (int, Khóa chính), IDSuKien (int, Khóa ngoại), HoTen (nvarchar(100)), SDT (varchar(20)), Email (varchar(30)), DiaChi (nvarchar(100)) |
Lưu trữ danh sách thông tin người tham gia đăng ký hoặc điểm danh tại sự kiện. |
Users |
ID (int, Khóa chính), UserName (nvarchar(100)), PassWord (nvarchar(100)), HoTen (nvarchar(100)), Email (varchar(30)) |
Lưu trữ thông tin tài khoản người quản trị hệ thống. |
Winer Events |
IDEvent (int), IDGuest (int), ThoiGianQuay (varchar(20)) |
Lưu trữ thông tin người tham dự may mắn trúng giải qua trò chơi quay số tại sự kiện. |
FeedBacks |
ID (int, Khóa chính tăng tự động), IDSukien (int, Khóa ngoại), Feedback (nvarchar(255)), RatingPoint (int), Email (varchar(30)) |
Lưu trữ các ý kiến phản hồi, đánh giá và điểm số xếp hạng của khách tham dự. |
Các phân hệ chức năng tiêu biểu
- Phân hệ Check-in bằng mã QR tự động: Mỗi sự kiện khi khởi tạo sẽ tự sinh ra một mã QR Code định danh. Người tham dự sử dụng thiết bị quét mã để truy cập form check-in, nhập thông tin cá nhân và lưu trữ trực tiếp vào bảng
Guests.
- Phân hệ Trò chơi tương tác (Mini-game): Tích hợp vòng quay số ngẫu nhiên lấy dữ liệu từ danh sách khách đã check-in trong bảng
Guests, tự động ghi nhận người trúng giải vào bảng Winer Events và hiển thị kết quả trực tiếp trên giao diện sự kiện.
- Phân hệ Tự động hóa Email: Hệ thống tích hợp dịch vụ gửi mail thông qua giao thức SMTP/Gmail API, hỗ trợ việc tạo mật khẩu ngẫu nhiên gửi tới khách hàng mới và phát thông báo nâng cấp tài khoản Premium.
- Phân hệ Báo cáo và Kết xuất dữ liệu: Hỗ trợ trích xuất dữ liệu đa bảng ra file định dạng Excel (.xlsx) bao gồm danh sách khách hàng, danh sách sự kiện, danh sách người tham gia và bảng tổng hợp người chiến thắng trò chơi.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 làm rõ bối cảnh thực tiễn của ngành tổ chức sự kiện và vai trò của công nghệ thông tin trong việc tự động hóa các quy trình truyền thông tiếp thị. Tác giả chỉ ra tính cấp thiết của đề tài xuất phát từ nhu cầu thực tế của các doanh nghiệp, đoàn thể và đặc biệt là khối thư viện trường đại học. Chương này xác định rõ mục đích phát triển phần mềm nhằm giảm thiểu nhân lực điều hành, tiết kiệm chi phí tổ chức, quản lý người tham gia chính xác và tăng cường tính tương tác thông qua trò chơi và khảo sát trực tuyến.
Chương 2: Cơ sở lý thuyết
Chương 2 trình bày chi tiết nền tảng công nghệ được sử dụng trong đồ án. Tác giả phân tích các đặc tính kỹ thuật của Node.js (mô hình I/O phi đồng bộ, kiến trúc đơn luồng hướng sự kiện), cách thức xây dựng dịch vụ web theo kiến trúc RESTful API, các ưu điểm của framework Angular CLI kết hợp TypeScript trong việc phát triển Single Page Application, cũng như tính năng của hệ quản trị cơ sở dữ liệu SQL Server và công cụ ánh xạ dữ liệu LINQ to SQL trong môi trường .NET.
Chương 3: Phân tích và thiết kế hệ thống
Chương 3 là phần trọng tâm của đồ án, bao gồm:
- Xác định yêu cầu nghiệp vụ và mô hình hóa danh sách các tác nhân cùng ca sử dụng.
- Xây dựng sơ đồ phân rã chức năng và thiết kế kiến trúc phân tầng của hệ thống.
- Thiết kế mô hình cơ sở dữ liệu quan hệ, lược đồ ánh xạ LINQ to SQL và định nghĩa chi tiết cấu trúc 6 bảng dữ liệu.
- Xây dựng sơ đồ Use Case tổng thể và thiết lập bảng đặc tả chi tiết cho 41 ca sử dụng (từ UC_1 đến UC_41) bao gồm luồng sự kiện chính, điều kiện tiên quyết và xử lý ngoại lệ.
- Thiết kế giao diện chi tiết cho từng tác nhân (màn hình quản trị, màn hình quản lý sự kiện, giao diện tạo QR Code, giao diện mini-game, giao diện đánh giá và màn hình thống kê).
Chương 4: Kết quả so sánh, thực nghiệm, phân tích
Chương 4 tổng kết kết quả cài đặt thực tế của hệ thống phần mềm, chia thành hai phần chính:
- Hệ thống Back-end: Triển khai thành công các dịch vụ API, kết nối cơ sở dữ liệu, xử lý logic gửi email tự động và xử lý dữ liệu báo cáo thống kê.
- Hệ thống Front-end: Xây dựng hoàn chỉnh các giao diện người dùng trên Angular CLI, thực hiện kiểm thử chức năng đăng nhập, quản lý sự kiện, hiển thị mã QR Code check-in, vận hành mini-game thời gian thực và xuất báo cáo Excel.
Chương 5: Kết luận và hướng phát triển
Chương 5 đánh giá mức độ hoàn thành nhiệm vụ nghiên cứu so với các mục tiêu đề ra ban đầu, nêu rõ các tính năng đã vận hành ổn định trên hệ thống web, đồng thời chỉ ra một số điểm tồn tại và vạch ra định hướng nâng cấp, phát triển ứng dụng trong tương lai.
Kết quả và đóng góp
Kết quả đạt được
Đồ án đã hiện thực hóa thành công sản phẩm phần mềm website hỗ trợ tổ chức sự kiện với đầy đủ các tính năng theo thiết kế:
- Xây dựng hoàn chỉnh 41 ca sử dụng nghiệp vụ được phân quyền rõ ràng cho 3 nhóm đối tượng: Quản trị viên (Admin), Khách hàng tổ chức sự kiện (Customer) và Người tham dự (Guest/User).
- Tự động hóa hoàn toàn quy trình điểm danh tại sự kiện thông qua cơ chế tạo và quét mã QR Code, giảm thiểu thời gian chờ đợi của người tham dự.
- Vận hành phân hệ mini-game quay số may mắn trực tiếp trên web, tự động truy xuất danh sách người tham gia đã điểm danh và ghi nhận kết quả người chiến thắng.
- Tích hợp thành công module gửi email tự động để cấp mật khẩu ngẫu nhiên cho người dùng mới và gửi thông báo nâng cấp tài khoản Premium.
- Cung cấp tính năng kết xuất dữ liệu thống kê, danh sách khách tham dự và danh sách trúng thưởng ra định dạng tập tin Excel chuẩn.
Đóng góp của đề tài
- Về mặt lý luận: Hệ thống hóa quy trình nghiệp vụ tổ chức sự kiện và ứng dụng công nghệ web trong việc quản lý sự kiện từ khâu tiếp nhận thông tin, điểm danh, tổ chức hoạt động tương tác cho đến khâu khảo sát ý kiến phản hồi sau sự kiện.
- Về mặt thực tiễn: Đưa ra một giải pháp công nghệ trực quan, giúp các đơn vị tổ chức sự kiện (đặc biệt là các trường đại học, tổ chức giáo dục và doanh nghiệp vừa và nhỏ) tiết kiệm chi phí nhân sự vận hành, chuẩn hóa việc lưu trữ cơ sở dữ liệu khách tham dự và nâng cao tính tương tác trong các chương trình.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Hệ thống Front-end được xây dựng bằng framework JavaScript nên các tính năng bảo mật, xác thực người dùng cần được tăng cường thêm các lớp kiểm tra chặt chẽ hơn ở phía máy chủ (server-side).
- Hiệu năng xử lý của hệ thống chưa được kiểm thử trong các kịch bản tải lớn với số lượng người dùng truy cập và check-in đồng thời cực cao.
- Nền tảng Node.js và hệ thống hiện tại chưa tối ưu cho các tác vụ tính toán nặng hoặc xử lý các tệp đa phương tiện dung lượng lớn.
Hướng phát triển
- Tiếp tục tối ưu hóa mã nguồn, hoàn thiện và bổ sung các chức năng nâng cao phục vụ nghiệp vụ sự kiện phức tạp.
- Nâng cấp cơ chế bảo mật và tối ưu hóa hiệu năng cơ sở dữ liệu nhằm đáp ứng khả năng mở rộng cho các sự kiện quy mô lớn.
- Phát triển thêm các gói tính năng chuyên sâu và kiểm thử thực tế rộng rãi trên thị trường để thương mại hóa ứng dụng.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho các đối tượng sau:
- Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm: Tham khảo phương pháp xây dựng đồ án tốt nghiệp ứng dụng web, quy trình thiết kế cơ sở dữ liệu quan hệ trên SQL Server, cách thức kết nối LINQ to SQL và kỹ thuật xây dựng giao diện Single Page Application với Angular CLI.
- Người phát triển ứng dụng web quản lý sự kiện: Tham khảo giải pháp tích hợp mã QR Code trong điểm danh thời gian thực, thuật toán quay số mini-game tương tác và kỹ thuật xử lý xuất dữ liệu Excel tự động.
- Các đơn vị tổ chức sự kiện và thư viện đại học: Tham khảo mô hình phân tích quy trình nghiệp vụ nhằm chuẩn hóa công tác tổ chức và quản lý thông tin khách tham dự sự kiện.
Câu hỏi thường gặp
Hệ thống phân quyền cho những nhóm người dùng nào và mỗi nhóm có vai trò gì?
Hệ thống phân định 3 nhóm tác nhân chính:
- Người quản trị (Admin): Quản lý, thêm, sửa, xóa, nâng cấp tài khoản khách hàng, gửi mail cấp mật khẩu ngẫu nhiên và theo dõi thống kê toàn hệ thống.
- Khách hàng (Customer): Nhà tổ chức sự kiện có quyền tạo, quản lý sự kiện, tạo mã QR Code check-in, chạy mini-game, quản lý người tham gia và xuất báo cáo Excel.
- Người tham dự (User/Guest): Quét mã QR để điểm danh trực tuyến, tham gia trò chơi quay số và gửi phản hồi, đánh giá sự kiện.
Cơ sở dữ liệu của đồ án gồm những bảng nào?
Cơ sở dữ liệu trên SQL Server gồm 6 bảng thực thể: Customers (tài khoản người tổ chức), Events (thông tin sự kiện), Guests (danh sách khách tham gia), Users (tài khoản quản trị), Winer Events (danh sách khách trúng thưởng trò chơi) và FeedBacks (dữ liệu đánh giá sự kiện).
Quy trình check-in người tham dự được hệ thống thực hiện như thế nào?
Khi tạo sự kiện, hệ thống tự động sinh một mã QR Code định danh duy nhất. Khách tham dự sử dụng điện thoại để quét mã QR, truy cập vào biểu mẫu điểm danh trực tuyến, nhập các thông tin cá nhân (họ tên, số điện thoại, email, địa chỉ) để hệ thống tự động lưu trữ vào cơ sở dữ liệu.
Trò chơi tương tác (mini-game) trên website hoạt động dựa trên cơ chế nào?
Hệ thống sử dụng danh sách người tham gia đã hoàn tất điểm danh trong bảng Guests để thực hiện quay số ngẫu nhiên chọn người may mắn ở cuối sự kiện. Kết quả trúng thưởng cùng thời gian quay sẽ được lưu tự động vào bảng Winer Events và có thể xuất ra file Excel.
Kết luận
Đồ án tốt nghiệp "Xây dựng website hỗ trợ tổ chức sự kiện" do sinh viên Đỗ Đào Anh Tuấn và Vũ Văn Đồng thực hiện dưới sự hướng dẫn của ThS. Nguyễn Thanh Phước đã giải quyết hiệu quả bài toán số hóa quy trình quản lý sự kiện. Đề tài kết hợp thành công các công nghệ hiện đại bao gồm Angular CLI, C#, ASP.NET, LINQ to SQL và Microsoft SQL Server để xây dựng một hệ thống hoàn chỉnh với 41 ca sử dụng nghiệp vụ. Sản phẩm đáp ứng tốt các yêu cầu từ khâu khởi tạo sự kiện, điểm danh bằng QR Code, tổ chức mini-game tương tác đến tổng hợp đánh giá và báo cáo số liệu, mang lại giá trị ứng dụng thực tiễn cao cho công tác quản lý và truyền thông.