Trang 1 ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬTKHOA CÔNG NGHỆ SỐ ĐỒ ÁN TỐT NGHIỆPĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TINCHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TINĐỀ TÀI:XÂY DỰNG WEBSITE DIỄN ĐÀ
TỔNG QUAN
Lý do chọn đề tài
Tại Việt Nam nói riêng và trên thế giới nói chung, vấn đề ô nhiễm môi trường đang dần trở nên đáng quan ngại hơn bao giờ hết Thế nhưng, việc bảo vệ và phục hồi môi trường không phải là chuyện một sớm một chiều mà có thể giải quyết được, cần có sự đồng lòng góp sức không chỉ của một vài cá nhân mà còn là của cả một cộng đồng.
Những người yêu môi trường ở Việt Nam thường tập trung thành những nhóm nhỏ lẻ, riêng biệt Các sự kiện tình nguyện bảo vệ môi trường cũng không được diễn ra thường xuyên bởi những lí do như thiếu kinh phí, thiếu nhân lực hay thiếu mối liên hệ, liên kết giữa các cá nhân, tổ chức Những kiến thức về việc phục hồi đất, giảm ô nhiễm không khí, tái chế rác thải vẫn chưa thật sự lan tỏa sâu rộng trong cộng đồng. Chính vì lẽ đó, em đã tạo ra trang website “Diễn đàn cộng đồng nhằm bảo vệ môi trường” nhằm kết nối những con người yêu thiên nhiên, tổ chức các hoạt động sự kiện một các có quy mô, là một nơi đủ uy tín để mọi người có thể ủng hộ và tham gia.Đồng thời, cùng nhau chia sẻ những kiến thức hữu ích đến mọi người.
Mục tiêu đề tài
Từ những lý do đã nêu trên,đề tài hướng đến xây dựng hệ thống website diễn đàn cộng đồng nhằm giúp:
Xem thông tin sự kiện
Liên hệ với chủ sự kiện
Cập nhật thông tin cá nhân
Đăng bài tổ chức sự kiện
Xem bài đăng, thông báo
Xem thông tin sự kiện
Hủy bỏ tham gia sự kiện
Đăng ký đóng góp dụng cụ
Xác nhận dụng cụ người dùng đóng góp
Xem thông tin người tham gia sự kiện
Duyệt người đăng ký tham gia sự kiện
Duyệt bài đăng sự kiện
Xác nhận tiến hành sự kiện
Xem thông tin người tạo sự kiện
Phạm vi đề tài
Ở đây website thiết kế là quản lý tổ chức các sự kiện, hoạt động bảo vệ môi trường, Đối tượng sử dụng là hội bảo vệ môi trường tỉnh Quảng Nam
Phương pháp nghiên cứu
Nghiên cứu lý thuyết : thu thập thông tin qua sách, các tài liệu, trang web để tìm được các cơ sở lý thuyết liên quan vấn đề mình nghiên cứu.
Triển khai thực nghiệp: xây dựng website.
Đặc tả yêu cầu nghiệp vụ
Được xem thông tin sự kiện
Được phép Liên hệ với chủ sự kiện
Được phép đăng ký, đăng nhập vào hệ thống
Được phép thay đổi, lấy lại mật khẩu
Được phép cập nhật thông tin cá nhân
Được phép đăng bài tổ chức sự kiện
Được phép xem thông tin sự kiện
Được phép tham gia, hủy bỏ tham gia sự kiện
Được phép đăng ký, xác nhận dụng cụ đóng góp
Được phép xem thông tin, duyệt người tham gia sự kiện
Được phép bình luận sự kiện
Được phép đăng nhập vào hệ thống
Được phép quản lý người dùng
Được phép duyệt bài đăng sự kiện
Được phép xác nhận tiến hành sự kiện
Được phép xem thông tin người tạo sự kiện
Được phép cập nhật danh mục thông tin
CƠ SỞ LÝ THUYẾT
Giới thiệu MySQL
Hệ quản trị cơ sở dữ liệu MySQL là chương trình dùng để quản lý hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp Nó có thể truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất Vì hỗ trợ đa số các ngôn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất trên thế giới Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.
MySQL là cơ sở dữ liệu tốc độ cao, ổn định hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Đặc biệt, hệ quản trị cơ sở dữ liệu MySQL hoàn toàn miễn phí nên người dùng có thể thoải mái tải về từ trang chủ.
Nó có rất nhiều những phiên bản cho các hệ điều hành khác nhau MySQL được sử dụng cho việc bỗ trợ PHP, Perl và nhiều ngôn ngữ khác Là nơi lưu trữ những thông tin trên các trang web viết bằng framework PHP hay Perl…
2.1.2 Các đặc điểm của MySQL
Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trị CSDL dạng server based, hệ gần giống với SQL server of Microsoft.
MySQL là phần mềm quản lý dữ liệu thông qua CSDL Và mỗi một CSDL đều có bảng quan hệ chứa dữ liệu riêng biệt.
MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thể quản lý cùng lúc một hay nhiều CSDL khác nhau Và mỗi người dùng đều có 1 username và password để truy nhập và truy xuất đến CSDL. Khi truy vấn đến CSDL của MySQL, chúng ta phải cung cấp tài khoản và mật khẩu có quyền sử dụng cơ sở dữ liệu đó MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt động mạnh mẽ.
2.2.2 Các lợi ích khi sử dụng hệ quản trị cơ sở dữ liệu MySQL
Ra mắt người dùng hoàn toàn miễn phí, hệ quản trị cơ sở dữ liệu
MySQL mang đến rất nhiều những lợi ích thiết thực, được ứng dụng trong nhiều dự án của các công ty công nghệ, một trong số đó có thể kể đến những công ty chuyên lập trình như MonaMedia, Misa,… cùng chúng tôi tìm hiểu những lợi ích thiết thực của mySQL ngay dưới đây:
*Hiệu năng sử dụng cao
Hầu hết, hệ quản trị cơ sở dữ liệu MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Và họ đánh giá rất cao ở hiệu năng sử dụng của MySQL Với kiến trúc storage-engine, MySQL đặc trưng cho các ứng dụng chuyên biệt, đặc biệt là đối với những trang web có dung lượng lớn, phục vụ hàng triệu khách hàng Hoặc đối với những hệ thống xử lý giao dịch tốc độ cao thì MySQL đều cùng có thể đáp ứng được những khả năng xử lý khắt khe của mọi hệ thống Đặc biệt, với những tiện ích tải tốc độ cao, cơ chế xử lý nâng cao cùng bộ nhớ cache MySQL đưa ra tất cả những tính năng cần có, đây là giải pháp hoàn hảo nhất ngay cả đối với những hệ thống doanh nghiệp khó tính nhất hiện nay.
*Hiệu năng sử dụng cao
Hầu hết, hệ quản trị cơ sở dữ liệu MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Và họ đánh giá rất cao ở hiệu năng sử dụng của MySQL Với kiến trúc storage-engine, MySQL đặc trưng cho các ứng dụng chuyên biệt, đặc biệt là đối với những trang web có dung lượng lớn, phục vụ hàng triệu khách hàng Hoặc đối với những hệ thống xử lý giao dịch tốc độ cao thì MySQL đều cùng có thể đáp ứng được những khả năng xử lý khắt khe của mọi hệ thống Đặc biệt, với những tiện ích tải tốc độ cao, cơ chế xử lý nâng cao cùng bộ nhớ cache MySQL đưa ra tất cả những tính năng cần có, đây là giải pháp hoàn hảo nhất ngay cả đối với những hệ thống doanh nghiệp khó tính nhất hiện nay.
*MySQL hỗ trợ giao dịch mạnh mẽ
Hệ quản trị cơ sở dữ liệu MySQL không những mang lại hiệu năng sử dụng cao Mà nó còn đưa ra một trong số những engine giao dịch cơ sở dữ liệu tốt nhất trên thị trường hiện nay Tính năng này bao gồm: Khóa mức dòng không hạn chế; hỗ trợ giao dịch ACID hoàn thiện; khả năng giao dịch được phân loại và hỗ trợ giao dịch đa dạng mà người đọc không cản trở cho người viết và ngược lại Với MySQL, dữ liệu sẽ được đảm bảo trong suốt quá trình server có hiệu lực Các mức giao dịch độc lập sẽ được chuyên môn hóa, nếu phát hiện có lỗi khóa chết ngay tức thì.
Tốc độ xử lý dữ liệu của mySQL rất nhanh. Đánh giá chung của các nhà phát triển, tất cả họ đều cho rằng hệ quản trị cơ sở dữ liệu MySQL là cơ sở dữ liệu nhanh nhất Đây là nơi để cho các website có thể trao đổi thường xuyên các dữ liệu bởi nó có engine xử lý tốc độ cao Khả năng chèn dữ liệu cực nhanh và hỗ trợ mạnh mẽ các chức năng chuyên dụng cho trang web Các tính năng này cũng được sử dụng cho môi trường lưu trữ dữ liệu mà hệ quản trị này tăng cường đến hàng terabyte cho các server đơn Ngoài ra còn có những tính năng khác như: chỉ số băm, bảng nhớ chính, bảng lưu trữ và cây B được gói lại để giúp giảm các yêu cầu lưu trữ tối đa đến 80% Với tốc độ nhanh, thật không thể phủ nhận hệ quản trị cơ sở dữ liệu MySQL là sự lựa chọn tốt nhất cho cả ứng dụng web cũng như các ứng dụng của doanh nghiệp ngày nay.
MySQL ngoài được biết đến với tốc độ khá cao, ổn định thì nó thực sự là một hệ thống cơ sở dữ liệu rất đơn giản, rất dễ sử dụng Ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn Đặc biệt nó có thể hoạt động trên tất cả các hệ điều hành.
*Hỗ trợ ngôn ngữ truy vấn
MySQL hệ quản trị cơ sở dữ liệu là ngôn ngữ của sự lựa chọn cho tất cả các hệ thống cơ sở dữ liệu hiện đại Người dùng hoàn toàn có thể truy cậpMySQL bằng cách sử dụng các ứng dụng mà hỗ trợ ODBC (một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft) Nhiều client có thể truy cập đến server trong cùng một thời gian Đặc biệt các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạn cũng có thể truy cậpMySQL tương tác với khi sử dụng một vài giao diện để đưa vào các truy vấn và xem kết quả như: các dòng yêu cầu của khách hàng, các trình duyệt web…
Tính kết nối và bảo mật cao
MySQL có tính kết nối và bảo mật cao. Điều quan trọng nhất của mỗi một doanh nghiệp chính là việc bảo mật dữ liệu tuyệt đối Và hệ quản trị cơ sở dữ liệu MySQL tích hợp các tính năng bảo mật an toàn tuyệt đối MySQL được nối mạng một cách đầy đủ. Các cơ sở dữ liệu có thể được truy cập từ bất cứ nơi nào trên internet Bạn có thể chia sẻ dữ liệu của bạn với bất kì ai, bất cứ lúc nào và bất cứ nơi đâu bạn muốn Nhưng MySQL kiểm soát quyền truy cập nên người không nên nhìn thấy dữ liệu của bạn sẽ không thể nào nhìn được Với việc xác nhận truy cập cơ sở dữ liệu, MySQL trang bị các kĩ thuật mạnh Chỉ có những người sử dụng đã được xác nhận mới truy cập được vào cơ sở dữ liệu. Ngoài ra, SSH và SSL cũng được hỗ trợ nhằm đảm bảo kết nối an toàn và bảo mật Tiện ích backup và recovery cung cấp bởi MySQL hệ quản trị cơ sở dữ liệu và các hãng phần mềm thứ 3 cho phép backup logic và vật lý cũng như recovery toàn bộ ngay tại một thời điểm.
MySQL có thể hoạt động trên tất cả các hệ điều hành, chạy được với mọi phần cứng từ các máy PC ở nhà cho đến các máy server Máy chủ hệ quản trị cơ sở dữ liệu MySQL đáp ứng nhiều tính năng linh hoạt Nó có sức chứa để xử lý các ứng dụng được nhúng sâu với 1MB dung lượng để chạy kho dữ liệu khổng lồ lên đến hàng terabytes thông tin Tính chất mã nguồn mở của MySQL cho phép tùy biến theo ý muốn để thêm các yêu cầu phù hợp cho database server.
*Mã nguồn mở tự do và hỗ trợ 24/7
Băn khoăn của rất nhiều doanh nghiệp khi họ gặp khó khăn trong việc giao toàn bộ phần mềm cho một mã nguồn mở Bởi khó có thể tìm được hỗ trợ hay bảo mật an toàn phục vụ một cách chuyên nghiệp Nhưng vấn đề khó khăn này sẽ không còn nữa nếu sử dụng hệ quản trị cơ sở dữ liệu
MySQL Với MySQL, mọi sự cam kết đều rất rõ ràng, mọi sự cố đều được
MySQL bồi thường Bạn có thể tìm thấy các tài nguyên có sẵn mà hệ quản trị này hỗ trợ Cộng đồng MySQL rất có trách nhiệm Họ thường trả lời các câu hỏi trên mailing list chỉ trong vài phút Nếu lỗi xảy ra, các nhà phát triển sẽ đưa ra cách khắc phục nhanh nhất cho bạn Và cách khắc phục đó sẽ ngay lập tức có sẵn trên internet.
*Chi phí sở hữu thấp nhất
Giới thiệu ngôn ngữ lập trình Java
Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP) Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy.
Cú pháp Java được vay mượn nhiều từ C và C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn.[4]
Java được khởi đầu bởi James - Gosling và bạn đồng nghiệp ở Sun Microsystems năm 1991 Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi) do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này Java được phát hành vào năm 1994 Sau khi Oracle mua lại công ty Sun Microsystems năm
2009 - 2010, Oracle đã mô tả họ là "người quản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch" Lịch sử phiên bản java:
Java SE 6 (còn gọi là Mustang), được công bố 11 tháng 12 năm 2006
Java SE 7 (còn gọi là Dolphin), được bắt đầu từ tháng 8 năm 2006 và công bố ngày 28 tháng 7 năm 2011.
Java SE 8 ngày 18 tháng 3 năm 2014
Java SE 9 ngày 21 tháng 9 năm 2017
Java SE 10 ngày 20 tháng 3 năm 2018
Java SE 11 ngày 25 tháng 9 năm 2018
Java SE 12 ngày 19 tháng 3 năm 2019
Java SE 13 ngày 17 tháng 9 năm 2019
Java SE 14 ngày 17 tháng 3 năm 2020
Java SE 15 ngày 15 tháng 9 năm 2020
Java SE 16 ngày 16 tháng 3 năm 2021
Java SE 17 ngày 14 tháng 9 năm 2021
Giới thiệu về Spring Framework
2.3.1 Đôi nét về lịch sử
Vào năm 2002, Spring Framework phát hành phiên bản đầu tiên bởi Rod Johnson Việc xây dựng các ứng dụng doanh nghiệp trở nên đơn giản và dễ dàng hơn Rod Johnson đã cho xuất bản một cuốn sách được phổ biến rộng rãi có nhan đề
"J2EE Development without EJB" Điều này đã cho Spring Framework rất nhiều động lực để thay thế EJB.[2]
Ngày nay, Spring đã trở thành framework mã nguồn mở phổ biến nhất để xây dựng các ứng dụng doanh nghiệp Cách tiếp cận thực tế ban đầu của Rod Johnson tiếp tục được phát triển và hướng tới một bộ công cụ hoàn chỉnh dành cho xây dựng các ứng dụng doanh nghiệp Theo một số nguồn, trên 50% các ứng dụng web Java hiện nay đang sử dụng Spring Framework. Để ngăn chặn sự phức tạp trong phát triển các ứng dụng, Spring Framework thường dựa trên các quan điểm như sau:
Đơn giản hóa công việc phát triển thông qua việc sử dụng các đối tượng Java đơn giản hay còn được gọi là POJO (Plain Old Java Object).
Nới lỏng ràng buộc giữa các thành phần thông qua việc sử dụng Dependency Injection và viết các interface.
Tiếp cận lập trình khai báo bằng cách sử dụng các quy tắc (convention) và các khía cạnh (aspect) chung.
Giảm thiểu các mã nghi thức và soạn sẵn (boilerplate) thông qua việc sử dụng các khuôn mẫu (template) và các khía cạnh.
Spring Core: Spring Core chính là thành phần trung tâm, cốt lõi của Spring Framework Đây chính là nền tảng để xây dựng nên các thành phần khác.
Spring Bean: Spring Bean là trung tâm của Spring Core và là trái tim của một ứng dụng Spring.
Dependency Injection (DI): Dependency Injection (có thể dịch tiêm các thành phần phụ thuộc) là một sức mạnh nổi bật của Spring Framework.
Spring Context: Spring Context mang mọi thứ lại với nhau.
Spring Expression Language (SpEL): Spring Expression Language là một ngôn ngữ ngắn gọn giúp cho việc cấu hình Spring Framework trở nên linh hoạt hơn.
Các dự án trong Spring Framework: Spring Framework là một tập hợp của nhiều dự án con.
Spring MVC: Spring MVC được thiết kế dành cho việc xây dựng các ứng dụng nền tảng web.
Spring Data: Cung cấp một cách tiếp cận đúng đắn để truy cập dữ liệu từ cơ sở dữ liệu quan hệ, phi quan hệ, map-reduce, …
Spring Security: Dự án này cung cấp các cơ chế xác thực (authentication) và phân quyền (authorization) cho ứng dụng.
Spring Boot: là một framework giúp phát triển cũng như chạy ứng dụng một cách nhanh chóng.
Spring Batch: tạo các lịch trình (scheduling) và tiến trình (processing).
Spring Integration: là một implementation của Enterprise Integration Patterns (EIP).
Spring XD: đơn giản hóa công việc phát triển các ứng dụng Big Data.
Spring Social: kết nối ứng dụng của bạn với các API bên thứ ba của Facebook,Twitter, Linkedin,
Giới thiệu về Bootstrap & Reponsive
Bootstrap là front-end framework, là một bộ sưu tập miễn phí các công cụ để tạo ra các trang web và các ứng dụng web Bootstrap bao gồm HTML và CSS dựa trên các mẫu thiết kế cho kiểu chữ, hình thức, các button và các thành phần giao diện khác,cũng như mở rộng tùy chọn JavaScript Boostrap định nghĩa sẵn các class CSS giúp người thiết kế giao diện website tiết kiệm rất nhiều thời gian Các thư viện Bootstrap có những đoạn mã sẵn sàng cho chúng ta áp dùng vào website của mình mà không phải tốn quá nhiều thời gian để tự viết Với Bootstrap, việc phát triển giao diện website để phù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết Bootstrap cung cấp tính năng responsive và mobile first, nghĩa là làm cho trang web có thể tự co giãn để tương thích với mọi thiết bị khác nhau, từ điện thoại di động đến máy tính bảng, máy tính xách tay, máy tính để bàn, Một khía cạnh khác là responsive web design làm cho trang web cung cấp được trải nghiệm tuyệt vời cho người dùng trên nhiều thiết bị, kích thước màn hình khác nhau Một trang có thể hoạt động tốt bất kể sự biến đổi sẽ cung cấp một trải nghiệm người dùng tốt và nhất quán hơn một trang được thiết kế cho một loại thiết bị và kích thước màn hình cụ thể.[1].
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích tác nhân và chức năng
3.2.1 Xác định các tác nhân Đề tài gồm 3 tác nhân:
3.2.2 Các yêu cầu chức năng
Xem thông tin sự kiện
Liên hệ với chủ sự kiện
Cập nhật thông tin cá nhân
Đăng bài tổ chức sự kiện
Xem bài đăng, thông báo
Xem thông tin sự kiện
Hủy bỏ tham gia sự kiện
Đăng ký đóng góp dụng cụ
Xác nhận dụng cụ người dùng đóng góp
Xem thông tin người tham gia sự kiện
Duyệt người đăng ký tham gia sự kiện
Duyệt bài đăng sự kiện
Xác nhận tiến hành sự kiện
Xem thông tin người tạo sự kiện
Sơ đồ use-case
Hình 3 1 Sơ đồ use-case tổng quát
Sơ đồ hoạt động
3.4.1.1 Sơ đồ hoạt động xem thông tin sự kiện
Hình 3 2 Sơ đồ hoạt động xem thông tin sự kiện 3.4.1.2 Sơ đồ hoạt động liên hệ
Hình 3 3 Sơ đồ hoạt động liên hệ
3.4.2.1 Sơ đồ hoạt động Đăng nhập
Hình 3 4 Sơ đồ hoạt động Đăng nhập 3.4.2.2 Sơ đồ hoạt động Đăng ký người dùng
Hình 3 5 Sơ đồ hoạt động Đăng ký người dùng
3.4.2.3 Sơ đồ hoạt động Đăng bài tổ chức sự kiện
Hình 3 6 Sơ đồ hoạt động Đăng bài tổ chức sự kiện 3.4.2.4 Sơ đồ hoạt động Cập nhật thông tin cá nhân
Hình 3 7 Sơ đồ hoạt động Cập nhật thông tin cá nhân
3.4.2.5 Sơ đồ hoạt động Xem thông tin sự kiện
Hình 3 8 Sơ đồ hoạt động Xem thông tin sự kiện 3.4.2.6 Sơ đồ hoạt động Xem thông tin người tham gia sự kiện
Hình 3 9 Sơ đồ hoạt động xem thông tin người tham gia sự kiện
3.4.2.7 Sơ đồ hoạt động Tham gia / hủy tham gia sự kiện
Hình 3 11 Sơ đồ hoạt động tham gia / hủy sự kiện
3.4.2.8 Sơ đồ hoạt động Duyệt người đăng ký tham gia sự kiện
Hình 3 12 Sơ đồ hoạt động duyệt người đăng ký tham gia sự kiện 3.4.2.9 Sơ đồ hoạt động Đóng góp dụng cụ cho sự kiện
Hình 3 13 Sơ đồ hoạt động đóng góp dụng cụ cho sự kiện
3.4.2.10 Sơ đồ hoạt động Duyệt dụng cụ đóng góp của người dùng cho sự kiện
Hình 3 14 Sơ đồ hoạt động duyệt dụng cụ đóng góp của người dùng cho sự kiện 3.4.2.11 Sơ đồ hoạt động Bình luận
Hình 3 15 Sơ đồ hoạt động bình luận
3.4.3.1 Sơ đồ hoạt động Đăng nhập
Hình 3 10 Sơ đồ hoạt động Đăng nhập 3.4.3.2 Sơ đô hoạt động thống kê
Hình 3 11 Sơ đồ hoạt động Thống kê
3.4.3.3 Sơ đồ hoạt động Xem thông tin người tạo sự kiện
Hình 3 12 Sơ đồ hoạt động Xem thông tin người tạo sự kiện 3.4.3.4 Sơ đồ hoạt động Duyệt bài đăng tổ chức sự kiện
Hình 3 13 Sơ đồ hoạt động Duyệt bài đăng tổ chức sự kiện
3.4.3.5 Sơ đồ hoạt động Xác nhận tiến hành sự kiện
Hình 3 14 Sơ đồ hoạt động xác nhận tiến hành sự kiện 3.4.3.6 Sơ đồ hoạt động Cập nhật danh mục thông tin
Hình 3 15 Sơ đồ hoạt động Cập nhật danh mục thông tin
Sơ đồ Mô hình thực thể liên kết
Hình 3 16 Sơ đồ mô hình liên kết thực thể
Thiết kế cơ sở dữ liệu
- Mô tả: Bảng để lưu các thông tin về danh mục thông tin.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID Int Không thể rỗng Mã danh mục
Name Nvarchar(250) Không thể rỗng Tên danh mục
- Mô tả: Bảng để mô tả sự kiện.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID Int Không thể rỗng Mã sự kiện
Name Varchar(200) Không thể rỗng Tên sự kiện
Description Varchar(1000) Không thể rỗng Mô tả sự kiện
Address Varchar(100) Không thể rỗng Ảnh sự kiện
TimeStart Datetime Không thể rỗng Thời gian bắt đầu
TimeEnd Datetime Không thể rỗng Thời gian kết thúc
Status Tinyint(1) Không thể rỗng Trạng thái
- Mô tả: Bảng để lưu các quyền truy cập vào trang web.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID Int Không thể rỗng Mã quyền
Name varchar(255) Không thể rỗng Tên quyền
- Mô tả: Bảng dùng để lưu các thông tin về người dùng.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID Int Không thể rỗng Mã người dùng
UserName Nchar(100) Không thể rỗng Tài khoản
Password Nchar(100) Không thể rỗng Mật khẩu
Name Nvarchar(250) Không thể rỗng Họ và tên
Address Nvarchar(450) Không thể rỗng Địa chỉ
SDT Nvarchar(50) Không thể rỗng Số điện thoại
Email Nchar(100) Không thể rỗng Email
Gender Int Không thể rỗng Giới tính
ID_Role Int Không thể rỗng Mã quyền
- Mô tả: Bảng để đăng bài đăng.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID Int Không thể rỗng Mã bài đăng
Content Varchar(1000) Không thể rỗng Nội dung
Posting_Time Datetime Không thể rỗng Ngày đăng bài
Status Tinyint(1) Có thể rỗng Trạng thái
ID_User Int Có thể rỗng Mã người dùng
ID_Category Int Có thể rỗng Mã danh mục
❖ Bảng tham gia sự kiện (event_joins)
- Mô tả: Bảng để lưu thông tin tham gia sự kiện.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID Int Không thể rỗng
Mã sự kiện tham gia
Status Tinyint Không thể rỗng Trạng thái
Contibute_devi ces Varchar(100) Không thể rỗng Dụng cụ đóng góp
Number_Contr ibute Int Không thể rỗng Số lượng dụng cụ đóng góp
ID_User Int Có thể rỗng Mã người dùng
ID_Event Int Có thể rỗng Mã sự kiện
- Mô tả: Bảng để lưu các thông tin về liên hệ.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID Int Không thể rỗng Mã liên hệ
Name Varchar(255) Không thể rỗng Họ và tên
Email Varchar(255) Không thể rỗng Email
Content Varchar(255) Không thể rỗng Nội dung
Title Varchar(255) Không thể rỗng Tiêu đề
SDT Nvarchar(50) Không thể rỗng Số điện thoại
Contact_date Datetime Không thể rỗng Ngày liên hệ
Kịch bản cho các use-case
Bảng 3 1 Kịch bản usecase Xem thông tin
Tên usecase Xem thông tin
Mô tả Khách hàng muốn xem các tin tức liên quan đến kiến thức về môi trường, thông tin sự kiện
Actors Người dùng Đầu vào Người dùng chọn thông tin muốn xem Đầu ra Hệ thống sẽ hiển thị chi thông tin cho người dùng
Các bước thực hiện 1 Vào website
2 Chọn thông tin mà người dùng muốn xem
3 Hệ thống hiển thị thông tin mà người dùng chọn
Các bước phát sinh Không có
Các trường hợp ngoại lệ
3.6.2 Liên hệ với người tạo sự kiện
Bảng 3 2 Kịch bản usecase Liên hệ với người tạo sự kiện
Tên usecase Liên hệ với người tạo sự kiện
Mô tả Người dùng có nhu cầu liên hệ để trao đổi về sự kiện với người tổ chức sự kiện
Actors Người dùng Đầu vào Form thông tin liên hệ Đầu ra Hệ thống sẽ hiển thị thông báo đã liên hệ thành công cho khách hàng
Các bước thực hiện 1 Vào website
2 Chọn mục liên hệ ở phần menu
3 Hiển thị form liên hệ
4 Khách hàng nhập thông tin
5 Hiển thị thông báo đã liên hệ thành công
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
Bảng 3 3 Kịch bản usecase Đăng ký làm thành viên
Tên usecase Đăng ký thành viên
Actors Người dùng Đầu vào Form đăng ký thông tin người dùng Đầu ra Hệ thống thông báo đăng ký thành công
Các bước thực hiện 1 Vào website
2 Đăng ký tài khoản thành viên
2 Điền thông tin người dùng
4 Hệ thống kiểm tra và thông báo đăng ký thành công
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
Bảng 3 4 Kịch bản usecase Đăng nhập
Mô tả Thành viên và Quản trị viên đăng nhập hệ thống
Actors Thành viên, Quản trị viên Đầu vào Tên đăng nhập và mật khẩu Đầu ra Hệ thống thông báo đăng nhập thành công
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản và mật khẩu
3 Hệ thống kiểm tra và thống báo đăng nhập thành công
Các bước phát sinh Không có
Các trường hợp ngoại lệ
Actor đăng nhập sai tên đăng nhập hoặc mật khẩu -> usecase quay về bước 1
3.6.5 Đăng bài tổ chức sự kiện
Bảng 3 5 Kịch bản usecase Đăng bài tổ chức sự kiện
Tên usecase Đăng sự kiện
Mô tả Người tổ chức sự kiện đăng bài sự kiện cho người dùng tham gia
Actors Người dùng Đầu vào Form đăng bài Đầu ra Hiển thị sự kiện người tổ chức sự kiện đăng
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
3 Chọn mục sự kiện -> Chọn nút thêm mới sự kiện
4 Nhập thông tin sự kiện
5 Hiển thị sự kiện đã đăng
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
3.6.6 Cập nhật thông tin cá nhân
Bảng 3 6 Kịch bản usecase Cập nhật thông tin cá nhân
Tên usecase Cập nhật thông tin cá nhân
Mô tả Người dùng muốn cập nhật thông tin cá nhân
Actors Người dùng Đầu vào Thông tin cá nhân Đầu ra Hiển thị cập nhật thông tin cá nhân thành công
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
3 Chọn mục thông tin cá nhân
5 Hiển thị cập nhật thông tin cá nhân thành công
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
3.6.7 Xem thông tin sự kiện
Bảng 3 7 Kịch bản usecase Xem thông tin sự kiện
Tên usecase Xem thông tin sự kiện
Mô tả Người dùng xem thông tin chi tiết của sự kiện
Actors Người dùng Đầu vào Danh sách sự kiện Đầu ra Hiển thị thông tin chi tiết sự kiện
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
4 Chọn vào sự kiện muốn xem
5 Hiển thị thông tin chi tiết sự kiện
Các bước phát sinh Không có
Các trường hợp ngoại lệ
3.6.8 Xem chi tiết thông tin liên hệ của người dùng
Bảng 3 8 Kịch bản usecase Xem chi tiết thông tin liên hệ
Tên usecase Xem chi tiết thông tin lên hệ của người dùng
Mô tả Người tổ chức sự kiện xem chi tiết thông tin liên hệ của người dùng
Actors Người dùng Đầu vào Danh sách người dùng liên hệ Đầu ra Hiển thị thông tin liên hệ của người dùng
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
3 Chọn mục quản lý tin chung
4 Chọn quản lý liên hệ
5 Hiển thị danh sách người dùng đã liên hệ
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
3.6.9 Xem thông tin và duyệt người tham gia sự kiện
Bảng 3 9 Kịch bản usecase Xem thông tin người tham gia sự kiện
Tên usecase Xem thông tin và duyệt người tham gia sự kiện
Mô tả Người tổ chức sự kiện xem thông tin và duyệt người tham gia sự kiện
Actors Người dùng Đầu vào Form thông tin người dùng Đầu ra Form thông tin người dùng chi tiết, tình trạng người dùng tham gia vào
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
4 Chọn mục danh sách thành viên tham gia sự kiện -> hiển thị danh sách
5 Chọn người dùng muốn xem -> xem chi tiết
6 Hiển thị thông tin chi tiết người dùng
7 Chọn button “Duyệt” để duyệt thành viên tham gia sự kiện
8 Chọn button “Từ chối” để từ chối người tham gia sự kiện
9 Hệ thống thông báo duyệt/từ chối người tham gia thành công
Các bước phát sinh Không có
Các trường hợp Không có ngoại lệ
3.6.10 Tham gia/hủy tham gia sự kiện
Bảng 3 10 Kịch bản usecase Tham gia/hủy tham gia sự kiện
Tên usecase Tham gia/hủy tham gia sự kiện
Mô tả Người dùng chọn tham gia hoặc không tham gia sự kiện
Actors Người dùng Đầu vào Form sự kiện Đầu ra Hệ thống thông báo tham gia/ hủy tham gia thành công
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
4 Chọn mục sự kiện đang có -> hiển thị danh sách sự kiện
5 Chọn sự kiện cần tương tác
6 Chọn button “Tham gia” để tham gia sự kiện
7 Chọn button “Hủy” để hủy tham gia sự kiện
8 Hệ thống thông báo tham gia/ hủy tham gia thành công
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
3.6.11 Đóng góp dụng cụ cho sự kiện
Bảng 3 11 Kịch bản usecase Đóng góp dụng cụ cho sự kiện
Tên usecase Đóng góp dụng cụ cho sự kiện
Mô tả Người tham gia sự kiện sẽ đóng góp dụng cụ cho sự kiện
Actors Người dùng Đầu vào Form đóng góp dụng cụ Đầu ra Hiển thị thông báo đang chờ xác nhận đóng góp
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
5 Chọn đóng góp dụng cụ
6 Nhập thông tin dụng cụ
7 Hiển thị thông báo đang chờ xác nhận đóng góp dụng cụ
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
3.6.12 Duyệt dụng cụ đóng góp của người dùng
Bảng 3 12 Kịch bản usecase Duyệt dụng cụ đóng góp của người dùng
Tên usecase Duyệt dụng cụ
Mô tả Chủ sự kiện duyệt dụng cụ mà người dùng đóng góp
Actors Người dùng Đầu vào Form đóng góp dụng cụ Đầu ra Hiển thị thông báo duyệt dụng cụ thành công
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
5 Chọn đóng góp dụng cụ
6 Chọn button “Duyệt” để chấp nhận dụng cụ
7 Chọn button “Từ chối” để từ chối dụng cụ
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
Bảng 3 13 Kịch bản usecase Bình luận
Mô tả Người dùng bình luận và trả lời bình luận
Actors Người dùng Đầu vào Form bình luận Đầu ra Hiển thị thông báo bình luận thành công
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
3 Chọn mục sự kiện-> hiển thị danh sách sự kiện
4 Chọn sự kiện muốn bình luận->bình luận
5 Nhập nội dung bình luận -> bấm nút submit
Các bước phát sinh Không có
Các trường hợp ngoại lệ
3.6.14 Xem thông người tạo sự kiện
Bảng 3 14 Kịch bản usecase Xem thông tin người tạo sự kiện
Tên usecase Xem thông tin người tạo sự kiện
Mô tả Quản trị viên muốn xem thông tin người tạo sự kiện
Actors Quản trị viên Đầu vào Danh sách thông tin người tạo sự kiện Đầu ra Hiển thị thông tin người tạo sự kiện
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản người dùng
4 Chọn mục danh sách sự kiện -> hiển thị danh sách
5 Chọn một sự kiện-> xem chi tiết
5 Chọn người tạo sự kiện->xem chi tiết
6 Hiển thị thông tin chi tiết người tạo sự kiện
Các bước phát sinh Không có
Các trường hợp ngoại lệ
3.6.15 Cập nhật danh mục thông tin
Bảng 3 15 Kịch bản usecase Cập nhật danh mục thông tin
Tên usecase Cập nhật danh mục thông tin
Mô tả Quản trị viên muốn cập nhật thông tin
Actors Quản trị viên Đầu vào Form danh mục thông tin Đầu ra Form danh mục thông tin được cập nhật
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản quản trị viên
3 Chọn mục quản lý chung
4 Chọn quản lý danh mục thông tin
5 Chọn button “Thêm” để thêm mới thông tin
6 Chọn button “Sửa” để sửa thông tin
7 Chọn button “Xóa” để xóa thông tin
8 Nhập thông tin danh mục thông tin cần cập nhật
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
Bảng 3 16 Kịch bản usecase Thống kê
Mô tả Người dùng, Quản trị viên có thể xem thống kê sự kiện
Actors Người dùng, Quản trị viên Đầu vào Số lượng người tham gia, số lượng dụng cụ Đầu ra Giao diện thống kê
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản quản trị viên
4 Hiện thị giao diện thống kê
Các bước phát sinh Không có
Các trường hợp ngoại lệ
3.6.17 Duyệt bài đăng tổ chức sự kiện
Bảng 3 17 Kịch bản usecase duyệt bài đăng tổ chức sự kiện
Tên usecase Duyệt bài đăng tổ chức sự kiện
Mô tả Quản trị viên duyệt bài đăng tổ chức sự kiện
Actors Quản trị viên Đầu vào Form thông tin sự kiện Đầu ra Hiển thị thông báo đã duyệt hoặc đã từ chối sự kiện
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản quản trị viên
4 Chọn mục danh sách sự kiện đang chờ->hiển thị danh sách
7 Chọn button “Duyệt” để duyệt sự kiện được đăng
8 Chọn button “Từ chối” để từ chối sự kiện được đăng
9 Hệ thống thông báo duyệt/từ chối bài đăng sự kiện thành công
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
3.6.18 Xác nhận tiến hành sự kiện
Bảng 3 18 Kịch bản usecase xác nhận tiến hành sự kiện
Tên usecase Xác nhận tiến hành sự kiện
Mô tả Quản trị viên xác nhận tiến hành sự kiện
Actors Quản trị viên Đầu vào Form thông tin sự kiện Đầu ra Hiển thị thông báo tiến hành hoặc hủy sự kiện
Các bước thực hiện 1 Vào website
2 Đăng nhập tài khoản quản trị viên
4 Chọn mục danh sách sự kiện ->hiển thị danh sách
7 Chọn button “Xác nhận” để xác nhận sự kiện được tiến hành
8 Chọn button “Hủy” để hủy sự kiện
9 Hệ thống thông báo xác nhận/hủy sự kiện thành công
Các bước phát sinh Không có
Các trường hợp ngoại lệ Không có
THIẾT KẾ HỆ THỐNG WEBSITE
Giao diện trang người dùng
4.1.1 Giao diện trang đăng nhập
Hình 4 1 Giao diện trang đăng nhập
Hình 4 2 Giao diện trang chủ
4.1.3 Giao diện trang thông tin
Hình 4 3 Giao diện trang thông tin
4.1.4 Giao diện trang sự kiện
Hình 4 4 Giao diện trang sự kiện
4.1.5 Giao diện trang thêm sự kiện
Hình 4 5 Giao diện trang thêm sự kiện 4.1.6 Giao diện trang danh sách sự kiện của tôi
Hình 4 6 Giao diện trang danh sách sự kiện của tôi
4.1.7 Giao diện trang thông tin sự kiện
Hình 4 7 Giao diện trang thông tin sự kiện 4.1.8 Giao diện trang danh sách sự kiện đã tham gia
Hình 4 8 Giao diện trang danh sách sự kiện đã tham gia
Giao diện trang administrator
4.2.1 Giao diện trang quản lý sự kiện
Hình 4 9 Giao diện trang quản lý sự kiện 4.2.2 Giao diện trang chi tiết sự kiện
Hình 4 10 Giao diện trang chi tiết sự kiện
4.2.3 Giao diện trang lúc chưa đăng nhập
Hình 4 11Giao diện lúc chưa đăng nhập
- Hoàn thành đúng thời hạn, tiến độ được giao.
- Đã cố gắng bám sát nhiều tiêu chí đưa ra.
- Xây dựng hệ thống quản lý tổ chức hoạt động bảo vệ môi trường.
- Xây dựng trang người dùng là một mạng xã hội, là nơi trao đổi kinh nghiệm, giao lưu giữa những người có tư tưởng giống nhau
Từng bước hoàn thiện Website tối ưu hóa quy trinh tổ chức các hoạt động sự kiện