Download Báo cáo đồ án tốt nghiệp - Hệ thống chia sẻ tài liệu trực tuyến - Đại Học Thủy Lợi and more Study Guides, Projects, Research Web Application Development in PDF only on Docsity!
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ NÔNG NGHIỆP VÀ PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI
HOÀNG NHẬT MINH
XÂY DỰNG HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾN
ĐỒ ÁN TỐT NGHIỆP
HÀ NỘI, NĂM 2023
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ NÔNG NGHIỆP VÀ PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI
HOÀNG NHẬT MINH
XÂY DỰNG HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾN Ngành : Kỹ thuật phần mềm Mã số: 7480103 NGƯỜI HƯỚNG DẪN TS. Nguyễn Thọ Thông HÀ NỘI, NĂM 2023
Nội dung cần thuyết minh Tỷ lệ % MỞ ĐẦU 5% Chương 1: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT 10% Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 40% Chương 3: THỰC NGHIỆM, SO SÁNH VÀ ĐÁNH GIÁ 40% KẾT LUẬN 5%
4. GIÁO VIÊN HƯỚNG DẪN TỪNG PHẦN Phần Họ tên giáo viên hướng dẫn MỞ ĐẦU TS. Nguyễn Thọ Thông Chương 1: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG Chương 3: THỰC NGHIỆM, SO SÁNH VÀ ĐÁNH GIÁ KẾT LUẬN 5. NGÀY GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Ngày ............ tháng ......... năm 2023 Trưởng Bộ môn (Ký và ghi rõ Họ tên) Giáo viên hướng dẫn chính (Ký và ghi rõ Họ tên) Nhiệm vụ Đồ án tốt nghiệp đã được Hội đồng thi tốt nghiệp của Khoa thông qua Ngày.... .tháng.... .năm 2023 Chủ tịch Hội đồng (Ký và ghi rõ Họ tên) Sinh viên đã hoàn thành và nộp bản Đồ án tốt nghiệp cho Hội đồng thi ngày... tháng... năm 2023
Sinh viên làm Đồ án tốt nghiệp (Ký và ghi rõ Họ tên)
● Tìm hiểu về object storage MinIO. ● Tìm hiểu sâu hơn về SEO website Kỹ năng ● Tự động hóa các khâu kiểm duyệt, lọc và xử lý tài liệu ● Ứng dụng Elasticsearch để tối ưu tìm kiếm và kết hợp với full-text search để giúp cho người dùng có thể tìm được tài liệu mong muốn một cách nhanh chóng và chính xác nhất ● Tích hợp chức năng trả phí cho tài liệu để người bán có doanh thu và dự án có kinh phí duy trì và phát triển ● Tích hợp được AI để xử lý , nhận diện hình ảnh có trong các tài liệu ● SEO website để đưa lên top tìm kiếm của google, bing KẾT QUẢ DỰ KIẾN Kiến thức ● Sinh viên hiểu được cách triển khai và quản lý hệ thống tài liệu trực tuyến một cách hiệu quả. ● Sinh viên hiểu được về các chuẩn và quy định liên quan đến bảo mật thông tin trong hệ thống chia sẻ tài liệu trực tuyến. ● Sinh viên nắm rõ các kỹ thuật phân tích và xử lý dữ liệu liên quan đến hệ thống chia sẻ tài liệu trực tuyến. ● Sinh viên có khả năng phát triển và tùy biến hệ thống chia sẻ tài liệu trực tuyến để phù hợp với nhu cầu sử dụng của khách hàng. Kỹ năng ● Sinh viên ứng dụng cài đặt thành công chương trình trên ngôn ngữ lập trình PHP cùng với framework Laravel về hệ thống chia sẻ tài liệu.
● Sinh viên sẽ trang bị kỹ năng làm việc với Elasticsearch, xử lý dữ liệu lớn, tối ưu hóa tìm kiếm để đáp ứng nhu cầu tìm kiếm tài liệu của người dùng. ● Sinh viên sẽ có khả năng áp dụng các công nghệ AI/ML trong việc xử lý hình ảnh, giúp cho việc tìm kiếm tài liệu trở nên hiệu quả hơn và chính xác hơn. ● Thu thập tài liệu và xử lí tài liệu. ● Sinh viên có khả năng thiết kế và triển khai hệ thống chia sẻ tài liệu trực tuyến một cách chuyên nghiệp. ● Sinh viên có khả năng nghiên cứu và áp dụng các công nghệ mới nhất để nâng cao hiệu suất và tính năng của hệ thống chia sẻ tài liệu trực tuyến. TÀI LIỆU THAM KHẢO [1] Framework laravel: https://laravel.com/ [2] Search engine Elasticsearch: https://www.elastic.co/ [3] Object storage MinIO : https://min.io/ [4] Detectron2 – Meta AI : https://ai.facebook.com/tools/detectron2/
LỜI CÁM ƠN
Em xin gửi lời cảm ơn chân thành đến TS. Nguyễn Thọ Thông, Ban giám hiệu và toàn thể các giảng viên tại Trường Đại Học Thủy Lợi. Trước hết, em muốn bày tỏ lòng biết ơn sâu sắc đến TS. Nguyễn Thọ Thông, người đã đồng hành và hỗ trợ em trong suốt quá trình thực hiện đồ án tốt nghiệp. Em rất biết ơn vì những lời khuyên quý báu và sự đồng hành của TS. Nguyễn Thọ Thông trong quá trình thực hiện đồ án. Em cũng xin gửi lời cảm ơn chân thành đến Ban giám hiệu và toàn thể các giảng viên của trường Đại Học Thủy Lợi. Sự tận tâm và nhiệt huyết của các Thầy/Cô đã giúp em thu nhận một cách tốt hơn những kiến thức quý báu và phát triển bản thân sâu hơn về kiến thức trong ngành. Em rất biết ơn vì sự cống hiến không ngừng của quý Thầy/Cô trong việc truyền đạt kiến thức và tạo điều kiện tốt nhất để em phát triển. Trong quá trình thực hiện đồ án, dù đã nhận được sự hướng dẫn nhiệt tình từ TS. Nguyễn Thọ Thông và sự nỗ lực không ngừng, em nhận thức rằng sẽ luôn tồn tại những hạn chế không tránh khỏi. Em luôn sẵn lòng tiếp nhận và đánh giá cao mọi đóng góp và phản hồi từ TS. Nguyễn Thọ Thông, Ban giám hiệu và các giảng viên, vì đó đóng vai trò vô cùng quan trọng và mang ý nghĩa lớn trong việc hoàn thiện đồ án tốt nghiệp của em. Cuối cùng, em xin chân thành cảm ơn TS. Nguyễn Thọ Thông, Ban giám hiệu và toàn thể các giảng viên vì sự hỗ trợ và đóng góp quý báu của Thầy/Cô trong hành trình học tập và nghiên cứu của em. Em xin chân thành cảm ơn! ii
MỤC LỤC
DANH MỤC CÁC HÌNH ẢNH....................................................................................v DANH MỤC BẢNG BIỂU........................................................................................viii
- CHƯƠNG 1 TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT................................................ DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ.................x
- 1.1 Giới thiệu.................................................................................................................
- 1.1.1 Lý do chọn đề tài..................................................................................................
- 1.1.2 Mục tiêu nghiên cứu.............................................................................................
- 1.1.3 Phạm vi nghiên cứu..............................................................................................
- 1.1.4 Ý nghĩa thực tiễn...................................................................................................
- 1.2 Cơ sở lý thuyết.........................................................................................................
- 1.3 Công nghệ sử dụng..................................................................................................
- 1.3.1 Ngôn ngữ lập trình................................................................................................
- 1.3.2 Hệ quản trị cơ sở dữ liệu MySQL [4]...................................................................
- 1.3.3 Framework Laravel [5].........................................................................................
- 1.3.4 Công cụ quản lý source code................................................................................
- CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG.....................................................
- 2.1 Đặc tả yêu cầu phần mềm........................................................................................
- 2.1.1 Mô tả chung..........................................................................................................
- 2.1.2 Về giao diện..........................................................................................................
- 2.2 Biểu đồ phân cấp chức năng..................................................................................
- 2.3 Use Case của các tác nhân trong hệ thống.............................................................
- 2.4 Thiết kế chi tiết hệ thống.......................................................................................
- 2.4.1 Biểu đồ use case..................................................................................................
- 2.4.2 Bản mô tả yêu cầu chức năng.............................................................................
- 2.4.3 Bản mô tả yêu cầu phi chức năng.......................................................................
- 2.5 Thiết kế cơ sở dữ liệu.............................................................................................
- 2.5.1 Các bảng trong CSDL.........................................................................................
- 2.5.2 Sơ đồ quan hệ CSDL..........................................................................................
- CHƯƠNG 3 THỰC NGHIỆM, SO SÁNH VÀ ĐÁNH GIÁ KẾT QUẢ....................
- 3.1 Môi trường thực nghiệm........................................................................................
- 3.2 Kết quả đạt được....................................................................................................
- 3.2.1 Về phía admin:....................................................................................................
- 3.2.2 Về phía người dùng.............................................................................................
- 3.3 So sánh kết quả với các hệ thống tương đương......................................................
- 3.3.1 Giới thiệu các hệ thống tương đương..................................................................
- 3.3.2 Tiêu chí so sánh các hệ thống.............................................................................
- 3.3.3 Bảng so sánh kết quả giữa hệ thống của đề tài và các hệ thống tương đương.....
- 3.4 Đánh giá kết quả....................................................................................................
- 3.4.1 Phân tích và đánh giá kết quả thực nghiệm.........................................................
- 3.4.2 Đánh giá tổng thể kết quả đề tài..........................................................................
- 3.5 Hạn chế..................................................................................................................
- 3.5.1 Phân tích và đánh giá các hạn chế của đề tài.......................................................
- 3.5.2 Đề xuất các hướng nghiên cứu tiếp theo để khắc phục các hạn chế của đề tài....
- 3.6 Đề xuất hướng phát triển đề tài trong tương lai.....................................................
- KẾT LUẬN.................................................................................................................
- TÀI LIỆU THAM KHẢO...........................................................................................
- Hình 1.1 Chu kỳ mô hình MVC trong laravel............................................................... DANH MỤC CÁC HÌNH ẢNH
- Hình 2.1 Biểu đồ Use case tổng quát..........................................................................
- Hình 2.2 Biểu đồ use case phân rã chức năng của Admin..........................................
- Hình 2.4 Biểu đồ use case phân rã chức năng của khách vãng lai..............................
- Hình 2.3 Biểu đồ use case phân rã chức năng của người dùng...................................
- Hình 2.5 Sơ đồ activity chức năng “quản lý tài liệu” của admin.................................
- Hình 2.6 Sơ đồ tuần tự chức năng “quản lý tài liệu” của admin.................................
- Hình 2.7 Sơ đồ activity chức năng “lọc/tìm kiếm tài liệu” của admin........................
- Hình 2.8 Sơ đồ activity chức năng “quản lý tài khoản người dùng” của admin..........
- Hình 2.9 Sơ đồ activity chức năng “xoá tài khoản người dùng” của admin................
- Hình 2.10 Sơ đồ tuần tự chức năng “quản lý tài khoản người dùng” của admin.........
- Hình 2.11 Sơ đồ activity chức năng “đăng nhập” của người dùng..............................
- Hình 2.12 Sơ đồ tuần tự chức năng “đăng nhập” của người dùng..............................
- Hình 2.13 Sơ đồ activity chức năng “quên mật khẩu” của người dùng.......................
- Hình 2.14 Sơ đồ tuần tự chức năng “quên mật khẩu” của người dùng........................
- Hình 2.15 Sơ đồ activity chức năng “đăng ký tài khoản” của người dùng..................
- Hình 2.16 Sơ đồ tuần tự chức năng “đăng ký tài khoản” của người dùng...................
- Hình 2.17 Sơ đồ activity chức năng “tải tài liệu” của người dùng..............................
- Hình 2.18 Sơ đồ tuần tự chức năng “tải tài liệu” của người dùng...............................
- Hình 2.19 Sơ đồ activity chức năng “đánh giá tài liệu” của người dùng.....................
- Hình 2.20 Sơ đồ tuần tự chức năng “đánh giá tài liệu” của người dùng.....................
- Hình 2.21 Sơ đồ activity chức năng “nạp tiền vào tài khoản” của người dùng...........
- Hình 2.22 Sơ đồ tuần tự chức năng “nạp tiền vào tài khoản” của người dùng............
- Hình 2.23 Sơ đồ activity chức năng “đăng tài liệu” của người dùng..........................
- Hình 2.24 Sơ đồ tuần tự chức năng “đăng tài liệu” của người dùng...........................
- Hình 2.25 Sơ đồ activity chức năng “cập nhật thông tin tài khoản” của người dùng.
- Hình 2.26 Sơ đồ tuần tự chức năng “cập nhật thông tin tài khoản” của người dùng...
- Hình 2.27 Sơ đồ activity chức năng “quản lý tài liệu đã đăng” của người dùng..........
- Hình 2.28 Sơ đồ tuần tự chức năng “quản lý tài liệu đã đăng” của người dùng..........
- Hình 2.29 Sơ đồ quan hệ CSDL..................................................................................
- Hình 3.1 Giao diện đăng nhập admin..........................................................................
- Hình 3.2 Trang quản lý người dùng............................................................................
- Hình 3.3 Trang tạo mới người dùng............................................................................
- Hình 3.4 Trang cập nhật thông tin người dùng...........................................................
- Hình 3.5 Trang quản lý danh mục...............................................................................
- Hình 3.6 Trang thêm danh mục..................................................................................
- Hình 3.7 Trang cập nhật danh mục.............................................................................
- Hình 3.8 Trang quản lý tài liệu...................................................................................
- Hình 3.9 Trang thêm mới tài liệu................................................................................
- Hình 3.10 Trang cập nhật thông tin tài liệu.................................................................
- Hình 3.11 Trang thống kê lượt tải xuống....................................................................
- Hình 3.12 Trang quản lý tags......................................................................................
- Hình 3.13 Trang thêm mới tags..................................................................................
- Hình 3.14 Trang cập nhật thông tin của tags...............................................................
- Hình 3.15 Trang thống kê comment...........................................................................
- Hình 3.16 Trang thống kê báo cáo tài liệu..................................................................
- Hình 3.17 Trang thống kê giao dịch............................................................................
- Hình 3.18 Trang chủ...................................................................................................
- Hình 3.19 Trang chủ...................................................................................................
- Hình 3.20 Trang đăng nhập........................................................................................
- Hình 3.21 Trang đăng ký............................................................................................
- Hình 3.22 Trang lấy lại mật khẩu...............................................................................
- Hình 3.23 Trang setting..............................................................................................
- Hình 3.25 Trang danh sách tài liệu theo danh mục.....................................................
- Hình 3.28 Giao diện báo cáo tài liệu...........................................................................
- Hình 3.26 Trang đọc tài liệu.......................................................................................
- Hình 3.27 Trang đọc tài liệu.......................................................................................
- Hình 3.31 Giao diện chọn hình thức nạp tiền..............................................................
- Hình 3.33 Giao diện thanh toán bằng VNPay.............................................................
- Hình 3.35 Giao diện thanh toán bằng Paypal..............................................................
- Hình 3.37 Giao diện danh sách các tài liệu đã tải xuống.............................................
- Hình 3.38 Giao diện đăng tài liệu...............................................................................
- Hình 3.40 Trang quản lý tài liệu đã đăng....................................................................
- Hình 3.41 Trang cập nhật thông tin tài liệu.................................................................
- Hình 3.42 Chức năng xóa tài liệu................................................................................
- Hình 3.44 Trang tổng hợp comment của người dùng..................................................
- Hình 3.45 Trang tìm kiếm tài liệu...............................................................................
- Bảng 2.1 Kịch bản use case kiểm duyệt liệu................................................................ DANH MỤC BẢNG BIỂU
- Bảng 2.2 Kịch bản use case tìm kiếm tài liệu..............................................................
- Bảng 2.3 Kịch bản use case thêm tài khoản người dùng..............................................
- Bảng 2.4 Kịch bản use case cập nhật thông tin người dùng.........................................
- Bảng 2.5 Kịch bản use case xóa tài khoản người dùng................................................
- Bảng 2.6 Kịch bản use case quản lý giao dịch.............................................................
- Bảng 2.7 Kịch bản use case thống kê thông tin............................................................
- Bảng 2.8 Kịch bản use case đăng nhập........................................................................
- Bảng 2.9 Kịch bản use case cho chức năng lấy lại mật khẩu.......................................
- Bảng 2.10 Kịch bản use case đăng ký tài khoản..........................................................
- Bảng 2.11 Kịch bản use case cho chức năng tải tài liệu...............................................
- Bảng 2.12 Kịch bản use case cho chức năng đánh giá tài liệu.....................................
- Bảng 2.13 Kịch bản use case xem danh sách tài liệu đã tải..........................................
- Bảng 2.14 Kịch bản use case cho chức năng nạp tiền vào tài khoản............................
- Bảng 2.15 Kịch bản use case cho chức năng đăng tài liệu...........................................
- Bảng 2.16 Kịch bản use case cập nhật thông tin cá nhân.............................................
- Bảng 2.17 Kịch bản use case quản lý tài liệu đã đăng..................................................
- Bảng 2.18 Bảng users..................................................................................................
- Bảng 2.19 Bảng roles...................................................................................................
- Bảng 2.20 Bảng permissions........................................................................................
- Bảng 2.21 Bảng role_has_permissions........................................................................
- Bảng 2.22 Bảng model_has_roles................................................................................
- Bảng 2.23 Bảng model_has_permissions.....................................................................
Bảng 2.24 Bảng categories.......................................................................................... 46 Bảng 2.25 Bảng documents......................................................................................... 47 Bảng 2.26 Bảng comments.......................................................................................... 48 Bảng 2.27 Bảng tags.................................................................................................... 48 Bảng 2.28 Bảng document_tag.................................................................................... 48 Bảng 2.29 Bảng download........................................................................................... 48 Bảng 2.30 Bảng reports............................................................................................... 49 Bảng 2.31 Bảng payment............................................................................................. 49 Bảng 2.32 Bảng payment_document........................................................................... 50 Bảng 3.1 Bảng so sánh kết quả giữa hệ thống của đề tài và các hệ thống tương đương ..................................................................................................................................... 73 ix
CHƯƠNG 1 TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu 1.1.1 Lý do chọn đề tài Đầu tiên, trong thời đại công nghệ số hiện đại, việc chia sẻ và truy cập tài liệu trực tuyến đang trở thành xu hướng phổ biến. Em quan tâm đến việc xây dựng một hệ thống hiệu quả và tiện lợi để người dùng có thể dễ dàng chia sẻ và tìm kiếm các tài liệu cần thiết. Thứ hai, hệ thống chia sẻ tài liệu online có thể đáp ứng nhu cầu học tập và nghiên cứu của sinh viên và người dùng chung. Em tin rằng việc cung cấp một nền tảng thuận tiện cho việc chia sẻ kiến thức và tài liệu sẽ góp phần thúc đẩy quá trình học tập và nghiên cứu, tạo điều kiện thuận lợi cho việc trao đổi thông tin và tương tác giữa các thành viên trong cộng đồng. Thứ ba, việc phát triển một hệ thống chia sẻ tài liệu trực tuyến là một thách thức hấp dẫn và mang tính thực tiễn cao. Em muốn áp dụng những kiến thức và kỹ năng đã học trong quá trình đào tạo để tạo ra một sản phẩm có giá trị thực tiễn và có khả năng ứng dụng rộng rãi trong thực tế. Cuối cùng, em tin rằng việc nghiên cứu và xây dựng hệ thống chia sẻ tài liệu trực tuyến sẽ là một bước ngoặt quan trọng trong sự phát triển cá nhân và sự chuẩn bị cho sự nghiệp sau này. Em hy vọng rằng qua việc thực hiện đề tài này, em sẽ có cơ hội rèn luyện và nâng cao kỹ năng lập trình, quản lý dự án và tư duy phân tích, đồng thời đóng góp vào việc xây dựng một hệ thống hữu ích và có giá trị cho cộng đồng. 1.1.2 Mục tiêu nghiên cứu Mục tiêu nghiên cứu của đề tài "Hệ thống chia sẻ tài liệu trực tuyến" là xây dựng một nền tảng tốt cho việc chia sẻ và truy cập tài liệu trực tuyến. Cụ thể, mục tiêu của nghiên cứu bao gồm: Phân tích và đánh giá các yêu cầu và nhu cầu của người dùng về việc chia sẻ và truy cập tài liệu trực tuyến. Điều này giúp hiểu rõ hơn về các tính năng và chức năng cần có trong hệ thống. 1
Thiết kế và triển khai một giao diện hệ thống thân thiện và dễ sử dụng cho người dùng. Đây là mục tiêu quan trọng để đảm bảo tính tiện ích và thuận lợi cho người dùng khi sử dụng hệ thống. Phát triển cơ chế quản lý tài liệu, bao gồm việc lưu trữ, phân loại và tìm kiếm thông tin. Mục tiêu là tạo ra một cơ sở dữ liệu hiệu quả và có tổ chức, giúp người dùng dễ dàng tìm kiếm và truy cập tài liệu mong muốn. Đảm bảo tính bảo mật và quyền riêng tư trong quá trình chia sẻ tài liệu. Mục tiêu này là đảm bảo rằng chỉ những người được phép mới có thể truy cập và sử dụng tài liệu, bảo vệ quyền riêng tư của người dùng. Kiểm thử và đánh giá hiệu suất của hệ thống. Mục tiêu là đảm bảo rằng hệ thống hoạt động một cách ổn định, đáp ứng yêu cầu và tối ưu hóa hiệu suất trong việc chia sẻ và truy cập tài liệu. Tổng quan, mục tiêu của nghiên cứu là xây dựng một hệ thống chia sẻ tài liệu trực tuyến hiệu quả, tiện lợi và an toàn, đáp ứng nhu cầu của người dùng trong việc chia sẻ, truy cập và quản lý tài liệu trực tuyến. 1.1.3 Phạm vi nghiên cứu Phạm vi nghiên cứu của đề tài "Hệ thống chia sẻ tài liệu trực tuyến" sẽ tập trung vào các khía cạnh sau: Thiết kế và triển khai hệ thống: Nghiên cứu sẽ tập trung vào việc thiết kế và triển khai một hệ thống chia sẻ tài liệu online hoàn chỉnh. Điều này bao gồm xác định các tính năng, chức năng và giao diện người dùng cần có trong hệ thống, cùng với việc xây dựng cơ sở dữ liệu để lưu trữ và quản lý tài liệu. Quản lý tài liệu: Nghiên cứu sẽ tập trung vào các khía cạnh quản lý tài liệu, bao gồm phân loại, tổ chức và tìm kiếm thông tin. Mục tiêu là tạo ra một hệ thống quản lý tài liệu hiệu quả, cho phép người dùng dễ dàng tìm kiếm, truy cập và tải xuống tài liệu theo yêu cầu. Bảo mật và quyền riêng tư: Nghiên cứu sẽ xem xét các biện pháp bảo mật và quyền riêng tư trong việc chia sẻ tài liệu trực tuyến. Mục tiêu là đảm bảo rằng chỉ những người được phép mới có thể truy cập và sử dụng tài liệu, đồng thời bảo vệ thông tin cá nhân của người dùng. 2