Báo cáo Đồ án 2: Xây dựng website chia sẻ tài liệu - SV. Trần Lương Nguyên

Tải full báo cáo đồ án xây dựng website chia sẻ tài liệu học tập cho sinh viên. Tham khảo cấu trúc, chức năng và công nghệ sử dụng.

2022

69
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Đồ án Website Chia sẻ Tài liệu Học tập

Đồ án website chia sẻ tài liệu học tập là một dự án phần mềm nhằm xây dựng nền tảng số hóa để hỗ trợ nhu cầu học tập và nghiên cứu của học sinh, sinh viên. Trong thế kỷ XXI, khi tri thức và công nghệ phát triển nhanh chóng, việc có một website chia sẻ tài liệu đáng tin cậy trở nên vô cùng quan trọng. Đề tài này được thực hiện tại Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh dưới sự hướng dẫn của ThS. Trần Thị Hồng Yến. Mục tiêu chính là cung cấp một nền tảng chia sẻ tài liệu học tập với giao diện thân thiện, bố cục hợp lí và chức năng đa dạng. Website học tập này sẽ giúp người dùng dễ dàng tìm kiếm, tra cứu và chia sẻ tài liệu phục vụ cho nhu cầu học tập và làm việc hàng ngày.

1.1. Bối cảnh và Ý nghĩa của Dự án

Nhu cầu tìm kiếm thông tin chất lượng cho học tập luôn tăng cao. Website chia sẻ tài liệu học tập giải quyết vấn đề thiếu một địa chỉ đáng tin cậy để tìm kiếm tài liệu. Dự án này mang ý nghĩa quan trọng trong việc hỗ trợ sinh viên nắm bắt kiến thức, chuẩn bị nền tảng vững chắc cho sự phát triển cá nhân. Thông qua nền tảng chia sẻ tài liệu, người dùng có thể tiếp cập đa dạng loại tài liệu từ các chuyên gia, đồng nghiệp và cộng đồng học tập.

1.2. Mục tiêu Chính của Đề tài

Mục tiêu của đồ án website chia sẻ tài liệu bao gồm: Xây dựng website chia sẻ tài liệu với nội dung phong phú và giao diện thân thiện; Phát triển hệ thống quản trị cho nhân viên với chức năng quản lý đa dạng; Tạo ra một nền tảng học tập trực tuyến đáng tin cậy. Hệ thống phải đảm bảo trải nghiệm người dùng tối ưu, chất lượng nội dung cao và bảo mật thông tin.

II. Phạm vi và Chức năng của Website Chia sẻ Tài liệu

Phạm vi đề tài bao gồm xây dựng một website chia sẻ tài liệu học tập với các chức năng quan trọng để phục vụ nhu cầu người dùng. Website chia sẻ tài liệu này sẽ hoạt động trên môi trường web, cho phép người dùng dễ dàng truy cập từ bất kỳ thiết bị nào. Các chức năng chính bao gồm hệ thống đăng kí, đăng nhập và xác thực tài khoản, quản lý danh mục tài liệu, tìm kiếm và tra cứu tài liệu nhanh chóng. Ngoài ra, nền tảng chia sẻ tài liệu còn hỗ trợ đăng tải, chỉnh sửa tài liệu, kiểm duyệt nội dung, lưu trữ bài viết và đánh giá, nhận xét. Hệ thống được thiết kế để phục vụ ba đối tượng chính: người dùng, nhân viên kiểm duyệt và quản trị viên.

2.1. Các Chức năng Chính của Hệ thống

Website chia sẻ tài liệu cung cấp các chức năng trọng tâm như: Hệ thống đăng nhập, đăng kí an toàn; Tìm kiếm tài liệu nhanh chóng với bộ lọc đa chiều; Quản lý danh mục tài liệu theo chuyên ngành; Đăng tải tài liệu từ người dùng; Hệ thống kiểm duyệt nội dung bởi quản trị viên; Lưu trữ và quản lý bài viết cá nhân; Đánh giá tài liệu từ cộng đồng người dùng.

2.2. Đối tượng Người dùng

Website chia sẻ tài liệu được thiết kế cho ba nhóm người dùng chính. Thứ nhất là những người dùng thông thường - học sinh, sinh viên cần tìm kiếm và chia sẻ tài liệu học tập. Thứ hai là nhân viên kiểm duyệt nội dung có nhiệm vụ xác minh chất lượng tài liệu học tập trước khi công bố. Cuối cùng là quản trị viên website chia sẻ tài liệu với quyền hạn quản lý toàn bộ hệ thống và dữ liệu.

III. Công nghệ và Stack Công nghệ Sử dụng

Đồ án website chia sẻ tài liệu học tập được xây dựng trên nền tảng công nghệ hiện đại và mạnh mẽ. Stack công nghệ được lựa chọn bao gồm: Back-end sử dụng ASP.Net MVC để xây dựng logic ứng dụng, Entity Framework cho tương tác cơ sở dữ liệu, Redis cho caching hiệu năng cao, và Elasticsearch để tối ưu chức năng tìm kiếm tài liệu. Front-end được phát triển bằng HTML, CSSBootstrap tạo giao diện responsive. Cơ sở dữ liệu sử dụng MS SQL cho lưu trữ dữ liệu chính, MinIOCloudinary để quản lý file tài liệu. Các công nghệ này được chọn vì khả năng mở rộng, bảo mật cao và hiệu năng tối ưu cho website chia sẻ tài liệu.

3.1. Công nghệ Back end và Cơ sở Dữ liệu

Back-end website chia sẻ tài liệu sử dụng ASP.Net MVC framework mạnh mẽ cho xử lý logic phức tạp. Entity Framework được tích hợp để quản lý dữ liệu hiệu quả. Redis caching giúp tăng tốc độ truy xuất, đặc biệt cho tìm kiếm tài liệu thường xuyên. MS SQL lưu trữ dữ liệu cơ bản, đảm bảo tính toàn vẹn và bảo mật thông tin người dùng cũng như tài liệu học tập.

3.2. Công nghệ Front end và Quản lý File

Giao diện website chia sẻ tài liệu được xây dựng bằng HTML, CSS chuẩn và Bootstrap framework giúp responsive trên mọi thiết bị. Elasticsearch tối ưu chức năng tìm kiếm tài liệu với các query phức tạp. MinIOCloudinary quản lý file tài liệu, hình ảnh với khả năng lưu trữ linh hoạt, bảo mật cao.

IV. Quy trình Thực hiện và Kết quả Mong đợi

Quy trình thực hiện đồ án website chia sẻ tài liệu học tập được lên kế hoạch chi tiết từ tháng 9 đến tháng 12 năm 2022. Bắt đầu từ giai đoạn phân tích nhu cầu, thiết kế hệ thống, tiếp đến xây dựng từng module chức năng theo tuần. Nhóm phát triển tập trung vào xây dựng các chức năng đăng nhập, đăng kí, quản lý tài liệu học tập, tìm kiếm tài liệu và lưu trữ bài viết. Kết quả mong đợi là hoàn thành một website chia sẻ tài liệu đầy đủ chức năng, giao diện thân thiện, bảo mật cao. Ngoài ra, sinh viên sẽ nắm vững các công nghệ back-end, front-end và quy trình phát triển phần mềm thực tiễn.

4.1. Giai đoạn Phân tích Thiết kế và Phát triển

Quy trình thực hiện bắt đầu bằng phân tích chi tiết yêu cầu website chia sẻ tài liệu. Giai đoạn thiết kế cơ sở dữ liệu, UX/UI được thực hiện cẩn thận. Tiếp theo là phát triển từng chức năng: đăng nhập, đăng kí tài khoản, quản lý danh mục tài liệu, tìm kiếm tài liệu hiệu quả, đăng tải tài liệu. Cuối cùng là kiểm thử toàn bộ hệ thống đảm bảo chất lượng.

4.2. Kết quả Mong đợi và Lợi ích

Kết quả mong đợi của đồ án website chia sẻ tài liệu học tập là tạo ra nền tảng chia sẻ tài liệu hoàn thiện, bảo mật. Sinh viên sẽ hiểu rõ quy trình phát triển website từ A đến Z, nắm vững công nghệ ASP.Net MVC, Elasticsearch. Hệ thống có khả năng mở rộng với các chức năng mới trong tương lai, đáp ứng nhu cầu chia sẻ tài liệu học tập ngày càng tăng của cộng đồng người dùng.

28/12/2025

Trích đoạn nội dung tài liệu

Chương 1 - TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu về đề tài 1.1 Tài liệu có giá trị to lớn trong mọi mặt đời sống Giá trị của tài liệu là khả năng đáp ứng mọi nhu cầu sử dụng thông tin tài liệu của con người đối với các mặt hoạt động xã hội. Trong xã hội có rất nhiều lĩnh vực hoạt động, do vậy giá trị của tài liệu cũng đa dạng và được tổ hợp thành các nhóm khác nhau. Học tập và giảng dạy là một trong những lĩnh vực cần số lượng lớn tài liệu. Đối với lĩnh vực này tài liệu đóng vai trò rất quan trọng, bằng cách hỗ trợ học tập, chúng có thể làm tăng đáng kể thành tích của học sinh, sinh viên.

Những tài liệu này hỗ trợ quá trình học tập bằng cách cho phép học sinh khám phá kiến thức một cách độc lập cũng như luyện tập các dạng đã làm. Tài liệu học tập, bất kể loại nào, thì tất cả đều đóng một vai trò nhất định đối với việc học của học sinh, sinh viên.2 Lý do chọn đề tài Hiện nay trên thị trường có rất nhiều website chia sẻ tài liệu kể cả miễn phí lẫn tính phí như “cuuduongthancong.vn”,… nhưng hầu hết các website trên đều chỉ tập trung vào chia sẻ tài liệu mà chưa cho phép người dùng đăng tải các bài viết chia sẻ kiến thức, kinh nghiệm của mình. Các website này cũng chưa cung cấp cho người dùng các công cụ lưu trữ và quản lý hệ thống bài viết mà họ yêu thích. Do vậy em quyết định lựa chọn đề tài “Xây dựng website chia sẻ tài liệu học tập”.

Bên cạnh việc cung cấp các chức năng cơ bản như các website hiện có, đề tài cũng cấp thêm cho người dùng các chức năng đăng tải bài viết, lưu trữ là quản lý hệ thống bài viết yêu thích.2 Đối tượng nghiên cứu Đồ án này hướng đến nghiên cứu các đối tượng sau: ❖ Các công nghệ: − .NET MVC − Entity framework − MS SQL 1 − Redis − MinIO − Elastic Search − Cloudinary − Bootstrap ❖ Đối tượng trong phạm vi đề tài hướng đến: − Người dùng có nhu cầu tìm kiếm, tra cứu và chia sẻ tài liệu. − Nhân viên quản lí, kiểm duyệt nội dung. − Nhân viên quản trị viên của website.3 Phạm vi nghiên cứu Đề tài tập trung vào nghiên cứu về ứng dụng website chia sẻ tài liệu học tập, phục vụ người dùng có nhu cầu tìm kiếm, chia sẻ tài liệu học tập.4 Phương pháp nghiên cứu Em đã sử dụng các phương pháp nghiên cứu: - Phương pháp đọc tài liệu. - Phương pháp phân tích các ứng dụng hiện có.5 Nhiệm vụ của đề tài Đề tài “Website chia sẻ tài liệu học tập” là một ứng dụng chạy trên nền web đáp ứng các yêu cầu sau: - Cung cấp đầy đủ các tính năng tìm kiếm, chia sẻ, lưu trữ tài liệu cho nhiều đối tượng khác nhau.

- Cung cấp đầy đủ các tính năng phục vụ việc kiểm soát, quản lí tài nguyên và hoạt động của website.6 Mục tiêu của đề tài - Tìm hiểu cách xây dựng ứng dụng web. - Tìm hiểu về kiến trúc hệ thống, những công nghệ liên quan. - Xây dựng thành công ứng dụng website chia sẻ học tập. 2 Chương 2 - CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về ASP.1 Giới thiệu MVC là viết tắt của Model-View-Controller.NET, MVC là một dạng mô hình kiến trúc phân cách một ứng dụng web thành ba thành phần: Model, View và Controller.2 Cấu trúc ASP.NET MVC Models: Model là thành phần chứa các phương thức xử lý logic, kết nối và truy xuất database, mô tả dữ liệu, ….

Views: View là thành phần hiển thị thông tin, tương tác với người dùng. Controller: Controller là thành phần điều hướng, là chất kết dính giữa model và view, có nhiệm vụ nhận những requests từ người dùng, tương tác với model để lấy thông tin và gửi cho view để hiển thị lại cho người dùng.3 Ưu điểm của ASP.NET MVC − Thích hợp cho các ứng dụng lớn có tính chất phức tạp bằng cách chia ứng dụng thành ba thành phần model, view, controller. − Loại bỏ view state hoặc server-based form. Điều này khiến lập trình viên tốn nhiều thời gian hơn nhưng sẻ quản lý tốt ứng dụng của mình.

− Sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests chỉ thông qua một Controller do đó việc định tuyến sẽ dễ dàng hơn. − Hổ trợ tốt cho việc test từng phần. − Hỗ trợ tốt cho các ứng dụng có nhiều lập trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng.2 Tổng quan về Microsoft SQL Server 2.1 Giới thiệu Microsoft SQL Server là một phần mềm được phát triển bởi Microsoft và nó được sử dụng để có thể dễ dàng lưu trữ cho những dữ liệu dựa theo tiêu chuẩn RDBMS.2 Các thành phần cơ bản trong SQL Server Các thành cơ bản trong SQL Server gồm có: Reporting Services, Database Engine, Integration Services, Notification Services, Full Text Search Service, … Tất cả kết hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc phân tích và lưu trữ dữ liệu trở nên dễ dàng hơn. − Database Engine: Đây là một engine có khả năng chứa dữ liệu ở các quy mô dưới dạng support và table.

Ngoài ra, nó còn có khả năng tự điều chỉnh, ví dụ: trả lại tài nguyên cho hệ điều hành khi một user log off và sử dụng thêm các tài nguyên của máy khi cần. − Integration Services: Là tập hợp các đối tượng lập trình và các công cụ đồ họa cho việc sao chép, di chuyển và chuyển đổi dữ liệu. Khi các lập trình viên làm việc trong một công ty lớn thì dữ liệu được lưu trữ ở nhiều nơi khác nhau như được chứa trong: Oracle, SQL Server, DB2, Microsoft Access, … và chắc chắn sẽ có nhu cầu di chuyển dữ liệu giữa các server này. Ngoài ra, các lập trình viên còn muốn định dạng dữ liệu trước khi lưu vào database.

Chắc chắn Integration Services sẽ giúp họ giải quyết được công việc này dễ dàng. − Analysis Services: Đây là một dịch vụ phân tích dữ liệu của Microsoft. Dữ liệu khi được lưu trữ vào trong database mà người dùng không thể lấy được những thông tin bổ ích thì coi như không có ý nghĩa gì. Chính vì thế, công cụ này ra đời giúp người dùng trong việc phân tích dữ liệu một cách hiệu quả và dễ dàng bằng cách dùng kỹ thuật khai thác dữ liệu – datamining và khái niệm hình khối nhiều chiều – multi dimendion cubes.

− Notification Services: Dịch vụ thông báo này là nền tảng cho sự phát triển và triển khai các ứng dụng soạn và gửi thông báo. Ngoài ra, dịch vụ này còn có chức năng gửi thông báo theo lịch đến hàng ngàn người dăng ký sử dụng trên nhiều loại thiết bị khác nhau. − Reporting Services: Là một công cụ tạo, quản lý và triển khai báo cáo bao gồm: server và client. Ngoài ra, nó còn là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo.

4 − Full Text Search Service: Là một thành phần đặc biệt trong việc truy vấn và đánh chỉ mục dữ liệu văn bản không cấu trúc được lưu trữ trong các cơ sở dữ liệu SQL Server. − Service Broker: Là một môi trường lập trình cho việc tạo ra các ứng dụng trong việc nhảy qua các Instance.3 Ưu điểm của SQL Server − Người dùng có thể sử dụng nhiều phiên bản MS SQL khác nhau trên cùng 1 máy. − Người dùng có thể phát triển và duy trì riêng biệt các môi trường thử nghiệm khác nhau. − Xây dựng và duy trì các loại máy chủ dự phòng.

− Hạn chế tối đa các vấn đề rủi ro trên cơ sở dữ liệu.3 Tổng quan về Redis 2.1 Giới thiệu Redis được xem là một cơ sở dữ liệu nằm trong bộ nhớ, chính vì vậy dữ liệu đều được lưu trữ nằm trên bộ nhớ (RAM) của máy chủ. Điều này giúp cho việc đọc cũng như truy xuất dữ liệu được nhanh chóng hơn mà không cần phải chờ cho đến khi ổ cứng truyền thống phải tìm kiếm và phải đọc ghi nhiều lần. Bởi vì là một NoSQL database vậy nên redis sẽ cho phép người dùng có thể tạo được các cấu trúc dữ liệu đơn giản và nhanh gọn hơn bao giờ hết 2.2 Các kiểu dữ liệu trong Redis Khác với RDMS như MySQL, hay PostgreSQL, Redis không có table. Redis lưu trữ data dưới dạng key-value.

Redis hỗ trợ rất nhiều kiểu dữ liệu khác nhau như: − STRING, INTEGER, FLOAT: Redis có thể làm việc với cả string, từng phần của string, cũng như tăng/giảm giá trị của integer, float. − LIST: List là một danh sách của string, sắp xếp theo thứ tự insert. Redis có thể thêm một phần tử vào đầu hoặc cuối list. List phù hợp cho các bài toán cần thao tác với các phần tử gần đầu và cuối vì việc truy xuất này là cực nhanh, cho dù insert cả triệu phần tử.

Tuy nhiên nhược điểm là việc truy cập vào các phần tử ở giữa list rất chậm. 5 − SET: tập hợp các string (không được sắp xếp). Redis hỗ trợ các thao tác thêm, đọc, xóa từng phần tử, kiểm tra sự xuất hiện của phần tử trong tập hợp. Ngoài ra Redis còn hỗ trợ các phép toán tập hợp, gồm intersect/union/difference.

− HASH: Redis lưu trữ hash table của các cặp key-value, trong đó key được sắp xếp ngẫu nhiên, không theo thứ tự nào cả. Redis hỗ trợ các thao tác thêm, đọc, xóa từng phần tử, cũng như đọc tất cả giá trị. − SORTED SET (ZSET): Là 1 danh sách, trong đó mỗi phần tử là map của 1 string (member) và 1 floating-point number (score), danh sách được sắp xếp theo score này. Các phần tử của zset được sắp xếp theo thứ tự từ score nhỏ tới lớn.3 Ưu điểm của Redis − Toàn bộ dữ liệu Redis nằm trong bộ nhớ chính của máy chủ nên hiệu suất rất nhanh.

− Redis có nhiều cấu trúc dữ liệu khác nhau nên đáp ứng được nhu cầu ứng dụng của người dùng. − Redis đơn giản hóa code của lập trình viên bằng cách cho phép họ viết ít dòng code hơn để lưu trữ, truy cập và sử dụng dữ liệu trong các ứng dụng của mình. − Redis sử dụng kiến trúc primary replica và hỗ trợ sao chép không đồng bộ, dữ liệu có thể được sao chép sang nhiều máy chủ khác nhau. Điều này giúp hiệu suất đọc được cải thiện và phục hồi nhanh hơn khi máy chủ chính gặp sự cố ngừng hoạt động.

− Redis là dự án mã nguồn mở đã có cộng đồng lớn tin dùng. Không có giới hạn về nhà cung cấp hoặc công nghệ vì Redis được có tính tiêu chuẩn mở, hỗ trợ các định dạng dữ liệu mở và có tập hợp máy khách phong phú.4 Tổng quan về Elasticsearch 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ