Ngoài ra, hệ thống cũng cung cấp các công cụ để quản lý tàiliệu, cho phép người dùng xác định quyền truy cập cho từng tài liệu, thực hiện các thaotác như chuyển từ miễn phí sang có phí v
TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT
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. x
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.
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.
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. xi
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.
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.
Hiệu suất và tối ưu hóa: Nghiên cứu sẽ tập trung vào việc 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, phạm vi nghiên cứu của đề tài sẽ tập trung vào việc xây dựng một hệ thống chia sẻ tài liệu trực tuyến đầy đủ tính năng, hiệu quả và an toàn, cùng với việc tối ưu hóa hiệu suất và đáp ứng yêu cầu của người dùng.
Cơ sở lý thuyết
Cơ sở lý thuyết của đề tài "Hệ thống chia sẻ tài liệu trực tuyến" có thể dựa trên các nguyên lý và khái niệm sau đây:
Mạng máy tính: Đề tài này có thể dựa trên cơ sở lý thuyết của mạng máy tính, bao gồm các khái niệm về giao thức truyền thông, mô hình client-server, mạng LAN/WAN và các phương pháp kết nối và truyền dữ liệu trên mạng. xiii
Hệ thống quản lý tài liệu: Cơ sở lý thuyết về hệ thống quản lý tài liệu bao gồm các khái niệm về cấu trúc dữ liệu, quản lý metadata, cơ chế tìm kiếm và phân loại tài liệu. Nghiên cứu trong lĩnh vực này giúp xây dựng hệ thống có khả năng tổ chức và quản lý tài liệu một cách hiệu quả.
Hệ thống cơ sở dữ liệu: Cơ sở lý thuyết về hệ thống cơ sở dữ liệu cung cấp các nguyên tắc về thiết kế, truy vấn và xử lý dữ liệu Nghiên cứu trong lĩnh vực này giúp xây dựng hệ thống có khả năng lưu trữ và truy xuất dữ liệu tài liệu một cách an toàn và hiệu quả.
An ninh và bảo mật: Cơ sở lý thuyết về an ninh và bảo mật đảm bảo rằng hệ thống chia sẻ tài liệu online được bảo vệ khỏi các mối đe dọa và xâm nhập Nghiên cứu trong lĩnh vực này tập trung vào các phương pháp mã hóa, chứng thực và kiểm soát truy cập để đảm bảo tính bảo mật của dữ liệu tài liệu.
Trải nghiệm người dùng: Cơ sở lý thuyết về trải nghiệm người dùng tập trung vào việc nghiên cứu và áp dụng các nguyên tắc thiết kế giao diện người dùng và trải nghiệm người dùng để tạo ra một giao diện thân thiện và dễ sử dụng cho hệ thống chia sẻ tài liệu.
Công nghệ web: Cơ sở lý thuyết về công nghệ web bao gồm các nguyên tắc và công nghệ liên quan đến phát triển ứng dụng web, bao gồm HTML, CSS, JavaScript. Nghiên cứu trong lĩnh vực này giúp xây dựng giao diện người dùng tương tác và thân thiện trên nền tảng web.
Xử lý ngôn ngữ tự nhiên: Cơ sở lý thuyết về xử lý ngôn ngữ tự nhiên tập trung vào việc nghiên cứu và phát triển các phương pháp và công nghệ để xử lý và phân tích thông tin trong tài liệu văn bản Nghiên cứu trong lĩnh vực này giúp tăng cường khả năng tìm kiếm, phân loại và tổ chức tài liệu dựa trên nội dung và ngôn ngữ.
Từ cơ sở lý thuyết này, đề tài "Hệ thống chia sẻ tài liệu trực tuyến" có thể xây dựng một hệ thống hiệu quả, an toàn và dễ sử dụng để quản lý và chia sẻ tài liệu trong xiv
Công nghệ sử dụng
HTML (HyperText Markup Language) là một ngôn ngữ đánh dấu được sử dụng để tạo và cấu trúc nội dung trên các trang web Nó là một ngôn ngữ giao diện cho trình duyệt web, giúp hiển thị thông tin và tạo cấu trúc cho các phần tử trên trang.
HTML sử dụng các thẻ (tag) để xác định các phần tử trên trang web Mỗi thẻ bắt đầu bằng dấu nhấn mở và kết thúc bằng dấu nhấn đóng Ví dụ, thẻ < > và được sử dụng để định dạng tiêu đề cấp 1 trong HTML Các thẻ có thể chứa văn bản, hình ảnh, liên kết và nhiều phần tử khác.
CSS (Cascading Style Sheets) là một ngôn ngữ đánh dấu sử dụng để tạo kiểu và định dạng cho các phần tử trên trang web Nó giúp xác định các thuộc tính như màu sắc, kích thước, vị trí và đường viền của các phần tử, từ đó tạo nên giao diện và trải nghiệm cho người dùng.
JavaScript là một ngôn ngữ lập trình phía máy khách (client-side) được sử dụng phổ biến trong việc tạo ra các ứng dụng web động và tương tác Với JavaScript, bạn có thể thêm tính năng động, xử lý sự kiện và tương tác người dùng trực tiếp trên trình duyệt.
JavaScript được thực thi trên trình duyệt của người dùng, không cần thông qua máy chủ (server), giúp tạo ra các tác động nhanh chóng và phản hồi tức thì cho người dùng.
Nó cho phép thao tác với các phần tử HTML, thay đổi nội dung và kiểu dáng của trang, xử lý các sự kiện như nhấp chuột, gửi biểu mẫu và tương tác với dữ liệu từ máy chủ.
PHP là viết tắt của cụm từ Personal Home Page nay đã được chuyển thành Hypertext Preprocessor PHP là một ngôn ngữ lập trình phía máy chủ (server-side) phổ biến và mạnh mẽ, được sử dụng rộng rãi trong phát triển các ứng dụng web động và trang web xv tương tác PHP cho phép xử lý dữ liệu trên máy chủ và tạo ra nội dung động để gửi về cho máy khách (client).
1.3.2 Hệ quản trị cơ sở dữ liệu MySQL [CITATION htt1 \l 1033 ]
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở phổ biến Nó cung cấp một cách hiệu quả để lưu trữ và quản lý dữ liệu trong các ứng dụng web và phần mềm. MySQL sử dụng ngôn ngữ truy vấn SQL (Structured Query Language) để thao tác và tương tác với cơ sở dữ liệu.
MySQL có một cộng đồng lớn và phong phú, với nhiều tài liệu, hỗ trợ và công cụ phát triển Nó cũng tích hợp tốt với các ngôn ngữ lập trình như PHP, Python, Java và Ruby, giúp dễ dàng tương tác và làm việc với cơ sở dữ liệu trong các ứng dụng phát triển. 1.3.3 Framework Laravel [CITATION htt \l 1033 ]
Laravel là một framework phát triển ứng dụng web mạnh mẽ và linh hoạt, được tạo ra bởi Taylor Otwell vào năm 2011 Nó được xây dựng trên nền tảng của ngôn ngữ lập trình PHP và đã trở thành một trong những framework phổ biến nhất cho việc phát triển ứng dụng web hiện đại.
Một số điểm nổi bật và chi tiết hơn về Laravel bao gồm:
Cấu trúc MVC: Laravel tuân thủ mô hình MVC (Model-View-Controller), giúp phân chia rõ ràng các phần khác nhau của ứng dụng Điều này giúp cho việc quản lý và phát triển ứng dụng trở nên dễ dàng hơn bằng cách tách biệt logic xử lý dữ liệu (model), giao diện người dùng (view) và điều khiển các hoạt động (controller). xvi
Hình 1.1 Chu kỳ mô hình MVC trong laravel Routing linh hoạt: Laravel cung cấp hệ thống routing mạnh mẽ, cho phép định tuyến các URL và điều hướng yêu cầu HTTP đến các điều khiển tương ứng Điều này giúp quản lý các tác vụ và chức năng của ứng dụng một cách dễ dàng và hiệu quả.
Hỗ trợ cơ sở dữ liệu: Laravel hỗ trợ nhiều loại cơ sở dữ liệu phổ biến như MySQL, PostgreSQL, SQLite và SQL Server Framework cung cấp một ORM (Object- Relational Mapping) gọi là Eloquent ORM, giúp tương tác dễ dàng và linh hoạt với cơ sở dữ liệu thông qua các đối tượng và truy vấn dễ đọc.
Giao diện người dùng mạnh mẽ: Laravel hỗ trợ Blade, một hệ thống mẫu (template) mạnh mẽ giúp xây dựng giao diện người dùng đẹp mắt và dễ quản lý Blade cung cấp các tính năng như kế thừa mẫu, truyền dữ liệu vào mẫu, điều kiện điều chỉnh và lặp lại dữ liệu, giúp tạo ra mã HTML sạch sẽ và dễ đọc.
Bảo mật: Laravel đi kèm với các tính năng bảo mật mạnh mẽ để bảo vệ ứng dụng.
Nó cung cấp các công cụ cho xác thực người dùng, mã hóa mật khẩu, kiểm tra phân quyền và xử lý tấn công CSRF (Cross-Site Request Forgery), giúp đảm bảo tính bảo mật của ứng dụng.
1.3.4 Công cụ quản lý source code
Git [CITATION htt2 \l 1033 ]: Git là một hệ thống quản lý phiên bản phân tán (distributed version control system) được phát triển bởi Linus Torvalds vào năm 2005.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Đặc tả yêu cầu phần mềm
- Hệ thống gồm các chức năng chính: o Quản lý tài khoản người dùng o Quản lý tài liệu o Quản lý các giao dịch phát sinh trên hệ thống o Tải tài liệu o Đăng tài liệu o Nạp tiền vào tài khoản
Về phía khách vãng lai
- Giao diện đăng nhập, đăng ký.
- Giao diện quên mật khẩu
- Giao diện đọc tài liệu
- Giao diện danh sách tài liệu theo chủ đề
- Giao diện đăng nhập, đăng ký.
- Giao diện quên mật khẩu
- Giao diện đọc tài liệu
- Giao diện danh sách tài liệu theo chủ đề
- Giao diện đăng tài liệu xviii
- Giao diện cập nhật thông tin tài khoản
- Giao diện quản lý tài liệu đã đăng
- Giao diện thống kê các tài liệu đã tải xuống
- Giao diện cho chức năng nạp tiền vào tài khoản
- Giao diện trang quản lý người dùng
- Giao diện thêm người dùng
- Giao diện cập nhật người dùng
- Giao diện trang quản lý danh mục
- Giao diện thêm danh mục
- Giao diện cập nhật danh mục
- Giao diện trang quản lý tài liệu
- Giao diện thêm tài liệu
- Giao diện cập nhật tài liệu
- Giao diện thống kê lượt tải xuống tài liệu
- Giao diện trang quản lý tags
- Giao diện cập nhật tags
- Giao diện thống kê lượt bình luận trong tài liệu
- Giao diện quản lý báo cáo về tài liệu xix
Use Case của các tác nhân trong hệ thống
- UC của tác nhân Admin o Đăng nhập vào tài khoản admin o Quản lý tài khoản người dùng: Tìm kiếm, thêm mới, cập nhật và xóa tài khoản người dùng khỏi hệ thống xx
H thốống chia s ệ ẻ tài li u tr c ệ ự tuyếốn
Qu n lý ng ả ườ i dùng
C p nh t thống ậ ậ 琀椀n cá nhân Đ c tài li u ọ ệ
N p 琀椀ếền vào h ạ ệ thốống
T i tài li u ả ệ Đăng tài li u ệ
Qu n lý tài li u ả ệ cá nhân
Tìm kiếốm tài li u ệ Đ c tài li u ọ ệ
T i tài li u miếễn ả ệ phí o Quản lý các danh mục của tài liệu: Tìm kiếm, thêm mới, cập nhật và xóa các danh mục của tài liệu o Quản lý tài liệu:
Lọc tài liệu theo danh mục, số lượt tải, giá tài liệu, dạng tài liệu (word, pdf, powerpoint), số lượt download
Thêm mới, cập nhật, xóa tài liệu
Kiểm duyệt tài liệu o Quản lý lượt tải xuống tài liệu: Theo dõi lượt tải xuống tài liệu, lọc tài liệu theo số lượt tải o Quản lý comment: Theo dõi và lọc các comment trong các tài liệu o Quản lý report: Kiểm duyệt các thông tin report của tài liệu, lọc các report theo tài liệu, lọc các report theo người dùng o Quản lý giao dịch: Theo dõi thông tin về các giao dịch phát sinh trên hệ thống, lọc các giao dịch theo các hình thức giao dịch, tìm kiếm giao dịch theo mã giao dịch
- UC của tác nhân khách hàng o Đăng ký: Người dùng chưa có tài khoản trên hệ thống có thể đăng ký tài khoản bằng email o Đăng nhập: Đăng nhập bằng tài khoản của hệ thống Đăng nhập bằng tài khoản facebook Đăng nhập bằng tài khoản google o Tìm kiếm: Người dùng có thể tìm kiếm tài liệu theo các từ khóa hoặc có thể tìm kiếm tài liệu theo danh mục của tài liệu o Nạp tiền vào tài khoản: Người dùng có thể nạp tiền vào tài khoản bằng 2 hình thức nạp tiền thông qua VNPay và Paypal xxi o Lưu tài liệu: Người dùng có thể lưu lại tài liệu vào hệ thống để có thể xem lại dễ dàng o Comment: Người dùng có thể comment để nhận xét về tài liệu o Like, dislike: Người dùng có thể Like hoặc Dislike về tài liệu o Report tài liệu: Người dùng có thể report tài liệu với các lựa chọn có sẵn hoặc có thể nhập tin nhắn để report tài liệu đó o Tải tài liệu: Nếu tài liệu miễn phí thì người dùng có thể tải bất cứ lúc nào, nếu tài liệu có phí thì số dư trong tài khoản của hệ thống người dùng phải lớn hơn hoặc bằng giá tiền của tài liệu thì sẽ tải được tài liệu o Đăng tài liệu: Người dùng có thể đăng tài liệu lên để bán hoặc để chia sẻ miễn phí o Quản lý tài liệu: Người dùng có thể quản lý các tài liệu đã tải xuống, đã lưu và đã đăng lên hệ thống o Quản lý thông tin cá nhân: Người dùng có thể quản lý và cập nhật thông tin cá nhân và thay đổi mật khẩu, lấy lại mật khẩu. xxii
Thiết kế chi tiết hệ thống
Hình 2.2 Biểu đồ Use case tổng quát xxiii
Hình 2.3 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 xxiv
Hình 2.5 Biểu đồ use case phân rã chức năng của người dùng
2.4.2 Bản mô tả yêu cầu chức năng
2.1.3.2.1 Chức năng kiểm duyệt tài liệu
Summary Description: Kiểm duyệt tài liệu
Priority: Should have (Ưu tiên 2)
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lý tài liệu. Post-Condition(s): Hệ thống hiển thị các thay đổi thành công và hiển thị kết quả trên màn hình.
1 Admin chọn tính năng quản lý tài liệu.
2 Hệ thống hiển thị ra màn hình trang quản lý tài liệu
3 Admin chọn “kiểm duyệt tài liệu”.
4 Hệ thống hiển thị danh sách những tài liệu bị report.
5 Admin chọn tài liệu cần kiểm duyệt sau đó kiểm tra và thay đổi trạng thái của tài liệu thành “Ẩn” và ấn “Lưu”.
6 Hệ thống gửi thông báo xác nhận ẩn tài liệu
7 Admin xác nhận thông báo
8 Hệ thống thông báo cập nhật tài liệu thành công và không hiện tài liệu trên website
Alternative Paths: 7a Admin không xác nhận thông báo
8a Hệ thống chuyển hướng về trang quản lý tài liệu.
Business Rules: Những tài liệu bị report trong danh sách chờ duyệt thì không bị ẩn đi. Non-Functional
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.1 Kịch bản use case kiểm duyệt liệu xxv
Hình 2.6 Sơ đồ activity chức năng “quản lý tài liệu” của admin
Hình 2.7 Sơ đồ tuần tự chức năng “quản lý tài liệu” của admin xxvi
2.1.3.2.2 Chức năng lọc/tìm kiếm tài liệu
Description: Lọc/tìm kiếm tài liệu
Priority: Should have (Ưu tiên 2)
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lý tài liệu.
Post-Condition(s): Hệ thống hiển thị kết quả tìm kiếm trên màn hình.
1 Admin chọn tính năng quản lý tài liệu.
1 Hệ thống hiển thị ra màn hình trang quản lý tài liệu
2 Admin chọn lọc tài liệu theo: danh mục, giá bán, kiểu tài liệu, ngôn ngữ và số lượt tải của tài liệu.
3 Hệ thống hiển thị danh sách những tài liệu thỏa mãn các yêu cầu lọc của admin
3a Admin tìm kiếm tài liệu bằng cách nhập tiêu đề của tài liệu trên thanh công cụ tìm kiếm và ấn “enter” hoặc button tìm kiếm.
4a Hệ thống hiển thị kết quả tìm kiếm của admin.
Business Rules: Kết quả tìm kiếm sẽ hiển thị thêm thông tin về lịch sử tìm kiếm tài liệu.
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.2 Kịch bản use case tìm kiếm tài liệu xxvii
Hình 2.8 Sơ đồ activity chức năng “lọc/tìm kiếm tài liệu” của admin
2.1.3.2.3 Chức năng thêm tài khoản người dùng
Description: Thêm tài khoản người dùng
Priority: Should have (Ưu tiên 2)
Admin đăng nhập vào hệ thống và truy cập trang quản lý tài khoản người dùng.
Hệ thống hiển thị danh sách tài khoản người dùng sau khi thay đổi trên màn hình và lưu thông tin người dùng mới trong cơ sở dữ liệu. xxviii
1 Admin chọn chức năng quản lý tài khoản.
2 Hệ thống hiển thị ra màn hình trang quản lý tài liệu
3 Admin chọn “thêm người dùng”
4 Hệ thống hiển thị trang thêm mới để admin nhập thông tin tài khoản của người dùng
5 Admin nhập thông tin tài khoản và chọn nút “Lưu”
6 Hệ thống kiểm tra thông tin của người dùng và thông báo thêm thành công, tài khoản của người dùng được thêm vào CSDL.
5a Admin không ấn nút “Lưu” và thoát ra khỏi trang thêm tài khoản.
5b Thông tin người dùng không hợp lệ 6a Hệ thống chuyển hướng về trang quản lý tài khoản người dùng.
6b Hệ thống thông báo “thông tin người dùng không hợp lệ” và yêu cầu nhập lại thông tin 7b Quay lại bước 5 Business Rules: Email người dùng không được trùng nhau
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.3 Kịch bản use case thêm tài khoản người dùng
2.1.3.2.4 Chức năng cập nhật thông tin tài khoản người dùng
Description: Cập nhật thông tin khoản người dùng xxix
Priority: Should have (Ưu tiên 2)
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lý tài khoản người dùng.
Post-Condition(s): Hệ thống hiển thị thông tin tài khoản người dùng sau khi thay đổi trên màn hình và thay đổi thông tin trong cơ sở dữ liệu.
1 Admin chọn chức năng quản lý tài liệu.
2 Hệ thống hiển thị ra màn hình trang quản lý tài liệu
3 Admin chọn tài khoản người dùng muốn cập nhật và chọn chức năng “cập nhật tài khoản người dùng”
4 Hệ thống hiển thị trang thông tin tài khoản của người dùng.
5 Admin thay đổi các thông tin tài khoản và chọn nút “Lưu”
6 Hệ thống kiểm tra thông tin của người dùng và thông báo cập nhật thành công, tài khoản của người dùng được thay đổi trong CSDL.
5a Admin không ấn nút “Lưu” và thoát ra khỏi trang thêm tài khoản.
5b Thông tin người dùng không hợp lệ 6a Hệ thống chuyển hướng về trang quản lý tài khoản người dùng.
6b Hệ thống thông báo “thông tin người dùng không hợp lệ” và yêu cầu nhập lại thông tin 7b Quay lại bước 5 Business Rules: Email người dùng không được trùng nhau
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.4 Kịch bản use case cập nhật thông tin người dùng xxx
Hình 2.9 Sơ đồ activity chức năng “quản lý tài khoản người dùng” của admin 2.1.3.2.5 Chức năng xóa tài khoản người dùng
Description: Xóa tài khoản người dùng
Priority: Should have (Ưu tiên 2)
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lý tài khoản người dùng.
Post-Condition(s): Hệ thống hiển thị danh sách tài khoản người dùng sau khi thay đổi trên màn hình.
Basic Path: 1 Admin chọn chức năng quản lý tài khoản người dùng. xxxi
2 Hệ thống hiển thị ra màn hình trang quản lý tài khoản người dùng
3 Admin chọn tài khoản người dùng muốn xóa và chọn nút
4 Hệ thống hiển thị thông báo và yêu cầu xác nhận xóa tài khoản người dùng
5 Admin xác nhận xóa tài khoản người dùng
6 Hệ thống kiểm tra thông tin của người dùng và thông báo xóa tài khoản thành công, tài khoản của người dùng bị xóa khỏi CSDL.
5a Admin không xác nhận yêu cầu và thoát ra khỏi trang xóa tài khoản.
6a Hệ thống chuyển hướng về trang quản lý tài khoản người dùng.
Business Rules: Admin không thể xóa cùng lúc nhiều tài khoản.
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.5 Kịch bản use case xóa tài khoản người dùng xxxii
Hình 2.10 Sơ đồ activity chức năng “xoá tài khoản người dùng” của admin
Hình 2.11 Sơ đồ tuần tự chức năng “quản lý tài khoản người dùng” của admin xxxiii
2.1.3.2.6 Chức năng quản lý giao dịch phát sinh
Summary Description: Quản lý giao dịch phát sinh
Priority: Should have (Ưu tiên 2)
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lý giao dịch.
Post-Condition(s): Hệ thống hiển thị thông tin chi tiết của các giao dịch trên hệ thống.
1 Admin chọn chức năng quản lý giao dịch.
2 Hệ thống hiển thị ra màn hình trang quản lý giao dịch bao gồm tất cả lịch sử giao dịch trên hệ thống
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.6 Kịch bản use case quản lý giao dịch 2.1.3.2.7 Chức năng thống kê thông tin website
Summary Description: Thống kê thông tin website
Priority: Should have (Ưu tiên 2)
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang dashboard.
Post-Condition(s): Hệ thống hiển thị danh sách các thông tin của website.
1 Admin chọn chức năng thống kê thông tin.
2 Hệ thống hiển thị ra màn hình trang dashboard
3 Hệ thống hiển thị thông tin chi tiết của các phần sau Tổng số giao dịch theo ngày tuần tháng.
Tổng số lượt tải tài liệu theo ngày tuần tháng. Tổng số tài liệu được tải lên.
Tổng số tài liệu đang ở trạng thái “công khai”
Business Rules: Admin không thể thay đổi các thông tin được thống kê trên website.
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.7 Kịch bản use case thống kê thông tin
2.1.3.2.8 Chức năng đăng nhập xxxiv
Priority: Must have (Ưu tiên 1)
Pre-Condition: Người dùng cần có tài khoản trên hệ thống, sau đó chọn tính năng đăng nhập trên website.
Post-Condition(s): Hệ thống hiển thị trang chủ của website.
1.Người dùng chọn tính năng đăng nhập bằng tài khoản trên website.
2.Hệ thống hiển thị ra màn hình trang đăng nhập
3.Người dùng nhập địa chỉ email và mật khẩu.
4.Người dùng ấn nút “Login”.
5.Hệ thống sẽ kiểm tra thông tin của người dùng.
6.Hệ thống thông báo đăng nhập thành công và chuyển hướng về trang chủ.
1a Người dùng chọn đăng nhập bằng facebook hoặc google. 2a Hệ thống chuyển hướng sang facebook hoặc google 3a Hệ thống facebook/google gửi yêu cầu người dùng xác nhận đăng nhập.
4a Người dùng xác nhận đăng nhập.
Người dùng nhập sai mật khẩu thì hệ thống thông báo :”Sai mật khẩu”
Người dùng nhập sai email thì hệ thống thông báo:”Sai tên đăng nhập”
Người dùng để trống email và mật khẩu thì hệ thống thông báo :”Tên đăng nhập hoặc mật khẩu không chính xác”
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.8 Kịch bản use case đăng nhập xxxv
Hình 2.12 Sơ đồ activity chức năng “đăng nhập” của người dùng
Hình 2.13 Sơ đồ tuần tự chức năng “đăng nhập” của người dùng xxxvi
2.1.3.2.9 Chức năng lấy lại mật khẩu
Priority: Must have (Ưu tiên 1)
Pre-Condition: Người dùng cần vào website, sau đó chọn tính năng đăng nhập.
Post-Condition(s): Hệ thống thông báo lưu thông tin mật khẩu mới và chuyển hướng sang trang chủ của website.
1 Người dùng chọn tính năng đăng nhập.
2 Hệ thống hiển thị ra màn hình trang đăng nhập
3 Người dùng chọn:”quên mật khẩu”.
4 Hệ thống hiển thị form điền email đã đăng ký trên hệ thống để lấy lại mật khẩu.
4 Người dùng điền email và chọn :”gửi yêu cầu”.
5 Hệ thống kiểm tra thông tin email của người dùng và gửi mã xác nhận nếu email hợp lệ.
6 Người dùng nhập mã xác nhận
7 Hệ thống hiển thị form để người dùng nhập mật khẩu mới.
8 Người dùng nhập mật khẩu mới, nhập lại mật khẩu mới và ấn nút lưu
9 Hệ thống thông báo đăng nhập thành công và chuyển hướng về trang chủ.
Email của người dùng không tồn tại thì hệ thống gửi thống báo :”email không tồn tại” tới người dùng.
Người dùng nhập mã xác nhận sai thì hệ thống gửi thông báo :”mã xác nhận sai”
Người dùng nhập sai mã quá 5 lần thì hệ thống sẽ chuyển hướng về trang đăng nhập.
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.9 Kịch bản use case cho chức năng lấy lại mật khẩu xxxvii
Hình 2.14 Sơ đồ activity chức năng “quên mật khẩu” của người dùng
Hình 2.15 Sơ đồ tuần tự chức năng “quên mật khẩu” của người dùng xxxviii
2.1.3.2.10 Chức năng đăng ký tài khoản
Priority: Must have (Ưu tiên 1)
Người dùng cần truy cập vào website, sau đó chọn tính năng đăng ký tài khoản.
Post-Condition(s): Hệ thống hiển thị đăng ký tài khoản thành công và chuyển hướng sang trang chủ của website.
1 Người dùng chọn đăng ký tài khoản.
2 Hệ thống hiển thị ra màn hình trang đăng ký tài khoản
3 Người dùng nhập các thông tin: họ tên, email, mật khẩu và nhập lại mật khẩu.
4 Người dùng ấn nút “Đăng ký”.
5 Hệ thống sẽ kiểm tra thông tin của người dùng, thông báo đăng nhập thành công và chuyển hướng về trang chủ của website.
5a Người dùng bỏ trống các trường thông tin thì hệ thống sẽ hiển thị thông báo:”Người dùng chưa nhập đủ thông tin”.
5b Hệ thống hiển thị thông báo:”Email này đã sử dụng” nếu kiểm tra thấy email người dùng đăng ký tài khoản bị trùng lặp
Người dùng đăng ký thành công thì thông tin của người dùng được lưu vào CSDL và đăng nhập trực tiếp sau khi đăng ký thành công.
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.10 Kịch bản use case đăng ký tài khoản xxxix
Hình 2.16 Sơ đồ activity chức năng “đăng ký tài khoản” của người dùng
Hình 2.17 Sơ đồ tuần tự chức năng “đăng ký tài khoản” của người dùng xl
2.1.3.2.11 Chức năng tải tài liệu
Priority: Should have (Ưu tiên 2)
Pre-Condition: Người dùng cần truy cập vào website, sau đó chọn tài liệu và ấn nút “tải xuống” để tải tài liệu.
Post-Condition(s): Hệ thống hiển thị thông báo “tải tài liệu thành công”
1 Người dùng chọn tài liệu cần tải và ấn nút “tải xuống”.
2 Hệ thống hiển thị ra màn hình trang tải tài liệu với 2 lựa chọn cho người dùng là :”đăng nhập” và “không đăng nhập”
3 Người dùng chọn đăng nhập để tải tài liệu.
4 Hệ thống hiển thị ra form đăng nhập.
5 Người dùng điền thông tin để đăng nhập vào hệ thống.
6 Hệ thống kiểm tra số dư trong tài khoản của người dùng để thanh toán tài liệu.
7 Hệ thống thông báo tải tài liệu thành công và tài liệu được tải về máy người dùng
2a Người dùng đã đăng nhập thì chuyển qua bước 6 3a Người dùng chọn “không đăng nhập”
4a Hệ thống hiển thị thông báo xác nhận tải tài liệu khi không đăng nhập
5a Người dùng xác nhận thông báo 6a Hệ thống hiển thị phương thức thanh toán 7a Người dùng điền thông tin và thanh toán tài liệu 8a Hệ thống thông báo thanh toán thành công và tài liệu được tải về máy của người dùng.
Business Rules: Đối với tài liệu không mất phí, tài liệu sẽ trực tiếp được tải về máy người dùng
Có 2 hình thức thanh toán : VNPay hoặc Paypal. Đối với người dùng chưa có tài khoản trên hệ thống, nếu người dùng chuyển số tiền lớn hơn giá trị của tài liệu sẽ không được hoàn tiền. Đối với người dùng đã có tài khoản nếu có số dư trong tài khoản lớn hơn giá trị của tài liệu thì hệ thống sẽ trừ tiền trong tài khoản và tài liệu được tải về máy của người dùng. Đối với người dùng đã có tài khoản nếu có số dư trong tài khoản nhỏ hơn giá trị của tài liệu thì hệ thống sẽ gửi thông báo yêu cầu người dùng nạp tiền vào tài khoản, nếu người dùng nạp nhiều hơn giá trị của tài liệu thì số tiền thừa sẽ được cộng vào tài khoản của người dùng.
Thời gian khởi tạo đơn hàng khoảng 3 phút.
Thời gian cập nhật thông tin không quá 15s Bảng 2.11 Kịch bản use case cho chức năng tải tài liệu xli
Hình 2.18 Sơ đồ activity chức năng “tải tài liệu” của người dùng
Hình 2.19 Sơ đồ tuần tự chức năng “tải tài liệu” của người dùng xlii
2.1.3.2.12 Chức năng đánh giá tài liệu
Summary Description: Đánh giá tài liệu
Priority: Should have (Ưu tiên 2)
Người dùng cần đăng nhập vào hệ thống, truy cập vào trang đọc tài liệu và chọn tài liệu cần đánh giá.
Post-Condition(s): Hệ thống hiển thị kết quả đánh giá của người dùng.
1 Người dùng chọn tài liệu cần đánh giá và chọn đánh giá bằng like/dislike.
2 Hệ thống cập nhật lại thông tin của tài liệu về số lượng like/dislike và hiển thị lại trên website.
1a Người dùng chọn đánh giá bằng cách nhập ý kiến và chọn “đăng tải”.
1b Người dùng chọn báo cáo – report tài liệu 2b Hệ thống hiện lên form option lý do tài liệu bị report
3b Người dùng chọn các lý do có sẵn ở trên form và chọn “report”
4b Hệ thống gửi thông báo xác nhận tài liệu bị report đến cho admin.
5b Admin xác nhận tài liệu bị báo cáo 6b Hệ thống ẩn tài liệu đã bị người dùng báo cáo
Người dùng nhập tối đa 1000 ký tự trong ô comment. Tài liệu bị report không rõ lý do hoặc lý do không đúng thì không bị ẩn.
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 15s Bảng 2.12 Kịch bản use case cho chức năng đánh giá tài liệu xliii
Hình 2.20 Sơ đồ activity chức năng “đánh giá tài liệu” của người dùng
Hình 2.21 Sơ đồ tuần tự chức năng “đánh giá tài liệu” của người dùng xliv
2.1.3.2.13 Chức năng xem danh sách tài liệu đã tải
Description: Xem danh sách tài liệu đã tải
Priority: Should have (Ưu tiên 2)
Người dùng cần đăng nhập vào hệ thống, sau đó truy cập vào trang cá nhân và chọn mục lưu trữ thông tin.
Post-Condition(s): Hệ thống hiển thị danh sách tất cả những tài liệu mà người dùng đã lưu hoặc tải về.
1 Người dùng chọn trang thông tin cá nhân.
2 Hệ thống hiển thị ra màn hình trang thông tin cá nhân bao gồm thông tin người dùng và danh sách những tài liệu đã tải về
Danh sách tài liệu đã lưu và đã tải về được thống kê trên cùng 1 trang.
Người dùng có thể truy cập lại tài liệu theo đường link/ tên tài liệu trên trang thống kê.
Thời gian truy vấn không quá 2s Thời gian cập nhật thông tin không quá 5s Bảng 2.13 Kịch bản use case xem danh sách tài liệu đã tải
2.1.3.2.14 Chức năng nạp tiền vào tài khoản
Description: Nạp tiền vào tài khoản
Priority: Should have (Ưu tiên 2)
Người dùng cần đăng nhập vào hệ thống trước khi thực hiện, sau đó truy cập tính năng nạp tiền.
Hệ thống thông báo nạp tiền thành công và hiển thị số dư sau khi nạp tiền trong tài khoản trên website của người dùng.
1 Người dùng chọn tính năng nạp tiền.
2 Hệ thống hiển thị ra màn hình trang nạp tiền
3 Người dùng chọn phương thức nạp tiền, chọn số tiền cần nạp, nhập email và click vào “nạp tiền”
4 Hệ thống kiểm tra thông tin email với CSDL và liên kết thanh toán với phương thức mà người dùng lựa chọn sau đó thông báo “nạp tiền thành công”.
4a Email sai thì hệ thống thông báo :”email không hợp lệ”
4b Tiền trong các phương thức thanh toán không đủ thì hệ thống thông báo “thanh toán không thành công!”
Business Rules: Có hai hình thức liên kết thanh toán là: Vnpay và Paypal Non-Functional
Thời gian truy vấn không quá 20s Thời gian cập nhật thông tin không quá 15s 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 xlvi
Hình 2.22 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.23 Sơ đồ tuần tự chức năng “nạp tiền vào tài khoản” của người dùng xlvii
2.1.3.2.15 Chức năng đăng tài liệu
Priority: Must have (Ưu tiên 1)
Pre-Condition: Người dùng cần đăng nhập vào hệ thống trước khi thực hiện, sau đó truy cập tính năng đăng tài liệu.
Post-Condition(s): Hệ thống thông báo đăng tài liệu thành công và hiển thị tài liệu người dùng đăng tải.
1 Người dùng chọn tính năng đăng tài liệu.
2 Hệ thống hiển thị ra màn hình trang đăng tài liệu
3 Người dùng chọn “tải lên”
4 Hệ thống gửi thông báo xác nhận tải tài liệu.
5 Người dùng xác nhận thông báo
6 Hệ thống hiển thị ra form để người dùng chọn tài liệu.
7 Người dùng chọn tài liệu trong thư mục thiết bị.
8 Hệ thống hiện form để người dùng điền thông tin tài liệu: Tiêu đề, danh mục, mô tả, giá bán,
9 Người dùng điền thông tin và click “Lưu”
10 Hệ thống kiểm tra tài liệu và thông báo “ đăng tài liệu thành công” và chuyển hướng về trang chủ.
8a Người dùng không điền đầy đủ thông tin thì hệ thống sẽ đưa ra thông báo :”tài liệu thiếu thông tin”
9a Người dùng thoát ra khỏi trang đăng tài liệu mà không ấn nút “Lưu” thì hệ thống sẽ đưa tài liệu người dùng vừa đăng tải vào danh sách chờ.
Hệ thống kiểm tra thấy tài liệu bị trùng lặp thì sẽ gửi thông báo “tài liệu này đã tồn tại”
Tên tài liệu phải dài hơn 20 ký tự Danh mục được chọn tối thiểu là danh mục cấp 2 (nhiều hơn
2 thông tin chi tiết về danh mục tài liệu) Kích thước file tối đa có thể tải lên là 32MB Non-Functional
Thời gian truy vấn không quá 20s Thời gian cập nhật thông tin không quá 15s Bảng 2.15 Kịch bản use case cho chức năng đăng tài liệu xlviii
Hình 2.24 Sơ đồ activity chức năng “đăng tài liệu” của người dùng
Hình 2.25 Sơ đồ tuần tự chức năng “đăng tài liệu” của người dùng xlix
2.1.3.2.16 Chức năng quản lý tài khoản cá nhân
Description: Quản lý tài khoản cá nhân (cập nhật thông tin tài khoản) Priority: Must have (Ưu tiên 1)
Pre-Condition: Người dùng cần đăng nhập vào hệ thống, sau đó truy cập tính năng cài đặt tài khoản.
Post-Condition(s): Hệ thống hiển thị thông tin chi tiết của người dùng.
1 Người dùng chọn tính năng cài đặt tài khoản (quản lý tài khoản).
2 Hệ thống hiển thị ra màn hình trang thông tin tài khoản của người dùng
3 Người dùng cập nhật (sửa) thông tin cá nhân : tên, số điện thoại, ngày sinh,
4 Hệ thống gửi thông báo xác nhận thay đổi thông tin cho người dùng.
5 Người dùng ấn :xác nhận” để thay đổi thông tin cá nhân
6 Khi người dùng ấn “xác nhận” để thay đổi thông tin thì hệ thống sẽ cập nhật thông tin mới của người dùng vào trong CSDL và hiển thị thông tin đã thay đổi của người dùng trong trang thông tin tài khoản.
7 Khi người dùng ấn xóa các thông tin không bắt buộc
8 Hệ thống sẽ gửi thông báo xác nhận xóa thông tin
9 Người dùng ấn “xác nhận”.
10 Khi người dùng ấn “xác nhận” thì hệ thống sẽ xóa thông tin mà người dùng muốn xóa và cập nhật lại trong CSDL cũng như trên trang thông tin tài khoản của người dùng.
5.a Người dùng ấn “hủy” 6.a Khi người dùng ấn “hủy” hệ thống sẽ không cập nhật thông tin mới của người dùng và quay lại trang thông tin tài khoản. 9.a Người dùng ấn “hủy”
10.a Khi người dùng ấn “hủy” thì các thông tin của người dùng sẽ không bị thay đổi và hệ thống trở lại trang thông tin tài khoản cho người dùng.
ID người dùng không được trùng.
Email người dùng không được trùng, nếu nhập trùng email thì hệ thống sẽ thông báo :”email đã được sử dụng”.
Thời gian truy vấn không quá 5s Thời gian cập nhật thông tin không quá 10s Bảng 2.16 Kịch bản use case cập nhật thông tin cá nhân l
Hình 2.26 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.27 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 li
2.1.3.2.17 Chức năng quản lý tài liệu cá nhân
Description: Quản lý tài liệu cá nhân
Priority: Must have (Ưu tiên 1)
Pre-Condition: Người dùng cần đăng nhập vào hệ thống, sau đó truy cập tính năng quản lý tài liệu.
Hệ thống hiển thị trang quản lý tài liệu gồm danh sách các tài liệu đã đăng, trạng thái tài liệu đã đăng, thời gian đăng tài liệu, cập nhật tài liệu đã đăng gồm có: sửa, xóa tài liệu đã đăng.
1 Người dùng đăng nhập vào hệ thống và chọn tính năng quản lý tài liệu.
Thiết kế cơ sở dữ liệu
Bảng users: Lưu trữ tài khoản của admin và user
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id người dùng
) not null Tên người dùng.
4 email_verified_at timestamp null Thời gian xác minh email
5 password varchar(255 not null Mật khẩu liv
6 active_status int default: active Trạng thái tài khoản
) null Đường dẫn lưu ảnh
10 birthday bate bull Ngày sinh
13 money bigint default: 0 Số dư tài khoản trên hệ thống
) null, unique Id của facebook hoặc google
Kiểu đăng nhập (google hoặc facebook)
18 total_save int default: 0 Tổng số tài liệu đã lưu
19 total_download int default: 0 Tổng số tài liệu đã tải xuống
20 total_document int default: 0 Tổng số tài liệu đã đăng
) null Token để lấy lại mật khẩu
22 created_at timestamp null Thời gian tạo tài khoản
23 updated_at timestamp null Thời gian cập nhật tài khoản Bảng 2.18 Bảng users
Bảng roles: Lưu trữ các vai trò của người dùng
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả lv
1 id bigint primary key Id vai trò
) not null Tên vai trò
4 created_at timestamp null Thời gian tạo vai trò
5 pdated_at timestamp null Thời gian cập nhật vai trò Bảng 2.19 Bảng roles
Bảng permissions: Lưu trữ các quyền của người dùng
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id của quyền
4 created_at timestamp null Thời gian tạo quyền
5 updated_at timestamp null Thời gian cập nhật quyền Bảng 2.20 Bảng permissions
Bảng role_has_permissions: Bảng được sinh ra giữa quan hệ n-n của bảng roles và permissions
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 permission_id bigint foreign key Id của quyền
2 role_id bigint foreign key Id của vai trò
Bảng 2.21 Bảng role_has_permissions Bảng model_has_roles: Bảng này sẽ xác định user sẽ gán với vai trò nào
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 role_id bigint foreign key Id của vai trò
2 model_type varchar(255) not null Tên model của user
3 model_id bigint foreign key Id của người dùng
Bảng 2.22 Bảng model_has_roles lvi
Bảng model_has_permissions: Bảng này sẽ xác định user có các quyền gì
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 permission_id bigint foreign key Id của quyền
2 model_type varchar(255) not null Tên model của user
3 model_id bigint foreign key Id của người dùng
Bảng 2.23 Bảng model_has_permissions Bảng categories: Bảng này là các danh mục của tài liệu
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id của danh mục
2 name varchar(255) not null Tên danh mục
3 slug varchar(255) not null Slug của danh mục
4 created_at timestamp null Thời gian tạo danh mục
5 updated_at timestamp null Thời gian cập nhật danh mục Bảng 2.24 Bảng categories
Bảng documents: Bảng lưu thông tin của tài liệu
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id của tài liệu
3 user_id bigint foreign key Id của user
4 category_id bigint foreign key Id của danh mục
5 title varchar(255) not null Tiêu đề của tài liệu
6 slug varchar(255) not null Slug của tài liệu
7 source_url text null Đường dẫn lưu tài liệu khi mới được đăng lên hệ thống
8 description text null Mô tả về tài liệu
9 page_number int default: 0 Tổng số trang của tài liệu
10 price int default: 0 Giá bán của tài liệu
11 original_size int default: 0 Kích thước của tài liệu
12 original_format varchar(255) default: 0 Kích thước sau khi định dạng lại của tài liệu
13 full_text longtext null Tất cả text của tài liệu lvii dưới dạng html
14 disks varchar(255) null Nơi lưu tài liệu
15 path varchar(255) null Đường dẫn của tài liệu sau khi đã chuyển từ pdf, word, powerpoint thành pdf
Kiểu tài liệu: pdf, word, powerpoint, txt,
17 language varchar(255) null Ngôn ngữ của tài liệu
18 country varchar(255) null Tài liệu thuộc quốc gia nào
19 helpful_count int default: 0 Tổng số lượt thích
20 unhelpful_count int default: 0 Tổng số lượt không thích
21 viewed_count int default: 0 Tổng số lượt xem tài liệu
22 downloaded_count int default: 0 Tổng số lượt tải tài liệu
23 shared_count int default: 0 Tổng số lượt chia sẻ tài liệu
24 active boolean default: true Tài liệu có được kích hoạt hay không
25 is_public int default: 0 Tài liệu có được public hay không
26 is_approved int default: 0 Tài liệu có thông qua kiểm duyệt hay chưa
27 can_download int default: 1 Tài liệu có thể public được hay không
28 approved_at datetime null Thời gian tài liệu được kiểm duyệt
29 payload json null Cột này để lưu những thông tin thêm nếu cần
30 created_at timestamp null Thời gian tạo tài liệu
31 updated_at timestamp null Thời gian cập nhật tài liệu Bảng 2.25 Bảng documents
Bảng comments: Bảng này lưu thông tin các comment trong tài liệu
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id của comment
2 user_id bigint foreign key Id của người dùng
3 document_id bigint foreign key Id của tài liệu
4 content text not null Nội dung comment
5 created_at timestamp null Thời gian tạo comment lviii
6 ipdated_at timestamp null Thời gian cập nhật comment Bảng 2.26 Bảng comments
Bảng tags: Bảng này lưu các hashtag
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id của hashtag
2 name varchar(255) not null Tên của hashtag
3 normalized varchar(255) not null Hastag được viết gọn lại
4 slug varchar(255) not null Slug của hashtag
5 created_at timestamp null Thời gian tạo hashtag
6 updated_at timestamp null Thời gian cập nhật hashtag Bảng 2.27 Bảng tags
Bảng document_tag: Bảng được sinh ra giữa quan hệ n-n của bảng documents và tags
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 document_id bigint foreign key Id của tài liệu
2 tag_id bigint foreign key Id của hashtag
Bảng 2.28 Bảng document_tag Bảng download: Bảng này lưu thông tin của các tài liệu download
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id của hashtag
2 user_id bigint foreign key Id của người dùng
3 document_id bigint foreign key Id của tài liệu
4 payload json null Cột này để lưu những thông tin thêm nếu có
5 created_at timestamp null Thời gian tạo lượt tải xuống
6 updated_at timestamp null Thời gian cập nhật lượt tải xuống Bảng 2.29 Bảng download
Bảng reports: Bảng này sẽ lưu thông tin report của tài liệu lix
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id của report
2 document_id bigint foreign key Id của tài liệu
3 message text not null Tin nhắn report
4 created_at timestamp null Thời gian tạo report
5 updated_at timestamp null Thời gian cập nhật report Bảng 2.30 Bảng reports
Bảng payment: Bảng này sẽ lưu thông tin các giao dịch trên hệ thống
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id bigint primary key Id của giao dịch
2 user_id bigint foreign key Id của user
3 status int default: 0 Trạng thái của giao dịch
4 price int not null Số tiền giao dịch
5 source varchar(255) not null Phương thức giao dịch: VNPay, Paypal
6 trading_code varchar(255) not null Mã giao dịch
7 transaction_id varchar(255) not null Số hóa đơn
8 message varchar(255) null Tin nhắn giao dịch
9 created_at timestamp null Thời gian tạo giao dịch
10 updated_at timestamp null Thời gian cập nhật giao dịch Bảng 2.31 Bảng payment
Bảng payment_document: Bảng này là lưu dữ liệu mua tài liệu trả phí của khách vãng lai
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 payment_id bigint foreign key Id của giao dịch
2 document_id bigint foreign key Id của tài liệu
Bảng 2.32 Bảng payment_document lx
2.5.2 Sơ đồ quan hệ CSDL
Hình 2.30 Sơ đồ quan hệ CSDL lxi
THỰC NGHIỆM, SO SÁNH VÀ ĐÁNH GIÁ KẾT QUẢ
Môi trường thực nghiệm
- Hệ điều hành: Ubuntu 22.04 LTS
- Cơ sở dữ liệu: MySQL
- Ngôn ngữ lập trình sử dụng: HTML, CSS, JavaScript, PHP
- Setup để chạy dự án: o php cli, php ext (php8.1-pdo php8.1-mysql php8.1-bcmath php8.1-gd php8.1- mbstring php8.1-dom php8.1-memcached php8.1-opcache php8.1-zip php8.1-intl php8.1-curl php8.1-cli), php8.1-fpm o Java, nodejs, nginx o Search engine: Elasticsearch [CITATION Ela \l 1033 ] o Apache tika
Kết quả đạt được
Giao diện đăng nhập của admin lxii
Hình 3.31 Giao diện đăng nhập admin Trang quản lý người dùng của admin
Hình 3.32 Trang quản lý người dùng Trang tạo mới người dùng lxiii
Hình 3.33 Trang tạo mới người dùng Trang cập nhật thông tin người dùng
Hình 3.34 Trang cập nhật thông tin người dùng Trang quản lý danh mục lxiv
Hình 3.35 Trang quản lý danh mục
Hình 3.36 Trang thêm danh mục lxv
Trang cập nhật danh mục
Hình 3.37 Trang cập nhật danh mục Trang quản lý tài liệu
Hình 3.38 Trang quản lý tài liệu lxvi
Trang thêm mới tài liệu
Hình 3.39 Trang thêm mới tài liệu Trang cập nhật thông tin tài liệu
Hình 3.40 Trang cập nhật thông tin tài liệu Trang thống kê lượt tải xuống lxvii
Hình 3.41 Trang thống kê lượt tải xuống
Hình 3.42 Trang quản lý tags lxviii
Hình 3.43 Trang thêm mới tags Trang cập nhật thông tin của tags
Hình 3.44 Trang cập nhật thông tin của tags lxix
Hình 3.45 Trang thống kê comment Trang thống kê báo cáo tài liệu (report)
Hình 3.46 Trang thống kê báo cáo tài liệu lxx
Trang thống kê các khoản giao dịch trên hệ thống
Hình 3.47 Trang thống kê giao dịch 3.2.2 Về phía người dùng
Hình 3.50 Trang đăng nhập Trang đăng ký
Hình 3.51 Trang đăng ký lxxiv
Trang lấy lại mật khẩu
Hình 3.52 Trang lấy lại mật khẩu Trang setting
Trang danh sách tài liệu theo danh mục
Hình 3.54 Trang danh sách tài liệu theo danh mục
Giao diện báo cáo tài liệu
Hình 3.55 Giao diện báo cáo tài liệu lxxvi
Hình 3.56 Trang đọc tài liệu lxxvii
Hình 3.57 Trang đọc tài liệu lxxviii
Giao diện chọn hình thức nạp tiền
Hình 3.58 Giao diện chọn hình thức nạp tiền
Giao diện thanh toán bằng VNPay
Hình 3.59 Giao diện thanh toán bằng VNPay lxxix
Giao diện thanh toán bằng Paypal
Hình 3.60 Giao diện thanh toán bằng Paypal
Giao diện trang các tài liệu đã tải xuống
Hình 3.61 Giao diện danh sách các tài liệu đã tải xuống lxxx
Giao diện đăng tài liệu
Hình 3.62 Giao diện đăng tài liệu Trang quản lý tài liệu đã đăng
Hình 3.63 Trang quản lý tài liệu đã đăng lxxxi
Trang cập nhật thông tin tài liệu
Hình 3.64 Trang cập nhật thông tin tài liệu Chức năng xóa tài liệu
Hình 3.65 Chức năng xóa tài liệu lxxxii
Trang tổng hợp comment của người dùng
Hình 3.66 Trang tổng hợp comment của người dùng Trang tìm kiếm tài liệu
Hình 3.67 Trang tìm kiếm tài liệu lxxxiii
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
Sau quá trình tìm hiểu và chắt lọc, em đã tìm ra được 2 hệ thống tương đương đang phát triển rất mạnh mẽ tại Việt Nam và trên toàn thế giới đó là Studocu [CITATION Stu \l 1033 ] và 123doc [CITATION 123 \l 1033 ].
- StuDocu là một nền tảng trực tuyến cung cấp tài liệu học tập và tham khảo cho sinh viên trên toàn thế giới Được thành lập từ năm 2013, StuDocu đã trở thành một nguồn tài nguyên quan trọng với hơn 4 triệu tài liệu trên toàn thế giới Sinh viên có thể tìm kiếm và tải xuống bài giảng, ghi chú, bài tập và đề thi từ các trường đại học và cao đẳng trên nền tảng này Tài liệu được chia sẻ miễn phí hoặc với một số phí nhỏ để truy cập vào tài liệu chất lượng cao.[ CITATION Stu1 \l 1033 ]
- 123doc được xây dựng với ý tưởng tạo ra một cộng đồng kiếm tiền online bằng cách chia sẻ tài liệu hiệu quả và uy tín nhất Mục tiêu của nền tảng này là mang lại nguồn tài nguyên tri thức quý báu, phong phú và đa dạng cho cộng đồng xã hội, đồng thời cung cấp cơ hội kiếm thêm thu nhập cho người dùng.
- Sau hơn một năm hoạt động, 123doc đã xác lập vị trí của mình trong lĩnh vực tài liệu và kinh doanh trực tuyến Đến tháng 6 năm 2023, 123doc đạt mốc hơn 300.000 lượt truy cập mỗi ngày Nền tảng này đã xếp vào top 200 các trang web phổ biến nhất tại Việt Nam và có tỷ lệ tìm kiếm thuộc top 3 trên Google Được công nhận bởi cộng đồng, 123doc được bình chọn là website kiếm tiền online hiệu quả và uy tín nhất. [ CITATION Sốl \l 1033 ]
3.3.2 Tiêu chí so sánh các hệ thống
Sau khi chọn lọc, em đã tìm ra được 10 tiêu chí để có thể so sánh giữa các hệ thống với nhau, cụ thể như sau:
- Phạm vi tài liệu: So sánh số lượng và đa dạng tài liệu có sẵn trên các nền tảng.
- Ngôn ngữ: Xem xét số lượng ngôn ngữ được hỗ trợ trên các hệ thống để phục vụ người dùng trên toàn cầu.
- Cộng đồng người dùng: Đánh giá kích thước và tính tương tác của cộng đồng người dùng trên các nền tảng, bao gồm khả năng thảo luận, chia sẻ và trao đổi kiến thức.
- Tính năng tìm kiếm: So sánh tính năng tìm kiếm tài liệu trên các hệ thống, bao gồm khả năng lọc, sắp xếp và tìm kiếm theo tiêu chí cụ thể. lxxxiv
- Tính năng xem trước: Đánh giá khả năng xem trước tài liệu trên các nền tảng để người dùng có thể đánh giá chất lượng trước khi tải xuống.
- Đánh giá và nhận xét: Xem xét khả năng đánh giá và nhận xét tài liệu từ người dùng.
- Tính năng tải xuống: So sánh tính năng tải xuống tài liệu trên các nền tảng, bao gồm tải xuống miễn phí và có phí.
- Số lượng người dùng: Đánh giá kích thước cộng đồng người dùng trên các nền tảng để đo lường sự phổ biến và sự tin cậy.
- Tính khả dụng địa lý: Xác định các quốc gia hoặc vùng địa lý nơi các hệ thống có thể hoạt động và cung cấp tài liệu.
- Đánh giá uy tín: Xem xét đánh giá và uy tín trong cộng đồng người dùng và nguồn tài liệu.
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
Tiêu chí Hệ thống của đề tài 123doc StuDocu
Phạm vi tài liệu Đa dạng nhưng số lượng tài liệu vẫn còn hạn chế Đa dạng và lượng tài liệu đáng kể Đa dạng và lượng tài liệu đáng kể
Ngôn ngữ hỗ trợ Tiếng Anh Tiếng Việt Đa ngôn ngữ
Cộng đồng người dùng Hiện tại hệ thống mới bắt đầu triển khai nên chưa có cộng đồng người dùng
Cộng đồng lớn hàng đầu Việt Nam về lĩnh vực chia sẻ tài liệu, tương tác cao
Cộng đồng lớn, là một trong những cộng đồng về tài liệu đông và tích cực nhất thế giới
Tính năng tìm kiếm Lọc, sắp xếp, tìm kiếm theo tiêu chí cụ thể
Lọc, sắp xếp, tìm kiếm theo tiêu chí cụ thể
Lọc, sắp xếp, tìm kiếm theo tiêu chí cụ thể Tính năng xem trước Có khả năng xem trước tài liệu
Có khả năng xem trước tài liệu
Có khả năng xem trước tài liệu Đánh giá và nhận xét Có tính năng đánh giá và nhận xét
Có tính năng đánh giá và nhận xét
Có tính năng đánh giá và nhận xét Tính năng tải xuống Có tính năng tải xuống miễn phí hoặc trả phí
Có tính năng tải xuống miễn phí hoặc trả phí
Có tính năng tải xuống miễn phí hoặc trả phí
Số lượng người dùng Hiện tại số lượng người dùng còn hạn chế do hệ thống mới bắt đầu triển khai
Hiện tại đang có số lượng người dùng sấp xỉ 8.5 triệu người dùng mỗi tháng [CITATION Sim \l 1033 ]
Hiện tại đang có số lượng người dùng sấp xỉ 50 triệu người dùng mỗi tháng [CITATION Sim \l 1033 ] Tính khả dụng địa lý Cung cấp tài liệu cho toàn cầu
Cung cấp tài liệu tại Việt Nam
Cung cấp tài liệu cho toàn cầu Đánh giá uy tin Chưa có cộng đồng nên chưa thể đánh giá Được công nhận là uy tín và hiệu quả Được công nhận là uy tín và hiệu quả Bảng 3.33 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 lxxxv
Đánh giá kết quả
3.4.1 Phân tích và đánh giá kết quả thực nghiệm
Một số kết quả thu được sau quá trình thực nghiệm
- Về mặt chuyên môn: o Hệ thống tập trung vào cung cấp tài liệu học tập và tài liệu tham khảo cho sinh viên đại học và cao đẳng. o Nền tảng này chủ yếu tập trung vào chủ đề liên quan đến giáo dục.
- Về mặt chức năng: o Hệ thống cung cấp tính năng chia sẻ, tìm kiếm và tải xuống các tài liệu như khóa luận, luận văn, bài tập và đề thi. o Người dùng có thể tìm kiếm tài liệu theo tên tài liệu hoặc chủ đề. o Nền tảng cũng cung cấp tính năng đánh giá và nhận xét tài liệu từ người dùng.
- Giao diện: o Giao diện của hệ thống được thiết kế để dễ sử dụng và tương tác. o Người dùng có thể dễ dàng tìm kiếm, xem trước và tải xuống tài liệu.
- Tính khả dụng: o Hệ thống cung cấp hàng ngàn tài liệu chủ yếu phục vụ cho các trường đại học, cao đẳng.
- Trải nghiệm người dùng: o Hệ thống tạo ra một cộng đồng trực tuyến năng động, cho phép mọi người trao đổi kiến thức, đặt câu hỏi và chia sẻ kinh nghiệm học tập. o Người dùng có thể tận dụng tài liệu chất lượng và hữu ích trên nền tảng này để nâng cao hiệu suất học tập và thành công trong quá trình học.
- Tính bảo mật và riêng tư: o Hệ thống đảm bảo tính bảo mật và riêng tư cho người dùng. lxxxvi o Tài liệu được chia sẻ và truy cập thông qua các quyền riêng tư và chia sẻ kiểm soát bởi người tải lên.
- Tính năng xem trước và đánh giá tài liệu: o Hệ thống cho phép người dùng xem trước tài liệu trước khi tải xuống. o Người dùng có thể đánh giá và nhận xét tài liệu, giúp đánh giá chất lượng và hữu ích cho cộng đồng.
- Tính năng tìm kiếm tiên tiến: o Hệ thống cung cấp tính năng tìm kiếm tiên tiến cho phép người dùng lọc, sắp xếp và tìm kiếm tiêu chí cụ thể. o Điều này giúp người dùng dễ dàng tìm kiếm và truy cập vào các tài liệu mong muốn.
3.4.2 Đánh giá tổng thể kết quả đề tài
Tổng thể, “Hệ thống chia sẻ tài liệu trực tuyến” là một nền tảng trực tuyến xuất sắc cung cấp tài liệu học tập và tạo cộng đồng học tập cho tất cả mọi người Dưới đây là một đánh giá tổng quan về “Hệ thống chia sẻ tài liệu trực tuyến” :
- Đa dạng và phong phú tài liệu: Hệ thống có một kho tài liệu theo rất nhiều lĩnh vực. Tài liệu bao gồm bài giảng, ghi chú, bài tập, đề thi và nhiều nội dung hữu ích khác Sự đa dạng này giúp người dùng tìm kiếm và truy cập vào tài liệu phù hợp với nhu cầu học tập của họ.
- Giao diện dễ sử dụng: Hệ thống có giao diện thân thiện và dễ sử dụng Người dùng có thể dễ dàng tìm kiếm, xem trước và tải xuống tài liệu một cách thuận tiện Giao diện trực quan giúp người dùng tận hưởng trải nghiệm mượt mà trên nền tảng này.
- Chức năng mạnh mẽ: Hệ thống cung cấp các chức năng quan trọng như chia sẻ, tìm kiếm và tải xuống tài liệu Người dùng có thể tìm kiếm theo tài liệu, tác giả hoặc chủ đề và tùy chọn lọc theo tiêu chí cụ thể Tính năng đánh giá và nhận xét từ người dùng giúp đảm bảo chất lượng và hữu ích của các tài liệu. lxxxvii
- Môi trường học tập cộng đồng: Hệ thống tạo ra một cộng đồng trực tuyến năng động cho tất cả mọi người trao đổi kiến thức, đặt câu hỏi và chia sẻ kinh nghiệm học tập Điều này tạo ra một môi trường hỗ trợ và khuyến khích sự học tập cộng đồng.
- Tính bảo mật và riêng tư: Hệ thống đảm bảo tính bảo mật và riêng tư cho người dùng, cho phép họ kiểm soát quyền riêng tư và chia sẻ tài liệu.
Tổng thể, “Hệ thống chia sẻ tài liệu trực tuyến” là một nền tảng tuyệt vời cho tất cả mọi người Nó cung cấp một nguồn tài nguyên học tập đa dạng và phong phú, kết hợp với giao diện dễ sử dụng Sự kết hợp giữa chức năng mạnh mẽ và môi trường học tập cộng đồng làm cho “Hệ thống chia sẻ tài liệu trực tuyến” trở thành một công cụ hữu ích và giá trị cho việc nâng cao hiệu suất học tập và trải nghiệm người dùng.
Hạn chế
3.5.1 Phân tích và đánh giá các hạn chế của đề tài
Mặc dù “Hệ thống chia sẻ tài liệu trực tuyến” có nhiều ưu điểm, nhưng cũng có một số hạn chế nhất định Dưới đây là một số hạn chế:
- Hạn chế tài liệu cụ thể: Mặc dù hệ thống có một kho tài liệu đồ sộ, nhưng không phải tài liệu nào cũng có sẵn Có thể có một số chủ đề không có đủ tài liệu trên nền tảng này.
- Chất lượng tài liệu không đồng đều: Tài liệu trên hệ thống được chia sẻ bởi cộng đồng người dùng, điều này có nghĩa là chất lượng tài liệu có thể không đồng đều Một số tài liệu có thể thiếu chi tiết hoặc không chính xác.
- Giới hạn truy cập miễn phí: Mặc dù một số tài liệu trên hệ thống có sẵn miễn phí, nhưng có một số tài liệu chất lượng cao yêu cầu trả phí để truy cập Điều này có thể là một hạn chế đối với những người có nguồn lực hạn chế.
- Độ tin cậy của nguồn tài liệu: Do tài liệu được chia sẻ bởi cộng đồng người dùng, có một số nguồn tài liệu có thể không được kiểm tra kỹ lưỡng hoặc không đảm bảo tính chính xác và tin cậy.
Tuy có những hạn chế nhất định, “Hệ thống chia sẻ tài liệu trực tuyến” vẫn là một nền tảng hữu ích cho mọi người trong việc tìm kiếm tài liệu học tập và chia sẻ kiến thức. lxxxviii
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 Để khắc phục các hạn chế của “Hệ thống chia sẻ tài liệu trực tuyến”, có thể tiến hành nghiên cứu và triển khai các biện pháp sau:
- Mở rộng và nâng cao kho tài liệu: Tiếp tục mở rộng đối tượng và nguồn tài liệu, tập trung vào các chủ đề chưa có đủ tài liệu Cung cấp cơ chế khuyến khích người dùng đóng góp tài liệu để tăng khả năng phủ sóng và đa dạng của nền tảng.
- Kiểm soát chất lượng tài liệu: Xây dựng một quy trình kiểm duyệt và đánh giá chất lượng tài liệu để đảm bảo tính chính xác và tin cậy Đưa ra hướng dẫn cho người dùng về việc chia sẻ tài liệu đáng tin cậy và khuyến khích người dùng thực hiện đánh giá và nhận xét để tăng cường phản hồi từ cộng đồng.
- Mở rộng tùy chọn truy cập miễn phí: Cung cấp thêm tài liệu miễn phí để tăng tính khả dụng và hỗ trợ cho những người có nguồn lực hạn chế Đồng thời, đánh giá và cung cấp các gói truy cập trả phí với các tài liệu chất lượng cao và các dịch vụ bổ sung để tạo thu nhập và duy trì hoạt động của nền tảng.
- Xây dựng hệ thống đảm bảo tính tin cậy: Xác thực nguồn tài liệu và người dùng để đảm bảo tính toàn vẹn và bảo mật Cung cấp các cơ chế phản hồi và báo cáo để người dùng có thể thông báo về tài liệu hoặc người dùng không đáng tin cậy.
- Tăng cường tính tương tác và kết nối: Đưa ra các công cụ và tính năng để tạo cơ hội giao tiếp và tương tác giữa người dùng, bao gồm diễn đàn, nhóm thảo luận và hệ thống tin nhắn nội bộ Tạo cộng đồng học tập mạnh mẽ hơn và khuyến khích sự chia sẻ kiến thức và kinh nghiệm học tập.
- Mở rộng ngôn ngữ và địa lý: Nghiên cứu và mở rộng số lượng ngôn ngữ được hỗ trợ trên nền tảng để phục vụ người dùng trên khắp thế giới Tìm hiểu và thiết kế cơ chế để thu thập và chia sẻ tài liệu từ các trường đại học và cao đẳng trong nhiều quốc gia khác nhau
Những hướng nghiên cứu và biện pháp trên có thể giúp nâng cao hiệu quả và khắc phục các hạn chế của “Hệ thống chia sẻ tài liệu trực tuyến”, mang lại trải nghiệm tốt hơn cho người dùng và đáp ứng nhu cầu học tập. lxxxix