Xuất phát từ nhu cầu đó, nhóm chúng tôi đã thực hiện đề tài “Ứng dụng quản lý sự kiện” với mục tiêu xây dựng một hệ thống hỗ trợ người dùng trong việc tạo lập, quản lý và theo dõi các s
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC VIỆT NHẬT NGÀNH: KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
BÁO CÁO BÀI TẬP CUỐI KÌ MÔN: NHẬP MÔN CƠ SỞ DỮ LIỆU THẦY: NGUYỄN QUANG NGỌC
ĐỀ TÀI: HỆ THỐNG ỨNG DỤNG QUẢN LÝ SỰ KIỆN
Thành viên nhóm: Lê Tiến Anh - 23110147
Lê Hoàng Anh - 23110146
Đặng Thái Đức - 23110155
Hà Nội, 5/2025
Trang 2Chương 2: Cơ sở lý thuyết
2.1 Tổng quan về hệ quản trị cơ sở dữ liệu MySQL
2.2 Kiến trúc hệ thống quản lý sự kiện
2.3 Các công nghệ liên quan (PHP, JavaScript, HTML/CSS, v.v.) 2.4 Mô hình cơ sở dữ liệu quan hệ
Chương 3: Phân tích và thiết kế hệ thống
3.1 Phân tích yêu cầu hệ thống
3.2 Biểu đồ ca sử dụng (Use Case Diagram)
3.3 Biểu đồ lớp (Class Diagram)
3.4 Thiết kế cơ sở dữ liệu
3.5 Thiết kế giao diện người dùng
Chương 4: Cài đặt và triển khai ứng dụng
4.1 Môi trường phát triển
4.2 Các chức năng chính
4.3 Giao diện minh họa
4.4 Tích hợp MySQL vào hệ thống
Chương 5: Kiểm thử và đánh giá hệ thống
5.1 Chiến lược kiểm thử
5.2 Kết quả kiểm thử
5.3 Đánh giá hiệu quả ứng dụng
Chương 6: Kết luận và hướng phát triển
6.1 Kết luận
6.2 Hạn chế của hệ thống
6.3 Định hướng phát triển trong tương lai
Tài liệu tham khảo
Trang 3LỜI NÓI ĐẦU
Trong kỷ nguyên chuyển đổi số, công nghệ thông tin đang ngày càng khẳng định vai trò then chốt trong việc nâng cao chất lượng công việc và cải thiện quy trình quản lý trong nhiều lĩnh vực Một trong số đó là việc tổ chức và quản lý sự kiện – hoạt động quen thuộc nhưng đòi hỏi tính hệ thống, sự chính xác và khả năng phối hợp hiệu quả giữa các thành phần liên quan.
Thực tế cho thấy, các phương pháp quản lý sự kiện truyền thống như ghi chép thủ công hoặc sử dụng bảng tính rời rạc thường gây ra không ít bất cập như mất
dữ liệu, trùng lặp thông tin, khó theo dõi tiến độ và hạn chế trong việc cập nhật Điều này đặt ra nhu cầu thiết yếu cho một hệ thống phần mềm có khả năng tự động hóa, tập trung hóa dữ liệu và hỗ trợ người dùng trong công tác quản lý sự kiện một cách tiện lợi và hiệu quả.
Xuất phát từ nhu cầu đó, nhóm chúng tôi đã thực hiện đề tài “Ứng dụng quản
lý sự kiện” với mục tiêu xây dựng một hệ thống hỗ trợ người dùng trong việc tạo lập, quản lý và theo dõi các sự kiện thông qua nền tảng cơ sở dữ liệu quan
hệ Bên cạnh đó, đề tài còn giúp nhóm củng cố và phát triển các kỹ năng chuyên môn như thiết kế hệ thống, xây dựng cơ sở dữ liệu, lập trình ứng dụng web, và phối hợp làm việc nhóm.
Trong suốt quá trình nghiên cứu và thực hiện đề tài, nhóm đã học hỏi được nhiều kiến thức mới, đồng thời rèn luyện tinh thần trách nhiệm và tính chủ động trong công việc Những kỹ năng này là nền tảng quan trọng giúp mỗi thành viên hoàn thiện bản thân và chuẩn bị tốt hơn cho công việc thực tế sau này.
Nhóm xin chân thành cảm ơn quý thầy, cô đã tạo điều kiện thuận lợi để nhóm thực hiện đề tài Đặc biệt, nhóm xin gửi lời cảm ơn sâu sắc đến giảng viên
hướng dẫn đã tận tình hỗ trợ, góp ý chuyên môn và định hướng nhóm trong suốt quá trình thực hiện báo cáo.
Mặc dù đã nỗ lực hoàn thiện, song do thời gian thực hiện có hạn và kinh nghiệm còn chưa nhiều, báo cáo không tránh khỏi những thiếu sót Nhóm rất mong nhận được những góp ý quý báu từ thầy, cô và các bạn để nội dung đề tài ngày càng được hoàn thiện hơn.
Nhóm 14
Trang 4Các lớp liên kết với nhau thông qua quan hệ 1-nhiều hoặc nhiều-nhiều
3.4 Thiết kế cơ sở dữ liệu
Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL Các bảng chính gồm:
Trang 5TÓM TẮT ĐỀ TÀI
Trong bối cảnh công nghệ thông tin ngày càng phát triển và đóng vai trò quan trọng trong việc hỗ trợ quản lý, điều hành và tổ chức hoạt động, nhu cầu xây dựng các hệ thống phần mềm quản lý ngày càng trở nên cấp thiết Một trong những lĩnh vực có nhu cầu ứng dụng phần mềm cao là quản lý sự kiện – nơi các hoạt động cần được theo dõi, tổ chức và xử lý một cách chính xác, nhanh chóng
và khoa học.
Đề tài “Ứng dụng quản lý sự kiện” được thực hiện nhằm xây dựng một hệ
thống phần mềm có khả năng hỗ trợ người dùng trong việc tạo lập, cập nhật, theo dõi và quản lý sự kiện thông qua nền tảng web Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL để lưu trữ và xử lý thông tin, đồng thời tích hợp với các công nghệ web như HTML, CSS, JavaScript và PHP để xây dựng giao diện và các chức năng tương tác với người dùng.
Các chức năng chính của hệ thống bao gồm: đăng ký tài khoản người dùng, đăng nhập, tạo và chỉnh sửa thông tin sự kiện, quản lý danh sách người tham gia, hiển thị thông tin chi tiết các sự kiện đang và sắp diễn ra, gửi thông báo nhắc nhở, Giao diện được thiết kế thân thiện, dễ sử dụng, phù hợp với cả người dùng phổ thông lẫn người quản trị hệ thống.
Thông qua đề tài, nhóm nghiên cứu không chỉ ứng dụng được các kiến thức
về lập trình web và cơ sở dữ liệu, mà còn rèn luyện kỹ năng làm việc nhóm, tổ chức công việc, tư duy hệ thống và giải quyết vấn đề Kết quả của đề tài là một ứng dụng web hoàn chỉnh, có khả năng áp dụng thực tế trong môi trường học tập, làm việc hoặc tổ chức các sự kiện cộng đồng.
Trang 6 Lớp xử lý nghiệp vụ (Business Logic Layer): Xử lý các chức năng như tạo sự kiện,
xác thực người dùng, kiểm tra thông tin và gửi thông báo Ngôn ngữ lập trình PHP được sử dụng để phát triển tầng này
Lớp cơ sở dữ liệu (Data Access Layer): Quản lý và lưu trữ dữ liệu bằng hệ quản trị
MySQL Các truy vấn SQL được sử dụng để tương tác với cơ sở dữ liệu
Sự phân chia rõ ràng giữa các tầng giúp hệ thống dễ bảo trì, nâng cấp và mở rộng trong tương lai
2.3 Các công nghệ liên quan
Để xây dựng hệ thống, nhóm sử dụng một số công nghệ chính như sau:
HTML (HyperText Markup Language): Ngôn ngữ đánh dấu để xây dựng cấu trúc
nội dung trang web
CSS (Cascading Style Sheets): Ngôn ngữ tạo kiểu để định dạng giao diện và bố cục.
JavaScript: Ngôn ngữ lập trình phía client giúp tăng tính tương tác cho giao diện
người dùng
PHP (Hypertext Preprocessor): Ngôn ngữ lập trình phía server dùng để xử lý dữ liệu
và giao tiếp với MySQL
MySQL: Hệ quản trị cơ sở dữ liệu chính, dùng để lưu trữ và truy xuất dữ liệu sự kiện
và người dùng
Sự kết hợp giữa các công nghệ frontend và backend giúp hệ thống hoạt động hiệu quả, đảmbảo tính động và tương tác tốt
2.4 Mô hình cơ sở dữ liệu quan hệ
Mô hình quan hệ là mô hình dữ liệu phổ biến trong thiết kế cơ sở dữ liệu Dữ liệu được lưutrữ dưới dạng bảng (table), mỗi bảng gồm các dòng (record) và cột (field) Các bảng có thể liên kết với nhau thông qua khóa chính (primary key) và khóa ngoại (foreign key)
Trong hệ thống quản lý sự kiện, cơ sở dữ liệu gồm các bảng chính như:
users: Lưu thông tin người dùng.
events: Lưu thông tin sự kiện.
registrations: Ghi nhận người đăng ký tham gia sự kiện.
notifications: Lưu các thông báo gửi đến người dùng.
Các bảng này được thiết kế theo nguyên lý chuẩn hóa để tránh dư thừa dữ liệu và đảm bảo tính toàn vẹn
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích yêu cầu hệ thống
a Đối tượng sử dụng hệ thống
Trang 7email VARCHAR(100) Địa chỉ email, duy nhất
Bảng events
Bảng registrations
Bảng notifications
3.5 Thiết kế giao diện người dùng (UI Design)
Hệ thống được thiết kế giao diện đơn giản, dễ sử dụng Các trang chính bao gồm:
Trang đăng nhập/đăng ký: Cho phép người dùng tạo tài khoản và đăng nhập hệ
thống
Trang dashboard: Hiển thị danh sách sự kiện theo thời gian, trạng thái.
Trang tạo/sửa sự kiện: Form nhập thông tin sự kiện với các trường cơ bản.
Trang chi tiết sự kiện: Hiển thị mô tả chi tiết và danh sách người tham gia.
Trang quản trị (Admin): Quản lý tài khoản, theo dõi hoạt động người dùng, phê
duyệt sự kiện
Thiết kế giao diện responsive, dễ hiển thị trên cả điện thoại và máy tính
Trang 8Các lớp liên kết với nhau thông qua quan hệ 1-nhiều hoặc nhiều-nhiều
3.4 Thiết kế cơ sở dữ liệu
Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL Các bảng chính gồm:
Trang 9 Lớp xử lý nghiệp vụ (Business Logic Layer): Xử lý các chức năng như tạo sự kiện,
xác thực người dùng, kiểm tra thông tin và gửi thông báo Ngôn ngữ lập trình PHP được sử dụng để phát triển tầng này
Lớp cơ sở dữ liệu (Data Access Layer): Quản lý và lưu trữ dữ liệu bằng hệ quản trị
MySQL Các truy vấn SQL được sử dụng để tương tác với cơ sở dữ liệu
Sự phân chia rõ ràng giữa các tầng giúp hệ thống dễ bảo trì, nâng cấp và mở rộng trong tương lai
2.3 Các công nghệ liên quan
Để xây dựng hệ thống, nhóm sử dụng một số công nghệ chính như sau:
HTML (HyperText Markup Language): Ngôn ngữ đánh dấu để xây dựng cấu trúc
nội dung trang web
CSS (Cascading Style Sheets): Ngôn ngữ tạo kiểu để định dạng giao diện và bố cục.
JavaScript: Ngôn ngữ lập trình phía client giúp tăng tính tương tác cho giao diện
người dùng
PHP (Hypertext Preprocessor): Ngôn ngữ lập trình phía server dùng để xử lý dữ liệu
và giao tiếp với MySQL
MySQL: Hệ quản trị cơ sở dữ liệu chính, dùng để lưu trữ và truy xuất dữ liệu sự kiện
và người dùng
Sự kết hợp giữa các công nghệ frontend và backend giúp hệ thống hoạt động hiệu quả, đảmbảo tính động và tương tác tốt
2.4 Mô hình cơ sở dữ liệu quan hệ
Mô hình quan hệ là mô hình dữ liệu phổ biến trong thiết kế cơ sở dữ liệu Dữ liệu được lưutrữ dưới dạng bảng (table), mỗi bảng gồm các dòng (record) và cột (field) Các bảng có thể liên kết với nhau thông qua khóa chính (primary key) và khóa ngoại (foreign key)
Trong hệ thống quản lý sự kiện, cơ sở dữ liệu gồm các bảng chính như:
users: Lưu thông tin người dùng.
events: Lưu thông tin sự kiện.
registrations: Ghi nhận người đăng ký tham gia sự kiện.
notifications: Lưu các thông báo gửi đến người dùng.
Các bảng này được thiết kế theo nguyên lý chuẩn hóa để tránh dư thừa dữ liệu và đảm bảo tính toàn vẹn
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích yêu cầu hệ thống
a Đối tượng sử dụng hệ thống
Trang 10 Các cá nhân có nhu cầu theo dõi và chia sẻ sự kiện cá nhân như workshop, khóa học,
Hệ thống được xây dựng trên nền web (web-based application) nên có thể dễ dàng tiếp cận thông qua trình duyệt Trong phạm vi đồ án này, nhóm chưa triển khai các chức năng nâng cao như gửi email, thanh toán sự kiện hoặc tích hợp mạng xã hội
1.4 Phương pháp nghiên cứu
Để thực hiện đề tài, nhóm áp dụng các phương pháp khoa học như sau:
Phân tích yêu cầu người dùng: Xác định nhu cầu thực tế về quản lý sự kiện thông qua khảo sát và tham khảo hệ thống tương tự
Thiết kế hệ thống: Áp dụng kiến thức về phân tích và thiết kế hệ thống để mô hình hóaUse Case, Class Diagram, và cơ sở dữ liệu
Lập trình và xây dựng hệ thống: Sử dụng HTML, CSS, JavaScript cho giao diện và PHP + MySQL cho phần xử lý và lưu trữ dữ liệu
Kiểm thử và đánh giá: Tiến hành kiểm thử chức năng, kiểm thử giao diện người dùng, bảo mật cơ bản và hiệu năng hệ thống
Tổng hợp, báo cáo và hoàn thiện sản phẩm: Tổng hợp tài liệu, viết báo cáo và trình bày hệ thống hoàn chỉnh
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về hệ quản trị cơ sở dữ liệu MySQL
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở được phát triển bởi công ty Oracle Với khả năng xử lý dữ liệu hiệu quả, tốc độ truy xuất nhanh và khả năng
mở rộng cao, MySQL là một trong những công cụ phổ biến nhất được sử dụng trong phát triển ứng dụng web
MySQL sử dụng ngôn ngữ truy vấn có cấu trúc (SQL - Structured Query Language) để thao tác và quản lý dữ liệu Các tính năng chính bao gồm:
Hỗ trợ truy vấn dữ liệu phức tạp thông qua JOIN, GROUP BY, HAVING,
Quản lý người dùng và phân quyền truy cập
Hỗ trợ giao dịch (transaction), tính toàn vẹn dữ liệu và các ràng buộc khóa ngoại
Tương thích tốt với các ngôn ngữ lập trình như PHP, Python, Java,
Trong đề tài này, MySQL đóng vai trò là nền tảng lưu trữ toàn bộ thông tin về người dùng, sự kiện và dữ liệu liên quan
2.2 Kiến trúc hệ thống quản lý sự kiện
Hệ thống quản lý sự kiện được thiết kế theo mô hình 3 lớp phổ biến:
Lớp trình diễn (Presentation Layer): Giao diện người dùng, được xây dựng bằng
HTML, CSS và JavaScript, cho phép người dùng tương tác trực tiếp với hệ thống
Trang 11CHƯƠNG 1: GIỚI THIỆU
1.1 Bối cảnh và lý do chọn đề tài
Trong thời đại công nghệ số phát triển mạnh mẽ, việc ứng dụng công nghệ thông tin vào các hoạt động thường nhật trở nên phổ biến và thiết yếu Một trong những lĩnh vực có nhu cầuứng dụng công nghệ cao chính là quản lý sự kiện Từ các buổi hội thảo chuyên môn, hội nghị doanh nghiệp đến các hoạt động cộng đồng, ngoại khóa tại trường học, các sự kiện đều cần được tổ chức một cách khoa học, hiệu quả và dễ theo dõi
Tuy nhiên, ở nhiều nơi – đặc biệt là các tổ chức nhỏ hoặc cơ sở giáo dục – công tác quản lý
sự kiện vẫn còn thực hiện thủ công hoặc thông qua các công cụ rời rạc như bảng tính Excel, email nhóm, hay các biểu mẫu giấy Điều này dẫn đến hàng loạt vấn đề như:
Thiếu tính đồng bộ và nhất quán trong thông tin
Không có hệ thống theo dõi người tham gia hoặc lưu trữ lịch sử sự kiện
Khó khăn trong việc thông báo, nhắc nhở hay cập nhật sự kiện
Dễ dẫn đến thất thoát dữ liệu hoặc sai lệch thông tin
Chính vì vậy, nhóm chúng tôi nhận thấy nhu cầu cần thiết phải có một hệ thống quản lý sự kiện chuyên biệt, dễ sử dụng và có thể triển khai nhanh chóng trên nền tảng web Với nền tảng kiến thức đã được học về lập trình web, cơ sở dữ liệu và thiết kế hệ thống, nhóm quyết định lựa chọn đề tài “Ứng dụng quản lý sự kiện sử dụng MySQL” để giải quyết vấn đề này
1.2 Mục tiêu nghiên cứu
Mục tiêu chính của đề tài là xây dựng một ứng dụng quản lý sự kiện có khả năng hỗ trợ đầy
đủ các chức năng từ khâu tạo sự kiện đến quản lý và thông báo cho người tham gia, cụ thể:
Thiết kế giao diện người dùng thân thiện, dễ sử dụng
Cho phép người dùng đăng ký tài khoản, đăng nhập và phân quyền sử dụng
Cho phép người dùng tạo, sửa, xóa và xem chi tiết các sự kiện
Cho phép người dùng khác đăng ký tham gia sự kiện, theo dõi và nhận thông báo
Hệ thống phải sử dụng cơ sở dữ liệu MySQL để lưu trữ và truy xuất dữ liệu một cách hiệu quả
Có phân quyền rõ ràng giữa người dùng thông thường và quản trị viên hệ thống
Cung cấp nền tảng để phát triển mở rộng các tính năng trong tương lai như đánh giá sựkiện, phản hồi người tham gia,
Trang 12 Người dùng thông thường (User): Có thể đăng ký tài khoản, đăng nhập, tạo và quản
lý các sự kiện cá nhân, xem sự kiện đã đăng ký tham gia
Quản trị viên (Admin): Có toàn quyền trong hệ thống, bao gồm quản lý người dùng,
sự kiện, kiểm duyệt nội dung, và thống kê hệ thống
b Yêu cầu chức năng
Đăng ký và đăng nhập tài khoản
Tạo mới, chỉnh sửa, xóa sự kiện
Đăng ký và hủy tham gia sự kiện
Xem danh sách và chi tiết sự kiện
Quản lý người dùng và phân quyền (Admin)
Tự động gửi thông báo cho người tham gia trước thời điểm diễn ra sự kiện
c Yêu cầu phi chức năng
Hệ thống thân thiện với người dùng, dễ sử dụng trên trình duyệt web
Bảo mật thông tin người dùng (mật khẩu được mã hóa)
Tương thích với nhiều trình duyệt và thiết bị (responsive design)
Hiệu suất truy xuất dữ liệu nhanh, ổn định với số lượng người dùng vừa phải
3.2 Biểu đồ ca sử dụng (Use Case Diagram)
Biểu đồ ca sử dụng thể hiện các tương tác chính giữa người dùng và hệ thống
Các tác nhân (actors):
User
Các chức năng (use cases) chính:
Đăng ký tài khoản
Đăng nhập
Tạo sự kiện
Cập nhật/xóa sự kiện
Đăng ký tham gia sự kiện
Xem danh sách sự kiện
Gửi thông báo
Quản lý người dùng (Admin)
3.3 Biểu đồ lớp (Class Diagram)
Biểu đồ lớp mô tả các thực thể chính và mối quan hệ giữa chúng
Trang 13Các lớp liên kết với nhau thông qua quan hệ 1-nhiều hoặc nhiều-nhiều
3.4 Thiết kế cơ sở dữ liệu
Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL Các bảng chính gồm:
Trang 14TÓM TẮT ĐỀ TÀI
Trong bối cảnh công nghệ thông tin ngày càng phát triển và đóng vai trò quan trọng trong việc hỗ trợ quản lý, điều hành và tổ chức hoạt động, nhu cầu xây dựng các hệ thống phần mềm quản lý ngày càng trở nên cấp thiết Một trong những lĩnh vực có nhu cầu ứng dụng phần mềm cao là quản lý sự kiện – nơi các hoạt động cần được theo dõi, tổ chức và xử lý một cách chính xác, nhanh chóng
và khoa học.
Đề tài “Ứng dụng quản lý sự kiện” được thực hiện nhằm xây dựng một hệ
thống phần mềm có khả năng hỗ trợ người dùng trong việc tạo lập, cập nhật, theo dõi và quản lý sự kiện thông qua nền tảng web Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL để lưu trữ và xử lý thông tin, đồng thời tích hợp với các công nghệ web như HTML, CSS, JavaScript và PHP để xây dựng giao diện và các chức năng tương tác với người dùng.
Các chức năng chính của hệ thống bao gồm: đăng ký tài khoản người dùng, đăng nhập, tạo và chỉnh sửa thông tin sự kiện, quản lý danh sách người tham gia, hiển thị thông tin chi tiết các sự kiện đang và sắp diễn ra, gửi thông báo nhắc nhở, Giao diện được thiết kế thân thiện, dễ sử dụng, phù hợp với cả người dùng phổ thông lẫn người quản trị hệ thống.
Thông qua đề tài, nhóm nghiên cứu không chỉ ứng dụng được các kiến thức
về lập trình web và cơ sở dữ liệu, mà còn rèn luyện kỹ năng làm việc nhóm, tổ chức công việc, tư duy hệ thống và giải quyết vấn đề Kết quả của đề tài là một ứng dụng web hoàn chỉnh, có khả năng áp dụng thực tế trong môi trường học tập, làm việc hoặc tổ chức các sự kiện cộng đồng.
Trang 15CHƯƠNG 1: GIỚI THIỆU
1.1 Bối cảnh và lý do chọn đề tài
Trong thời đại công nghệ số phát triển mạnh mẽ, việc ứng dụng công nghệ thông tin vào các hoạt động thường nhật trở nên phổ biến và thiết yếu Một trong những lĩnh vực có nhu cầuứng dụng công nghệ cao chính là quản lý sự kiện Từ các buổi hội thảo chuyên môn, hội nghị doanh nghiệp đến các hoạt động cộng đồng, ngoại khóa tại trường học, các sự kiện đều cần được tổ chức một cách khoa học, hiệu quả và dễ theo dõi
Tuy nhiên, ở nhiều nơi – đặc biệt là các tổ chức nhỏ hoặc cơ sở giáo dục – công tác quản lý
sự kiện vẫn còn thực hiện thủ công hoặc thông qua các công cụ rời rạc như bảng tính Excel, email nhóm, hay các biểu mẫu giấy Điều này dẫn đến hàng loạt vấn đề như:
Thiếu tính đồng bộ và nhất quán trong thông tin
Không có hệ thống theo dõi người tham gia hoặc lưu trữ lịch sử sự kiện
Khó khăn trong việc thông báo, nhắc nhở hay cập nhật sự kiện
Dễ dẫn đến thất thoát dữ liệu hoặc sai lệch thông tin
Chính vì vậy, nhóm chúng tôi nhận thấy nhu cầu cần thiết phải có một hệ thống quản lý sự kiện chuyên biệt, dễ sử dụng và có thể triển khai nhanh chóng trên nền tảng web Với nền tảng kiến thức đã được học về lập trình web, cơ sở dữ liệu và thiết kế hệ thống, nhóm quyết định lựa chọn đề tài “Ứng dụng quản lý sự kiện sử dụng MySQL” để giải quyết vấn đề này
1.2 Mục tiêu nghiên cứu
Mục tiêu chính của đề tài là xây dựng một ứng dụng quản lý sự kiện có khả năng hỗ trợ đầy
đủ các chức năng từ khâu tạo sự kiện đến quản lý và thông báo cho người tham gia, cụ thể:
Thiết kế giao diện người dùng thân thiện, dễ sử dụng
Cho phép người dùng đăng ký tài khoản, đăng nhập và phân quyền sử dụng
Cho phép người dùng tạo, sửa, xóa và xem chi tiết các sự kiện
Cho phép người dùng khác đăng ký tham gia sự kiện, theo dõi và nhận thông báo
Hệ thống phải sử dụng cơ sở dữ liệu MySQL để lưu trữ và truy xuất dữ liệu một cách hiệu quả
Có phân quyền rõ ràng giữa người dùng thông thường và quản trị viên hệ thống
Cung cấp nền tảng để phát triển mở rộng các tính năng trong tương lai như đánh giá sựkiện, phản hồi người tham gia,
Trang 16 Người dùng thông thường (User): Có thể đăng ký tài khoản, đăng nhập, tạo và quản
lý các sự kiện cá nhân, xem sự kiện đã đăng ký tham gia
Quản trị viên (Admin): Có toàn quyền trong hệ thống, bao gồm quản lý người dùng,
sự kiện, kiểm duyệt nội dung, và thống kê hệ thống
b Yêu cầu chức năng
Đăng ký và đăng nhập tài khoản
Tạo mới, chỉnh sửa, xóa sự kiện
Đăng ký và hủy tham gia sự kiện
Xem danh sách và chi tiết sự kiện
Quản lý người dùng và phân quyền (Admin)
Tự động gửi thông báo cho người tham gia trước thời điểm diễn ra sự kiện
c Yêu cầu phi chức năng
Hệ thống thân thiện với người dùng, dễ sử dụng trên trình duyệt web
Bảo mật thông tin người dùng (mật khẩu được mã hóa)
Tương thích với nhiều trình duyệt và thiết bị (responsive design)
Hiệu suất truy xuất dữ liệu nhanh, ổn định với số lượng người dùng vừa phải
3.2 Biểu đồ ca sử dụng (Use Case Diagram)
Biểu đồ ca sử dụng thể hiện các tương tác chính giữa người dùng và hệ thống
Các tác nhân (actors):
User
Các chức năng (use cases) chính:
Đăng ký tài khoản
Đăng nhập
Tạo sự kiện
Cập nhật/xóa sự kiện
Đăng ký tham gia sự kiện
Xem danh sách sự kiện
Gửi thông báo
Quản lý người dùng (Admin)
3.3 Biểu đồ lớp (Class Diagram)
Biểu đồ lớp mô tả các thực thể chính và mối quan hệ giữa chúng
Trang 17CHƯƠNG 1: GIỚI THIỆU
1.1 Bối cảnh và lý do chọn đề tài
Trong thời đại công nghệ số phát triển mạnh mẽ, việc ứng dụng công nghệ thông tin vào các hoạt động thường nhật trở nên phổ biến và thiết yếu Một trong những lĩnh vực có nhu cầuứng dụng công nghệ cao chính là quản lý sự kiện Từ các buổi hội thảo chuyên môn, hội nghị doanh nghiệp đến các hoạt động cộng đồng, ngoại khóa tại trường học, các sự kiện đều cần được tổ chức một cách khoa học, hiệu quả và dễ theo dõi
Tuy nhiên, ở nhiều nơi – đặc biệt là các tổ chức nhỏ hoặc cơ sở giáo dục – công tác quản lý
sự kiện vẫn còn thực hiện thủ công hoặc thông qua các công cụ rời rạc như bảng tính Excel, email nhóm, hay các biểu mẫu giấy Điều này dẫn đến hàng loạt vấn đề như:
Thiếu tính đồng bộ và nhất quán trong thông tin
Không có hệ thống theo dõi người tham gia hoặc lưu trữ lịch sử sự kiện
Khó khăn trong việc thông báo, nhắc nhở hay cập nhật sự kiện
Dễ dẫn đến thất thoát dữ liệu hoặc sai lệch thông tin
Chính vì vậy, nhóm chúng tôi nhận thấy nhu cầu cần thiết phải có một hệ thống quản lý sự kiện chuyên biệt, dễ sử dụng và có thể triển khai nhanh chóng trên nền tảng web Với nền tảng kiến thức đã được học về lập trình web, cơ sở dữ liệu và thiết kế hệ thống, nhóm quyết định lựa chọn đề tài “Ứng dụng quản lý sự kiện sử dụng MySQL” để giải quyết vấn đề này
1.2 Mục tiêu nghiên cứu
Mục tiêu chính của đề tài là xây dựng một ứng dụng quản lý sự kiện có khả năng hỗ trợ đầy
đủ các chức năng từ khâu tạo sự kiện đến quản lý và thông báo cho người tham gia, cụ thể:
Thiết kế giao diện người dùng thân thiện, dễ sử dụng
Cho phép người dùng đăng ký tài khoản, đăng nhập và phân quyền sử dụng
Cho phép người dùng tạo, sửa, xóa và xem chi tiết các sự kiện
Cho phép người dùng khác đăng ký tham gia sự kiện, theo dõi và nhận thông báo
Hệ thống phải sử dụng cơ sở dữ liệu MySQL để lưu trữ và truy xuất dữ liệu một cách hiệu quả
Có phân quyền rõ ràng giữa người dùng thông thường và quản trị viên hệ thống
Cung cấp nền tảng để phát triển mở rộng các tính năng trong tương lai như đánh giá sựkiện, phản hồi người tham gia,
Trang 18TÓM TẮT ĐỀ TÀI
Trong bối cảnh công nghệ thông tin ngày càng phát triển và đóng vai trò quan trọng trong việc hỗ trợ quản lý, điều hành và tổ chức hoạt động, nhu cầu xây dựng các hệ thống phần mềm quản lý ngày càng trở nên cấp thiết Một trong những lĩnh vực có nhu cầu ứng dụng phần mềm cao là quản lý sự kiện – nơi các hoạt động cần được theo dõi, tổ chức và xử lý một cách chính xác, nhanh chóng
và khoa học.
Đề tài “Ứng dụng quản lý sự kiện” được thực hiện nhằm xây dựng một hệ
thống phần mềm có khả năng hỗ trợ người dùng trong việc tạo lập, cập nhật, theo dõi và quản lý sự kiện thông qua nền tảng web Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL để lưu trữ và xử lý thông tin, đồng thời tích hợp với các công nghệ web như HTML, CSS, JavaScript và PHP để xây dựng giao diện và các chức năng tương tác với người dùng.
Các chức năng chính của hệ thống bao gồm: đăng ký tài khoản người dùng, đăng nhập, tạo và chỉnh sửa thông tin sự kiện, quản lý danh sách người tham gia, hiển thị thông tin chi tiết các sự kiện đang và sắp diễn ra, gửi thông báo nhắc nhở, Giao diện được thiết kế thân thiện, dễ sử dụng, phù hợp với cả người dùng phổ thông lẫn người quản trị hệ thống.
Thông qua đề tài, nhóm nghiên cứu không chỉ ứng dụng được các kiến thức
về lập trình web và cơ sở dữ liệu, mà còn rèn luyện kỹ năng làm việc nhóm, tổ chức công việc, tư duy hệ thống và giải quyết vấn đề Kết quả của đề tài là một ứng dụng web hoàn chỉnh, có khả năng áp dụng thực tế trong môi trường học tập, làm việc hoặc tổ chức các sự kiện cộng đồng.
Trang 19 Người dùng thông thường (User): Có thể đăng ký tài khoản, đăng nhập, tạo và quản
lý các sự kiện cá nhân, xem sự kiện đã đăng ký tham gia
Quản trị viên (Admin): Có toàn quyền trong hệ thống, bao gồm quản lý người dùng,
sự kiện, kiểm duyệt nội dung, và thống kê hệ thống
b Yêu cầu chức năng
Đăng ký và đăng nhập tài khoản
Tạo mới, chỉnh sửa, xóa sự kiện
Đăng ký và hủy tham gia sự kiện
Xem danh sách và chi tiết sự kiện
Quản lý người dùng và phân quyền (Admin)
Tự động gửi thông báo cho người tham gia trước thời điểm diễn ra sự kiện
c Yêu cầu phi chức năng
Hệ thống thân thiện với người dùng, dễ sử dụng trên trình duyệt web
Bảo mật thông tin người dùng (mật khẩu được mã hóa)
Tương thích với nhiều trình duyệt và thiết bị (responsive design)
Hiệu suất truy xuất dữ liệu nhanh, ổn định với số lượng người dùng vừa phải
3.2 Biểu đồ ca sử dụng (Use Case Diagram)
Biểu đồ ca sử dụng thể hiện các tương tác chính giữa người dùng và hệ thống
Các tác nhân (actors):
User
Các chức năng (use cases) chính:
Đăng ký tài khoản
Đăng nhập
Tạo sự kiện
Cập nhật/xóa sự kiện
Đăng ký tham gia sự kiện
Xem danh sách sự kiện
Gửi thông báo
Quản lý người dùng (Admin)
3.3 Biểu đồ lớp (Class Diagram)
Biểu đồ lớp mô tả các thực thể chính và mối quan hệ giữa chúng
Trang 20email VARCHAR(100) Địa chỉ email, duy nhất
Bảng events
Bảng registrations
Bảng notifications
3.5 Thiết kế giao diện người dùng (UI Design)
Hệ thống được thiết kế giao diện đơn giản, dễ sử dụng Các trang chính bao gồm:
Trang đăng nhập/đăng ký: Cho phép người dùng tạo tài khoản và đăng nhập hệ
thống
Trang dashboard: Hiển thị danh sách sự kiện theo thời gian, trạng thái.
Trang tạo/sửa sự kiện: Form nhập thông tin sự kiện với các trường cơ bản.
Trang chi tiết sự kiện: Hiển thị mô tả chi tiết và danh sách người tham gia.
Trang quản trị (Admin): Quản lý tài khoản, theo dõi hoạt động người dùng, phê
duyệt sự kiện
Thiết kế giao diện responsive, dễ hiển thị trên cả điện thoại và máy tính
Trang 21CHƯƠNG 1: GIỚI THIỆU
1.1 Bối cảnh và lý do chọn đề tài
Trong thời đại công nghệ số phát triển mạnh mẽ, việc ứng dụng công nghệ thông tin vào các hoạt động thường nhật trở nên phổ biến và thiết yếu Một trong những lĩnh vực có nhu cầuứng dụng công nghệ cao chính là quản lý sự kiện Từ các buổi hội thảo chuyên môn, hội nghị doanh nghiệp đến các hoạt động cộng đồng, ngoại khóa tại trường học, các sự kiện đều cần được tổ chức một cách khoa học, hiệu quả và dễ theo dõi
Tuy nhiên, ở nhiều nơi – đặc biệt là các tổ chức nhỏ hoặc cơ sở giáo dục – công tác quản lý
sự kiện vẫn còn thực hiện thủ công hoặc thông qua các công cụ rời rạc như bảng tính Excel, email nhóm, hay các biểu mẫu giấy Điều này dẫn đến hàng loạt vấn đề như:
Thiếu tính đồng bộ và nhất quán trong thông tin
Không có hệ thống theo dõi người tham gia hoặc lưu trữ lịch sử sự kiện
Khó khăn trong việc thông báo, nhắc nhở hay cập nhật sự kiện
Dễ dẫn đến thất thoát dữ liệu hoặc sai lệch thông tin
Chính vì vậy, nhóm chúng tôi nhận thấy nhu cầu cần thiết phải có một hệ thống quản lý sự kiện chuyên biệt, dễ sử dụng và có thể triển khai nhanh chóng trên nền tảng web Với nền tảng kiến thức đã được học về lập trình web, cơ sở dữ liệu và thiết kế hệ thống, nhóm quyết định lựa chọn đề tài “Ứng dụng quản lý sự kiện sử dụng MySQL” để giải quyết vấn đề này
1.2 Mục tiêu nghiên cứu
Mục tiêu chính của đề tài là xây dựng một ứng dụng quản lý sự kiện có khả năng hỗ trợ đầy
đủ các chức năng từ khâu tạo sự kiện đến quản lý và thông báo cho người tham gia, cụ thể:
Thiết kế giao diện người dùng thân thiện, dễ sử dụng
Cho phép người dùng đăng ký tài khoản, đăng nhập và phân quyền sử dụng
Cho phép người dùng tạo, sửa, xóa và xem chi tiết các sự kiện
Cho phép người dùng khác đăng ký tham gia sự kiện, theo dõi và nhận thông báo
Hệ thống phải sử dụng cơ sở dữ liệu MySQL để lưu trữ và truy xuất dữ liệu một cách hiệu quả
Có phân quyền rõ ràng giữa người dùng thông thường và quản trị viên hệ thống
Cung cấp nền tảng để phát triển mở rộng các tính năng trong tương lai như đánh giá sựkiện, phản hồi người tham gia,
Trang 22TÓM TẮT ĐỀ TÀI
Trong bối cảnh công nghệ thông tin ngày càng phát triển và đóng vai trò quan trọng trong việc hỗ trợ quản lý, điều hành và tổ chức hoạt động, nhu cầu xây dựng các hệ thống phần mềm quản lý ngày càng trở nên cấp thiết Một trong những lĩnh vực có nhu cầu ứng dụng phần mềm cao là quản lý sự kiện – nơi các hoạt động cần được theo dõi, tổ chức và xử lý một cách chính xác, nhanh chóng
và khoa học.
Đề tài “Ứng dụng quản lý sự kiện” được thực hiện nhằm xây dựng một hệ
thống phần mềm có khả năng hỗ trợ người dùng trong việc tạo lập, cập nhật, theo dõi và quản lý sự kiện thông qua nền tảng web Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL để lưu trữ và xử lý thông tin, đồng thời tích hợp với các công nghệ web như HTML, CSS, JavaScript và PHP để xây dựng giao diện và các chức năng tương tác với người dùng.
Các chức năng chính của hệ thống bao gồm: đăng ký tài khoản người dùng, đăng nhập, tạo và chỉnh sửa thông tin sự kiện, quản lý danh sách người tham gia, hiển thị thông tin chi tiết các sự kiện đang và sắp diễn ra, gửi thông báo nhắc nhở, Giao diện được thiết kế thân thiện, dễ sử dụng, phù hợp với cả người dùng phổ thông lẫn người quản trị hệ thống.
Thông qua đề tài, nhóm nghiên cứu không chỉ ứng dụng được các kiến thức
về lập trình web và cơ sở dữ liệu, mà còn rèn luyện kỹ năng làm việc nhóm, tổ chức công việc, tư duy hệ thống và giải quyết vấn đề Kết quả của đề tài là một ứng dụng web hoàn chỉnh, có khả năng áp dụng thực tế trong môi trường học tập, làm việc hoặc tổ chức các sự kiện cộng đồng.
Trang 23 Người dùng thông thường (User): Có thể đăng ký tài khoản, đăng nhập, tạo và quản
lý các sự kiện cá nhân, xem sự kiện đã đăng ký tham gia
Quản trị viên (Admin): Có toàn quyền trong hệ thống, bao gồm quản lý người dùng,
sự kiện, kiểm duyệt nội dung, và thống kê hệ thống
b Yêu cầu chức năng
Đăng ký và đăng nhập tài khoản
Tạo mới, chỉnh sửa, xóa sự kiện
Đăng ký và hủy tham gia sự kiện
Xem danh sách và chi tiết sự kiện
Quản lý người dùng và phân quyền (Admin)
Tự động gửi thông báo cho người tham gia trước thời điểm diễn ra sự kiện
c Yêu cầu phi chức năng
Hệ thống thân thiện với người dùng, dễ sử dụng trên trình duyệt web
Bảo mật thông tin người dùng (mật khẩu được mã hóa)
Tương thích với nhiều trình duyệt và thiết bị (responsive design)
Hiệu suất truy xuất dữ liệu nhanh, ổn định với số lượng người dùng vừa phải
3.2 Biểu đồ ca sử dụng (Use Case Diagram)
Biểu đồ ca sử dụng thể hiện các tương tác chính giữa người dùng và hệ thống
Các tác nhân (actors):
User
Các chức năng (use cases) chính:
Đăng ký tài khoản
Đăng nhập
Tạo sự kiện
Cập nhật/xóa sự kiện
Đăng ký tham gia sự kiện
Xem danh sách sự kiện
Gửi thông báo
Quản lý người dùng (Admin)
3.3 Biểu đồ lớp (Class Diagram)
Biểu đồ lớp mô tả các thực thể chính và mối quan hệ giữa chúng
Trang 24CHƯƠNG 1: GIỚI THIỆU
1.1 Bối cảnh và lý do chọn đề tài
Trong thời đại công nghệ số phát triển mạnh mẽ, việc ứng dụng công nghệ thông tin vào các hoạt động thường nhật trở nên phổ biến và thiết yếu Một trong những lĩnh vực có nhu cầuứng dụng công nghệ cao chính là quản lý sự kiện Từ các buổi hội thảo chuyên môn, hội nghị doanh nghiệp đến các hoạt động cộng đồng, ngoại khóa tại trường học, các sự kiện đều cần được tổ chức một cách khoa học, hiệu quả và dễ theo dõi
Tuy nhiên, ở nhiều nơi – đặc biệt là các tổ chức nhỏ hoặc cơ sở giáo dục – công tác quản lý
sự kiện vẫn còn thực hiện thủ công hoặc thông qua các công cụ rời rạc như bảng tính Excel, email nhóm, hay các biểu mẫu giấy Điều này dẫn đến hàng loạt vấn đề như:
Thiếu tính đồng bộ và nhất quán trong thông tin
Không có hệ thống theo dõi người tham gia hoặc lưu trữ lịch sử sự kiện
Khó khăn trong việc thông báo, nhắc nhở hay cập nhật sự kiện
Dễ dẫn đến thất thoát dữ liệu hoặc sai lệch thông tin
Chính vì vậy, nhóm chúng tôi nhận thấy nhu cầu cần thiết phải có một hệ thống quản lý sự kiện chuyên biệt, dễ sử dụng và có thể triển khai nhanh chóng trên nền tảng web Với nền tảng kiến thức đã được học về lập trình web, cơ sở dữ liệu và thiết kế hệ thống, nhóm quyết định lựa chọn đề tài “Ứng dụng quản lý sự kiện sử dụng MySQL” để giải quyết vấn đề này
1.2 Mục tiêu nghiên cứu
Mục tiêu chính của đề tài là xây dựng một ứng dụng quản lý sự kiện có khả năng hỗ trợ đầy
đủ các chức năng từ khâu tạo sự kiện đến quản lý và thông báo cho người tham gia, cụ thể:
Thiết kế giao diện người dùng thân thiện, dễ sử dụng
Cho phép người dùng đăng ký tài khoản, đăng nhập và phân quyền sử dụng
Cho phép người dùng tạo, sửa, xóa và xem chi tiết các sự kiện
Cho phép người dùng khác đăng ký tham gia sự kiện, theo dõi và nhận thông báo
Hệ thống phải sử dụng cơ sở dữ liệu MySQL để lưu trữ và truy xuất dữ liệu một cách hiệu quả
Có phân quyền rõ ràng giữa người dùng thông thường và quản trị viên hệ thống
Cung cấp nền tảng để phát triển mở rộng các tính năng trong tương lai như đánh giá sựkiện, phản hồi người tham gia,
Trang 25TÓM TẮT ĐỀ TÀI
Trong bối cảnh công nghệ thông tin ngày càng phát triển và đóng vai trò quan trọng trong việc hỗ trợ quản lý, điều hành và tổ chức hoạt động, nhu cầu xây dựng các hệ thống phần mềm quản lý ngày càng trở nên cấp thiết Một trong những lĩnh vực có nhu cầu ứng dụng phần mềm cao là quản lý sự kiện – nơi các hoạt động cần được theo dõi, tổ chức và xử lý một cách chính xác, nhanh chóng
và khoa học.
Đề tài “Ứng dụng quản lý sự kiện” được thực hiện nhằm xây dựng một hệ
thống phần mềm có khả năng hỗ trợ người dùng trong việc tạo lập, cập nhật, theo dõi và quản lý sự kiện thông qua nền tảng web Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL để lưu trữ và xử lý thông tin, đồng thời tích hợp với các công nghệ web như HTML, CSS, JavaScript và PHP để xây dựng giao diện và các chức năng tương tác với người dùng.
Các chức năng chính của hệ thống bao gồm: đăng ký tài khoản người dùng, đăng nhập, tạo và chỉnh sửa thông tin sự kiện, quản lý danh sách người tham gia, hiển thị thông tin chi tiết các sự kiện đang và sắp diễn ra, gửi thông báo nhắc nhở, Giao diện được thiết kế thân thiện, dễ sử dụng, phù hợp với cả người dùng phổ thông lẫn người quản trị hệ thống.
Thông qua đề tài, nhóm nghiên cứu không chỉ ứng dụng được các kiến thức
về lập trình web và cơ sở dữ liệu, mà còn rèn luyện kỹ năng làm việc nhóm, tổ chức công việc, tư duy hệ thống và giải quyết vấn đề Kết quả của đề tài là một ứng dụng web hoàn chỉnh, có khả năng áp dụng thực tế trong môi trường học tập, làm việc hoặc tổ chức các sự kiện cộng đồng.
Trang 26TÓM TẮT ĐỀ TÀI
Trong bối cảnh công nghệ thông tin ngày càng phát triển và đóng vai trò quan trọng trong việc hỗ trợ quản lý, điều hành và tổ chức hoạt động, nhu cầu xây dựng các hệ thống phần mềm quản lý ngày càng trở nên cấp thiết Một trong những lĩnh vực có nhu cầu ứng dụng phần mềm cao là quản lý sự kiện – nơi các hoạt động cần được theo dõi, tổ chức và xử lý một cách chính xác, nhanh chóng
và khoa học.
Đề tài “Ứng dụng quản lý sự kiện” được thực hiện nhằm xây dựng một hệ
thống phần mềm có khả năng hỗ trợ người dùng trong việc tạo lập, cập nhật, theo dõi và quản lý sự kiện thông qua nền tảng web Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL để lưu trữ và xử lý thông tin, đồng thời tích hợp với các công nghệ web như HTML, CSS, JavaScript và PHP để xây dựng giao diện và các chức năng tương tác với người dùng.
Các chức năng chính của hệ thống bao gồm: đăng ký tài khoản người dùng, đăng nhập, tạo và chỉnh sửa thông tin sự kiện, quản lý danh sách người tham gia, hiển thị thông tin chi tiết các sự kiện đang và sắp diễn ra, gửi thông báo nhắc nhở, Giao diện được thiết kế thân thiện, dễ sử dụng, phù hợp với cả người dùng phổ thông lẫn người quản trị hệ thống.
Thông qua đề tài, nhóm nghiên cứu không chỉ ứng dụng được các kiến thức
về lập trình web và cơ sở dữ liệu, mà còn rèn luyện kỹ năng làm việc nhóm, tổ chức công việc, tư duy hệ thống và giải quyết vấn đề Kết quả của đề tài là một ứng dụng web hoàn chỉnh, có khả năng áp dụng thực tế trong môi trường học tập, làm việc hoặc tổ chức các sự kiện cộng đồng.
Trang 27 Người dùng thông thường (User): Có thể đăng ký tài khoản, đăng nhập, tạo và quản
lý các sự kiện cá nhân, xem sự kiện đã đăng ký tham gia
Quản trị viên (Admin): Có toàn quyền trong hệ thống, bao gồm quản lý người dùng,
sự kiện, kiểm duyệt nội dung, và thống kê hệ thống
b Yêu cầu chức năng
Đăng ký và đăng nhập tài khoản
Tạo mới, chỉnh sửa, xóa sự kiện
Đăng ký và hủy tham gia sự kiện
Xem danh sách và chi tiết sự kiện
Quản lý người dùng và phân quyền (Admin)
Tự động gửi thông báo cho người tham gia trước thời điểm diễn ra sự kiện
c Yêu cầu phi chức năng
Hệ thống thân thiện với người dùng, dễ sử dụng trên trình duyệt web
Bảo mật thông tin người dùng (mật khẩu được mã hóa)
Tương thích với nhiều trình duyệt và thiết bị (responsive design)
Hiệu suất truy xuất dữ liệu nhanh, ổn định với số lượng người dùng vừa phải
3.2 Biểu đồ ca sử dụng (Use Case Diagram)
Biểu đồ ca sử dụng thể hiện các tương tác chính giữa người dùng và hệ thống
Các tác nhân (actors):
User
Các chức năng (use cases) chính:
Đăng ký tài khoản
Đăng nhập
Tạo sự kiện
Cập nhật/xóa sự kiện
Đăng ký tham gia sự kiện
Xem danh sách sự kiện
Gửi thông báo
Quản lý người dùng (Admin)
3.3 Biểu đồ lớp (Class Diagram)
Biểu đồ lớp mô tả các thực thể chính và mối quan hệ giữa chúng
Trang 28email VARCHAR(100) Địa chỉ email, duy nhất
Bảng events
Bảng registrations
Bảng notifications
3.5 Thiết kế giao diện người dùng (UI Design)
Hệ thống được thiết kế giao diện đơn giản, dễ sử dụng Các trang chính bao gồm:
Trang đăng nhập/đăng ký: Cho phép người dùng tạo tài khoản và đăng nhập hệ
thống
Trang dashboard: Hiển thị danh sách sự kiện theo thời gian, trạng thái.
Trang tạo/sửa sự kiện: Form nhập thông tin sự kiện với các trường cơ bản.
Trang chi tiết sự kiện: Hiển thị mô tả chi tiết và danh sách người tham gia.
Trang quản trị (Admin): Quản lý tài khoản, theo dõi hoạt động người dùng, phê
duyệt sự kiện
Thiết kế giao diện responsive, dễ hiển thị trên cả điện thoại và máy tính
Trang 29 Lớp xử lý nghiệp vụ (Business Logic Layer): Xử lý các chức năng như tạo sự kiện,
xác thực người dùng, kiểm tra thông tin và gửi thông báo Ngôn ngữ lập trình PHP được sử dụng để phát triển tầng này
Lớp cơ sở dữ liệu (Data Access Layer): Quản lý và lưu trữ dữ liệu bằng hệ quản trị
MySQL Các truy vấn SQL được sử dụng để tương tác với cơ sở dữ liệu
Sự phân chia rõ ràng giữa các tầng giúp hệ thống dễ bảo trì, nâng cấp và mở rộng trong tương lai
2.3 Các công nghệ liên quan
Để xây dựng hệ thống, nhóm sử dụng một số công nghệ chính như sau:
HTML (HyperText Markup Language): Ngôn ngữ đánh dấu để xây dựng cấu trúc
nội dung trang web
CSS (Cascading Style Sheets): Ngôn ngữ tạo kiểu để định dạng giao diện và bố cục.
JavaScript: Ngôn ngữ lập trình phía client giúp tăng tính tương tác cho giao diện
người dùng
PHP (Hypertext Preprocessor): Ngôn ngữ lập trình phía server dùng để xử lý dữ liệu
và giao tiếp với MySQL
MySQL: Hệ quản trị cơ sở dữ liệu chính, dùng để lưu trữ và truy xuất dữ liệu sự kiện
và người dùng
Sự kết hợp giữa các công nghệ frontend và backend giúp hệ thống hoạt động hiệu quả, đảmbảo tính động và tương tác tốt
2.4 Mô hình cơ sở dữ liệu quan hệ
Mô hình quan hệ là mô hình dữ liệu phổ biến trong thiết kế cơ sở dữ liệu Dữ liệu được lưutrữ dưới dạng bảng (table), mỗi bảng gồm các dòng (record) và cột (field) Các bảng có thể liên kết với nhau thông qua khóa chính (primary key) và khóa ngoại (foreign key)
Trong hệ thống quản lý sự kiện, cơ sở dữ liệu gồm các bảng chính như:
users: Lưu thông tin người dùng.
events: Lưu thông tin sự kiện.
registrations: Ghi nhận người đăng ký tham gia sự kiện.
notifications: Lưu các thông báo gửi đến người dùng.
Các bảng này được thiết kế theo nguyên lý chuẩn hóa để tránh dư thừa dữ liệu và đảm bảo tính toàn vẹn
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích yêu cầu hệ thống
a Đối tượng sử dụng hệ thống
Trang 30 Lớp xử lý nghiệp vụ (Business Logic Layer): Xử lý các chức năng như tạo sự kiện,
xác thực người dùng, kiểm tra thông tin và gửi thông báo Ngôn ngữ lập trình PHP được sử dụng để phát triển tầng này
Lớp cơ sở dữ liệu (Data Access Layer): Quản lý và lưu trữ dữ liệu bằng hệ quản trị
MySQL Các truy vấn SQL được sử dụng để tương tác với cơ sở dữ liệu
Sự phân chia rõ ràng giữa các tầng giúp hệ thống dễ bảo trì, nâng cấp và mở rộng trong tương lai
2.3 Các công nghệ liên quan
Để xây dựng hệ thống, nhóm sử dụng một số công nghệ chính như sau:
HTML (HyperText Markup Language): Ngôn ngữ đánh dấu để xây dựng cấu trúc
nội dung trang web
CSS (Cascading Style Sheets): Ngôn ngữ tạo kiểu để định dạng giao diện và bố cục.
JavaScript: Ngôn ngữ lập trình phía client giúp tăng tính tương tác cho giao diện
người dùng
PHP (Hypertext Preprocessor): Ngôn ngữ lập trình phía server dùng để xử lý dữ liệu
và giao tiếp với MySQL
MySQL: Hệ quản trị cơ sở dữ liệu chính, dùng để lưu trữ và truy xuất dữ liệu sự kiện
và người dùng
Sự kết hợp giữa các công nghệ frontend và backend giúp hệ thống hoạt động hiệu quả, đảmbảo tính động và tương tác tốt
2.4 Mô hình cơ sở dữ liệu quan hệ
Mô hình quan hệ là mô hình dữ liệu phổ biến trong thiết kế cơ sở dữ liệu Dữ liệu được lưutrữ dưới dạng bảng (table), mỗi bảng gồm các dòng (record) và cột (field) Các bảng có thể liên kết với nhau thông qua khóa chính (primary key) và khóa ngoại (foreign key)
Trong hệ thống quản lý sự kiện, cơ sở dữ liệu gồm các bảng chính như:
users: Lưu thông tin người dùng.
events: Lưu thông tin sự kiện.
registrations: Ghi nhận người đăng ký tham gia sự kiện.
notifications: Lưu các thông báo gửi đến người dùng.
Các bảng này được thiết kế theo nguyên lý chuẩn hóa để tránh dư thừa dữ liệu và đảm bảo tính toàn vẹn
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích yêu cầu hệ thống
a Đối tượng sử dụng hệ thống
Trang 31email VARCHAR(100) Địa chỉ email, duy nhất
Bảng events
Bảng registrations
Bảng notifications
3.5 Thiết kế giao diện người dùng (UI Design)
Hệ thống được thiết kế giao diện đơn giản, dễ sử dụng Các trang chính bao gồm:
Trang đăng nhập/đăng ký: Cho phép người dùng tạo tài khoản và đăng nhập hệ
thống
Trang dashboard: Hiển thị danh sách sự kiện theo thời gian, trạng thái.
Trang tạo/sửa sự kiện: Form nhập thông tin sự kiện với các trường cơ bản.
Trang chi tiết sự kiện: Hiển thị mô tả chi tiết và danh sách người tham gia.
Trang quản trị (Admin): Quản lý tài khoản, theo dõi hoạt động người dùng, phê
duyệt sự kiện
Thiết kế giao diện responsive, dễ hiển thị trên cả điện thoại và máy tính
Trang 32 Lớp xử lý nghiệp vụ (Business Logic Layer): Xử lý các chức năng như tạo sự kiện,
xác thực người dùng, kiểm tra thông tin và gửi thông báo Ngôn ngữ lập trình PHP được sử dụng để phát triển tầng này
Lớp cơ sở dữ liệu (Data Access Layer): Quản lý và lưu trữ dữ liệu bằng hệ quản trị
MySQL Các truy vấn SQL được sử dụng để tương tác với cơ sở dữ liệu
Sự phân chia rõ ràng giữa các tầng giúp hệ thống dễ bảo trì, nâng cấp và mở rộng trong tương lai
2.3 Các công nghệ liên quan
Để xây dựng hệ thống, nhóm sử dụng một số công nghệ chính như sau:
HTML (HyperText Markup Language): Ngôn ngữ đánh dấu để xây dựng cấu trúc
nội dung trang web
CSS (Cascading Style Sheets): Ngôn ngữ tạo kiểu để định dạng giao diện và bố cục.
JavaScript: Ngôn ngữ lập trình phía client giúp tăng tính tương tác cho giao diện
người dùng
PHP (Hypertext Preprocessor): Ngôn ngữ lập trình phía server dùng để xử lý dữ liệu
và giao tiếp với MySQL
MySQL: Hệ quản trị cơ sở dữ liệu chính, dùng để lưu trữ và truy xuất dữ liệu sự kiện
và người dùng
Sự kết hợp giữa các công nghệ frontend và backend giúp hệ thống hoạt động hiệu quả, đảmbảo tính động và tương tác tốt
2.4 Mô hình cơ sở dữ liệu quan hệ
Mô hình quan hệ là mô hình dữ liệu phổ biến trong thiết kế cơ sở dữ liệu Dữ liệu được lưutrữ dưới dạng bảng (table), mỗi bảng gồm các dòng (record) và cột (field) Các bảng có thể liên kết với nhau thông qua khóa chính (primary key) và khóa ngoại (foreign key)
Trong hệ thống quản lý sự kiện, cơ sở dữ liệu gồm các bảng chính như:
users: Lưu thông tin người dùng.
events: Lưu thông tin sự kiện.
registrations: Ghi nhận người đăng ký tham gia sự kiện.
notifications: Lưu các thông báo gửi đến người dùng.
Các bảng này được thiết kế theo nguyên lý chuẩn hóa để tránh dư thừa dữ liệu và đảm bảo tính toàn vẹn
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích yêu cầu hệ thống
a Đối tượng sử dụng hệ thống
Trang 33 Người dùng thông thường (User): Có thể đăng ký tài khoản, đăng nhập, tạo và quản
lý các sự kiện cá nhân, xem sự kiện đã đăng ký tham gia
Quản trị viên (Admin): Có toàn quyền trong hệ thống, bao gồm quản lý người dùng,
sự kiện, kiểm duyệt nội dung, và thống kê hệ thống
b Yêu cầu chức năng
Đăng ký và đăng nhập tài khoản
Tạo mới, chỉnh sửa, xóa sự kiện
Đăng ký và hủy tham gia sự kiện
Xem danh sách và chi tiết sự kiện
Quản lý người dùng và phân quyền (Admin)
Tự động gửi thông báo cho người tham gia trước thời điểm diễn ra sự kiện
c Yêu cầu phi chức năng
Hệ thống thân thiện với người dùng, dễ sử dụng trên trình duyệt web
Bảo mật thông tin người dùng (mật khẩu được mã hóa)
Tương thích với nhiều trình duyệt và thiết bị (responsive design)
Hiệu suất truy xuất dữ liệu nhanh, ổn định với số lượng người dùng vừa phải
3.2 Biểu đồ ca sử dụng (Use Case Diagram)
Biểu đồ ca sử dụng thể hiện các tương tác chính giữa người dùng và hệ thống
Các tác nhân (actors):
User
Các chức năng (use cases) chính:
Đăng ký tài khoản
Đăng nhập
Tạo sự kiện
Cập nhật/xóa sự kiện
Đăng ký tham gia sự kiện
Xem danh sách sự kiện
Gửi thông báo
Quản lý người dùng (Admin)
3.3 Biểu đồ lớp (Class Diagram)
Biểu đồ lớp mô tả các thực thể chính và mối quan hệ giữa chúng
Trang 34 Lớp xử lý nghiệp vụ (Business Logic Layer): Xử lý các chức năng như tạo sự kiện,
xác thực người dùng, kiểm tra thông tin và gửi thông báo Ngôn ngữ lập trình PHP được sử dụng để phát triển tầng này
Lớp cơ sở dữ liệu (Data Access Layer): Quản lý và lưu trữ dữ liệu bằng hệ quản trị
MySQL Các truy vấn SQL được sử dụng để tương tác với cơ sở dữ liệu
Sự phân chia rõ ràng giữa các tầng giúp hệ thống dễ bảo trì, nâng cấp và mở rộng trong tương lai
2.3 Các công nghệ liên quan
Để xây dựng hệ thống, nhóm sử dụng một số công nghệ chính như sau:
HTML (HyperText Markup Language): Ngôn ngữ đánh dấu để xây dựng cấu trúc
nội dung trang web
CSS (Cascading Style Sheets): Ngôn ngữ tạo kiểu để định dạng giao diện và bố cục.
JavaScript: Ngôn ngữ lập trình phía client giúp tăng tính tương tác cho giao diện
người dùng
PHP (Hypertext Preprocessor): Ngôn ngữ lập trình phía server dùng để xử lý dữ liệu
và giao tiếp với MySQL
MySQL: Hệ quản trị cơ sở dữ liệu chính, dùng để lưu trữ và truy xuất dữ liệu sự kiện
và người dùng
Sự kết hợp giữa các công nghệ frontend và backend giúp hệ thống hoạt động hiệu quả, đảmbảo tính động và tương tác tốt
2.4 Mô hình cơ sở dữ liệu quan hệ
Mô hình quan hệ là mô hình dữ liệu phổ biến trong thiết kế cơ sở dữ liệu Dữ liệu được lưutrữ dưới dạng bảng (table), mỗi bảng gồm các dòng (record) và cột (field) Các bảng có thể liên kết với nhau thông qua khóa chính (primary key) và khóa ngoại (foreign key)
Trong hệ thống quản lý sự kiện, cơ sở dữ liệu gồm các bảng chính như:
users: Lưu thông tin người dùng.
events: Lưu thông tin sự kiện.
registrations: Ghi nhận người đăng ký tham gia sự kiện.
notifications: Lưu các thông báo gửi đến người dùng.
Các bảng này được thiết kế theo nguyên lý chuẩn hóa để tránh dư thừa dữ liệu và đảm bảo tính toàn vẹn
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích yêu cầu hệ thống
a Đối tượng sử dụng hệ thống
Trang 35 Các cá nhân có nhu cầu theo dõi và chia sẻ sự kiện cá nhân như workshop, khóa học,
Hệ thống được xây dựng trên nền web (web-based application) nên có thể dễ dàng tiếp cận thông qua trình duyệt Trong phạm vi đồ án này, nhóm chưa triển khai các chức năng nâng cao như gửi email, thanh toán sự kiện hoặc tích hợp mạng xã hội
1.4 Phương pháp nghiên cứu
Để thực hiện đề tài, nhóm áp dụng các phương pháp khoa học như sau:
Phân tích yêu cầu người dùng: Xác định nhu cầu thực tế về quản lý sự kiện thông qua khảo sát và tham khảo hệ thống tương tự
Thiết kế hệ thống: Áp dụng kiến thức về phân tích và thiết kế hệ thống để mô hình hóaUse Case, Class Diagram, và cơ sở dữ liệu
Lập trình và xây dựng hệ thống: Sử dụng HTML, CSS, JavaScript cho giao diện và PHP + MySQL cho phần xử lý và lưu trữ dữ liệu
Kiểm thử và đánh giá: Tiến hành kiểm thử chức năng, kiểm thử giao diện người dùng, bảo mật cơ bản và hiệu năng hệ thống
Tổng hợp, báo cáo và hoàn thiện sản phẩm: Tổng hợp tài liệu, viết báo cáo và trình bày hệ thống hoàn chỉnh
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về hệ quản trị cơ sở dữ liệu MySQL
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở được phát triển bởi công ty Oracle Với khả năng xử lý dữ liệu hiệu quả, tốc độ truy xuất nhanh và khả năng
mở rộng cao, MySQL là một trong những công cụ phổ biến nhất được sử dụng trong phát triển ứng dụng web
MySQL sử dụng ngôn ngữ truy vấn có cấu trúc (SQL - Structured Query Language) để thao tác và quản lý dữ liệu Các tính năng chính bao gồm:
Hỗ trợ truy vấn dữ liệu phức tạp thông qua JOIN, GROUP BY, HAVING,
Quản lý người dùng và phân quyền truy cập
Hỗ trợ giao dịch (transaction), tính toàn vẹn dữ liệu và các ràng buộc khóa ngoại
Tương thích tốt với các ngôn ngữ lập trình như PHP, Python, Java,
Trong đề tài này, MySQL đóng vai trò là nền tảng lưu trữ toàn bộ thông tin về người dùng, sự kiện và dữ liệu liên quan
2.2 Kiến trúc hệ thống quản lý sự kiện
Hệ thống quản lý sự kiện được thiết kế theo mô hình 3 lớp phổ biến:
Lớp trình diễn (Presentation Layer): Giao diện người dùng, được xây dựng bằng
HTML, CSS và JavaScript, cho phép người dùng tương tác trực tiếp với hệ thống
Trang 36CHƯƠNG 1: GIỚI THIỆU
1.1 Bối cảnh và lý do chọn đề tài
Trong thời đại công nghệ số phát triển mạnh mẽ, việc ứng dụng công nghệ thông tin vào các hoạt động thường nhật trở nên phổ biến và thiết yếu Một trong những lĩnh vực có nhu cầuứng dụng công nghệ cao chính là quản lý sự kiện Từ các buổi hội thảo chuyên môn, hội nghị doanh nghiệp đến các hoạt động cộng đồng, ngoại khóa tại trường học, các sự kiện đều cần được tổ chức một cách khoa học, hiệu quả và dễ theo dõi
Tuy nhiên, ở nhiều nơi – đặc biệt là các tổ chức nhỏ hoặc cơ sở giáo dục – công tác quản lý
sự kiện vẫn còn thực hiện thủ công hoặc thông qua các công cụ rời rạc như bảng tính Excel, email nhóm, hay các biểu mẫu giấy Điều này dẫn đến hàng loạt vấn đề như:
Thiếu tính đồng bộ và nhất quán trong thông tin
Không có hệ thống theo dõi người tham gia hoặc lưu trữ lịch sử sự kiện
Khó khăn trong việc thông báo, nhắc nhở hay cập nhật sự kiện
Dễ dẫn đến thất thoát dữ liệu hoặc sai lệch thông tin
Chính vì vậy, nhóm chúng tôi nhận thấy nhu cầu cần thiết phải có một hệ thống quản lý sự kiện chuyên biệt, dễ sử dụng và có thể triển khai nhanh chóng trên nền tảng web Với nền tảng kiến thức đã được học về lập trình web, cơ sở dữ liệu và thiết kế hệ thống, nhóm quyết định lựa chọn đề tài “Ứng dụng quản lý sự kiện sử dụng MySQL” để giải quyết vấn đề này
1.2 Mục tiêu nghiên cứu
Mục tiêu chính của đề tài là xây dựng một ứng dụng quản lý sự kiện có khả năng hỗ trợ đầy
đủ các chức năng từ khâu tạo sự kiện đến quản lý và thông báo cho người tham gia, cụ thể:
Thiết kế giao diện người dùng thân thiện, dễ sử dụng
Cho phép người dùng đăng ký tài khoản, đăng nhập và phân quyền sử dụng
Cho phép người dùng tạo, sửa, xóa và xem chi tiết các sự kiện
Cho phép người dùng khác đăng ký tham gia sự kiện, theo dõi và nhận thông báo
Hệ thống phải sử dụng cơ sở dữ liệu MySQL để lưu trữ và truy xuất dữ liệu một cách hiệu quả
Có phân quyền rõ ràng giữa người dùng thông thường và quản trị viên hệ thống
Cung cấp nền tảng để phát triển mở rộng các tính năng trong tương lai như đánh giá sựkiện, phản hồi người tham gia,
Trang 37Các lớp liên kết với nhau thông qua quan hệ 1-nhiều hoặc nhiều-nhiều
3.4 Thiết kế cơ sở dữ liệu
Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL Các bảng chính gồm: