Luận Văn Tốt Nghiệp: Hệ Thống Hỗ Trợ Người Viết Blog Về Công Nghệ

Khóa luận tốt nghiệp nghiên cứu Luận văn tốt nghiệp khoa học máy tính xây dựng hệ thống hỗ trợ người viết blog về công nghệ, vận dụng lý thuyết vào thực tế, đề xuất giải pháp cụ

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

luận văn tốt nghiệp

2022

123
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

TÓM TẮT LUẬN VĂN

1. CHƯƠNG 1: GIỚI THIỆU

1.1. Giới thiệu đề tài

1.2. Giải quyết vấn đề

1.3. Phạm vi đề tài

1.4. Bố cục dự kiến

2. CHƯƠNG 2: GIẢI PHÁP LIÊN QUAN

2.1. Giới thiệu một vài trang blog công nghệ

2.1.1. Trang Medium

2.1.2. Trang HackerNoon

2.1.3. Trang Viblo

2.1.4. Trang HubPages

2.1.5. Trang Tinh tế

2.2. Phân tích chức năng chính của các trang

2.3. Đề xuất một số chức năng cho hệ thống

2.3.1. Chức năng cơ bản

2.3.2. Chức năng nâng cao

3. CHƯƠNG 3: CƠ SỞ LÝ THUYẾT

3.1. Các công nghệ phía Client

3.1.1. Single page application

4. CHƯƠNG 4: BÀI TOÁN VÀ GIẢI PHÁP

4.1. Hệ thống tự động duyệt bài

4.1.1. Bài toán phân loại hình ảnh

4.1.2. Bài toán phát hiện ngôn ngữ

4.1.3. Kiểm duyệt nội dung bản quyền

4.2. Xếp hạng bài viết

4.2.1. Tính điểm bài viết

4.2.2. Xếp hạng bài viết và tag dựa trên điểm của các bài viết

4.2.3. Xếp hạng bình luận

4.3. Hệ thống đề xuất bài viết

4.3.1. Giải thuật Neighborhood-based Collaborative Filtering

4.3.2. Áp dụng giải thuật Neighborhood-based Collaborative Filtering cho hệ thống

4.4. Cơ chế xếp hạng thành viên

5. CHƯƠNG 5: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

5.1. Các actor xuất hiện trong hệ thống

5.2. Phân tích yêu cầu nghiệp vụ

5.2.1. Người dùng chưa có tài khoản

5.2.2. Người dùng đã có tài khoản

5.2.3. Quản trị viên

5.3. Yêu cầu phi chức năng

5.4. Tổng quan usecase hệ thống

5.5. Đặc tả chi tiết usecase

5.5.1. Xem bài viết

5.5.2. Tìm kiếm thông tin

5.5.3. Xem trang cá nhân tác giả

5.5.4. Xem trang bảng tin

5.5.5. Tùy chỉnh bố cục danh sách bài viết

5.5.6. Tùy chỉnh chế độ tối sáng

5.5.7. Chia sẻ bài viết

5.5.8. Xem/sửa thông tin cá nhân

5.5.9. Xem/Xóa danh sách tác giả đã theo dõi

5.5.10. Xem/xóa/sửa danh sách bài đã viết

5.5.11. Quản lý quy định duyệt bài

5.5.12. Bình luận về bài viết

5.5.13. Like bài viết

5.5.14. Báo cáo người dùng

5.5.15. Xem các báo cáo về nội dung và người dùng

5.5.16. Xem danh sách bài viết đã duyệt

5.5.17. Xem danh sách người dùng

5.5.18. Cấm đăng bài đối với tác giả

5.5.19. Xem tin nhắn của người dùng

5.5.20. Xem danh sách tác giả bị cấm đăng bài

5.5.21. Gỡ lệnh cấm đăng bài

5.6. Kiến trúc hệ thống

5.7. Thiết kế cơ sở dữ liệu

5.7.1. Đặc tả bảng

5.8. Giao diện người dùng

5.9. Cấu trúc mã nguồn

6. CHƯƠNG 6: TRIỂN KHAI VÀ KIỂM THỬ

6.1. Môi trường triển khai server backend

6.1.1. Triển khai database lên Neon

6.1.2. Triển khai redis trên Redis Enterprise Cloud

6.2. Phương thức kiểm thử

6.3. Công cụ kiểm thử

6.4. Đánh giá độ bao phủ của bộ testcase

6.4.1. Đánh giá kết quả đạt được

6.4.2. Đối với tìm hiểu quy trình nghiệp vụ

6.4.3. Đối với công nghệ

6.4.4. Đối với phân tích và thiết kế hệ thống

6.5. Kết quả hiện thực

6.6. Hướng phát triển đề tài

7. CHƯƠNG 7: TỔNG KẾT

DANH SÁCH BẢNG

DANH SÁCH HÌNH VẼ

LINK REPOSITORY GITHUB

Tóm tắt

I. Giới thiệu về hệ thống hỗ trợ viết blog

Hệ thống hỗ trợ viết blog công nghệ cho sinh viên khoa học máy tính nhằm cung cấp một nền tảng cho phép người dùng, đặc biệt là sinh viên, có thể viết và chia sẻ kiến thức về công nghệ. Hệ thống này không chỉ giúp người dùng nâng cao kỹ năng viết mà còn tạo ra một cộng đồng nơi họ có thể tương tác và học hỏi lẫn nhau. Hệ thống viết blog này được thiết kế để đáp ứng nhu cầu của sinh viên trong việc cập nhật thông tin và chia sẻ ý tưởng, đồng thời khuyến khích họ phát triển kỹ năng viếtnội dung số. Một trong những mục tiêu chính của hệ thống là tạo ra một môi trường thân thiện và dễ sử dụng cho người mới, từ đó giúp họ dễ dàng tham gia vào việc viết blog.

1.1. Lợi ích của hệ thống hỗ trợ viết blog

Hệ thống hỗ trợ viết blog không chỉ giúp sinh viên cải thiện kỹ năng viết mà còn tạo ra cơ hội để họ thể hiện bản thân. Việc viết blog về công nghệ thông tin giúp sinh viên nắm bắt kiến thức mới, đồng thời phát triển tư duy phản biện và khả năng phân tích. Hệ thống này cũng khuyến khích sinh viên tham gia vào các hoạt động như bình luận, thảo luận và chia sẻ nội dung, từ đó xây dựng một cộng đồng học tập tích cực. Bên cạnh đó, việc sử dụng các công cụ như công cụ viết blogcông nghệ giáo dục sẽ giúp sinh viên dễ dàng tiếp cận và sử dụng công nghệ trong việc viết và quản lý nội dung của mình.

II. Các chức năng chính của hệ thống

Hệ thống hỗ trợ viết blog sẽ bao gồm nhiều chức năng nổi bật, từ đăng nhập đến quản lý nội dung. Một trong những chức năng cơ bản là khả năng đăng nhập và tạo tài khoản cho người dùng, giúp họ dễ dàng quản lý các bài viết và tương tác với những người khác. Ngoài ra, hệ thống sẽ cho phép người dùng viết blog và chia sẻ nội dung theo nhiều hình thức khác nhau, bao gồm văn bản, hình ảnh và video. Điều này không chỉ giúp sinh viên phát triển nội dung số mà còn khuyến khích sự sáng tạo trong việc trình bày thông tin. Hệ thống cũng sẽ có chức năng đánh giá nội dung, cho phép người dùng nhận xét và bình luận về các bài viết, từ đó tạo ra một môi trường tương tác và học hỏi.

2.1. Chức năng nâng cao

Ngoài các chức năng cơ bản, hệ thống còn có những chức năng nâng cao như tạo chủ đề, bảng xếp hạng, và xu hướng. Người dùng có thể dễ dàng tạo ra các chủ đề riêng cho bài viết của mình, giúp phân loại và tổ chức nội dung một cách hợp lý. Bảng xếp hạng sẽ giúp người dùng theo dõi các bài viết nổi bật và được yêu thích nhất, từ đó thúc đẩy sự cạnh tranh và động lực cho người viết. Hệ thống cũng sẽ cung cấp các công cụ phân tích để người dùng có thể theo dõi hiệu suất của các bài viết, từ đó cải thiện kỹ năng viết và nội dung của mình.

III. Công nghệ sử dụng trong hệ thống

Hệ thống hỗ trợ viết blog sẽ được xây dựng dựa trên các công nghệ hiện đại như NodeJS, PostgreSQL, và Redis. NodeJS sẽ được sử dụng để phát triển phần backend của hệ thống, giúp xử lý các yêu cầu từ người dùng một cách nhanh chóng và hiệu quả. PostgreSQL sẽ được sử dụng làm cơ sở dữ liệu, cung cấp khả năng lưu trữ và truy xuất dữ liệu một cách an toàn và đáng tin cậy. Redis sẽ hỗ trợ trong việc lưu trữ dữ liệu tạm thời, giúp cải thiện tốc độ truy cập và hiệu suất của hệ thống. Việc áp dụng các công nghệ này không chỉ giúp hệ thống hoạt động mượt mà mà còn đảm bảo khả năng mở rộng trong tương lai.

3.1. Giao diện người dùng

Giao diện người dùng của hệ thống sẽ được thiết kế thân thiện và dễ sử dụng, giúp sinh viên có thể dễ dàng thao tác mà không gặp khó khăn. Các yếu tố như tùy chỉnh giao diệnchế độ tối sáng sẽ được tích hợp, cho phép người dùng lựa chọn trải nghiệm phù hợp với sở thích cá nhân. Hệ thống cũng sẽ cung cấp các hướng dẫn và tài liệu hỗ trợ, giúp người dùng mới có thể nhanh chóng làm quen với các chức năng của hệ thống. Mục tiêu là tạo ra một trải nghiệm người dùng tốt nhất, khuyến khích sinh viên tham gia viết blog và chia sẻ kiến thức về công nghệ.

10/01/2025
Luận văn tốt nghiệp khoa học máy tính xây dựng hệ thống hỗ trợ người viết blog về công nghệ

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

Chương 1: Giới thiệu về đề tài, bối cảnh nảy sinh ra vấn đề, hiện tại vấn đề ấy đã được xử lý như thế nào, mục tiêu của luận văn là gì, mình cần làm gì để cải thiện so với những giải pháp đã được đưa ra. Chương 2: Một số giải pháp liên quan, giới thiệu một số hệ thống blog đang hoạt động trên thị trường. Chương 3: Cơ sở lý thuyết, giới thiệu kiến thức cơ sở và công cụ để hiện thực các giải pháp để giải quyết vấn đề đặt ra. Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 3 Chương 4: Bài toán và giải pháp, nêu ra các bài toán trong hệ thống và cách giải quyết.

Chương 5: Phân tích thiết kế hệ thống, tiến hành phân tích các yêu cầu nghiệp vụ và xây dựng sơ đồ usecase, ERD, kiến trúc hệ thống cũng như cách hiện thực mã nguồn. Chương 6: Triển khai và kiểm thử, cách hệ thống được triển khai, quy trình kiểm thử và kết quả. Chương 7: Tổng kết, đánh giá kết quả đạt được và hướng phát triển của đề tài. Chương 2 Giải pháp liên quan 2.1 Giới thiệu một vài trang blog công nghệ 2.1 Trang Medium Medium là một nền tảng mạng xã hội đơn giản, được xây dựng bởi nhà đồng sáng lập Twitter là Evan Williams và Biz Stone.

Medium cho phép mọi người có thể tự đăng tải bài viết của mình trên tất cả những lĩnh vực ngành nghề và đời sống khác nhau. Ra đời vào tháng 2 năm 2012 và ngày càng thu hút cộng đồng người dùng, đặc biệt ở nước ngoài rất nhiều người thích dùng Medium. Tính đến tháng 5 năm 2017, Medium đã có tới 60 triệu khách truy cập mỗi tháng.2 Trang HackerNoon HackerNoon là một trong những blog công nghệ hàng đầu để tìm hiểu về lập trình, blockchain và khởi nghiệp. Với hơn 7000 người viết và 200.000 người đọc hàng ngày, HackerNoon đã trở thành tiếng nói của giới công nghệ trên toàn thế giới.3 Trang Viblo Viblo bắt đầu được tiến hành phát triển từ khoảng tháng 11/2014, từ một ý tưởng của anh Kobayashi Taihei, lúc đó còn đang là COO của Framgia.

Với phương châm "xây dựng một cộng đồng nơi mọi người có thể tự do chia sẻ kiến thức về IT, bằng tiếng Việt, cho người Việt". Viblo được biết đến là cộng đồng chia sẻ kiến thức về công nghệ thông tin tại Việt Nam, một dịch vụ miễn phí - nơi mọi người có thể viết và đăng tải nội dung liên quan đến các vấn đề kỹ thuật. 4 Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 5 2.4 Trang HubPages HubPages là một nền tảng blog đa trang được ra mắt vào năm 2006. Những người sáng lập là ba cựu nhân viên của Microsoft - Jay Reitz, Paul Deeds và Paul Edmondson.

HubPages khởi đầu là một trang web duy nhất dành cho các nhà văn tự do nhưng đã được mở rộng vào năm 2014 sau khi tiếp quản và sáp nhập với Squidoo. Là một nền tảng có nội dung do người dùng tạo ở cốt lõi của mô hình kinh doanh, HubPages cũng cho phép người dùng tham gia vào các diễn đàn về các chủ đề cụ thể, đăng câu hỏi và câu trả lời trong phần Hỏi & Đáp của nó, cũng như nhận xét về nội dung của người khác và theo dõi những người dùng khác. Đến nay, nền tảng này tự hào có lượng người xem hàng tháng là 29 triệu lượt xem.000 bài báo đã được xuất bản trên 46.000 trung tâm và có hơn 4,1 triệu bài đăng trên diễn đàn.to Dev Community là một cộng đồng với hơn 640.000 lập trình viên đang cùng nhau học tập và giúp đỡ lẫn nhau. Ở đây bạn có thể tìm thấy nhiều bài viết hay được phân loại theo tuần, tháng, năm.

dựa trên sự đánh giá của các lập trình viên khác.6 Trang Tinh tế Tinhte là tạp chí về công nghệ thông tin lớn nhất hiện nay. Các bài đăng trên web được chính những thành viên cập nhật liên tục mỗi ngày. Bạn sẽ được tư vấn về các thiết bị như máy tính, điện thoại, camera, xe,. Ngoài ra, web còn có chuyên mục rao vặt, nơi bạn có thể bán hoặc tìm mua những thiết bị công nghệ thông tin.2 Phân tích chức năng chính của các trang Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 6 Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 7 Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 8 Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 9 Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 10 Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 11 2.3 Đề xuất một số chức năng cho hệ thống 2.1 Chức năng cơ bản Đăng nhập / Đăng xuất.

Like / Share / Comment. Bảng xếp hạng. Nhắn tin: cho phép nhắn tin giữa những người dùng với nhau. Tùy chỉnh chế độ giao diện: cho phép người dùng thay đổi theo các chế độ có sẵn (dark mode).

Vblog: cho phép đăng bài viết dưới dạng video. Đăng tin ngắn: cho phép đăng những video ngắn dưới 30 giây được hiển thị ở một mục riêng. Chế độ bài viết: riêng tư (chỉ tác giả thấy được), công khai (mọi người đều có thể thấy), người theo dõi (chỉ những người theo dõi mới thấy được). Theo dõi: người dùng có thể theo dõi để xem thông tin bài viết của tác giả.

Trang cá nhân: quản lý bài viết, theo dõi, cấp bậc người dùng. Báo cáo: báo cáo những bài viết hoặc người dùng xấu cho quản trị viên có thể xem xét. Trách nhiệm bài viết: bài viết sẽ được tác giả gắn mác và chịu trách nhiệm về bài đăng của mình (có thể là quan điểm cá nhân, những thông tin hoàn toàn chính xác. ) Bảng tin: cá nhân hóa trải nghiệm người dùng khi những thông tin người dùng quan tâm và người dùng theo dõi sẽ được hiển thị ở đây.2 Chức năng nâng cao Lưu bản nháp: khi gặp sự cố khi soạn thảo hoặc tùy chọn vào lưu bản nháp thì bài viết sẽ được lưu lại dưới dạng bản nháp.

Người dùng có thể xem bản nháp trong Dashboard và tiếp tục hiệu chỉnh. Bản nháp sẽ luôn được lưu lại trừ khi người dùng chọn không lưu. Phân loại người dùng: phân loại người dùng theo nhiều cấp bậc (sơ cấp, trung cấp, cao cấp, chuyên gia). Người dùng khi thỏa các điều kiện về lượt xem, theo dõi và đánh giá sẽ được nâng cấp.

Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 12 Phân loại bài viết theo nhiều tiêu chí: • Chủ đề: chia thành nhiều chủ đề lớn và người dùng có thể gán thủ công trong lúc viết bài hoặc tự động gán dựa vào tag. • Tag: mỗi bài viết cho gán tối đa 4 tag và gán thủ công khi viết bài. • Theo cấp bậc tác giả: các bài viết của chuyên gia sẽ được phân loại riêng. Tự động hóa duyệt bài: đưa ra những quy định chặt chẽ cho bài viết và có hệ thống kiểm tra bài viết để những bài viết đạt yêu cầu có thể tự động được đăng duyệt.

Lịch đăng bài: những bài viết đã đạt tiêu chuẩn kiểm duyệt có thể đăng ngay lập tức hoặc được lên lịch đăng bài trong một khoảng thời gian được định trước. Có thể cài đặt thời gian thông báo cho người theo dõi về khoảng thời gian bài viết được đăng. Tùy chỉnh bố cục: cho phép người dùng tùy chỉnh bố cục của trang web. Chương 3 Cơ sở lý thuyết 3.1 Các công nghệ phía Client 3.1 Single page application Single page application (SPA) là một ứng dụng web giúp nâng cao trải nghiệm người dùng bằng cách sử dụng HTML5 và AJAX.

Đầu tiên khi tải một trang web bất kỳ, SPA sẽ tải một trang HTML đơn, sau đó dựa trên request của người dùng, SPA sẽ tiếp tục tải các HTML khác trong cùng một trang đó, SPA có thể sử dụng một vài thư viện JavaScript như AngularJS, Backbone. Hiểu một cách đơn giản, thì toàn bộ resource của web bao gồm các file CSS, Javascript, master layout hay cấu trúc web page sẽ được tải lần đầu tiên khi chúng ta bắt đầu duyệt một website nào đó. Ở những lần sau, khi chuyển trang khác, client sẽ gửi những ajax request để nhận dữ liệu cần thiết (thường là phần nội dung). Việc này mang đến trải nghiệm cho người dùng web tốt hơn, giảm thời gian phải tải lại toàn bộ trang web, tiết kiệm băng thông cũng như thời gian chờ đợi.

Việc này là trái ngược hoàn toàn với trang web truyền thống khi toàn bộ trang web phải tải lại mỗi khi chuyển trang. 13 Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 14 Để có cái nhìn dễ hiểu hơn, bạn hãy nhìn hình minh họa bên dưới về SPA: Hình 3.1: Hình ảnh ví dụ về single page application Vùng màu xanh được coi là khung hay master page của 1 website, vùng màu đỏ là content của web page sẽ hiển thị và thay thế mỗi khi chuyển trang. Ưu điểm • Web SPA có backend và frontend rõ ràng. • Web SPA sẽ đẩy mạnh xử lý ở frontend.

• SPA nhanh, tất cả (HTML + CSS + JS) chỉ phải tải một lần trong quá trình sử dụng, chỉ có dữ liệu là được chuyển qua lại, tăng tính tương tác giữa người dùng, tìm kiếm, tính toán, xử lý nhanh hơn. Nhược điểm • Không thể sử dụng các thủ thuật SEO cao cấp. • Không phù hợp với các lập trình viên thiếu kinh nghiệm frontend. • Chia tách 2 team frontend và backend sẽ làm tăng chi phí (quản lý, giao tiếp, xử lý xung đột.

• Gia tăng khối lượng công việc. Xây dựng hệ thống hỗ trợ người dùng viết blog về công nghệ 15 3.2 ReactJS ReactJS là một opensource được phát triển bởi Facebook, ra mắt vào năm 2013, bản thân nó là một thư viện Javascript được dùng để xây dựng các tương tác với các thành phần trên website. Một trong những điểm nổi bật nhất của ReactJS đó là việc render dữ liệu không chỉ thực hiện được trên tầng Server mà còn ở dưới Client nữa. ReactJS là một thư viện JavaScript chuyên giúp các nhà phát triển xây dựng giao diện người dùng hay UI.

Trong lập trình ứng dụng front-end, lập trình viên thường sẽ phải làm việc chính trên 2 thành phần sau: UI và xử lý tương tác của người dùng. UI là tập hợp những thành phần mà bạn nhìn thấy được trên bất kỳ một ứng dụng nào, ví dụ có thể kể đến bao gồm: menu, thanh tìm kiếm, những nút nhấn, card,.

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

Bài luận văn tốt nghiệp mang tiêu đề Luận Văn Tốt Nghiệp: Hệ Thống Hỗ Trợ Người Viết Blog Về Công Nghệ của tác giả Đinh Quang Trung và Lê Quang Cảnh, dưới sự hướng dẫn của ThS. Nguyễn Đình Thành, được thực hiện tại Đại học Bách Khoa Thành phố Hồ Chí Minh vào năm 2022. Bài viết tập trung vào việc xây dựng một hệ thống hỗ trợ người dùng viết blog về công nghệ, nhằm nâng cao khả năng sáng tạo nội dung và tối ưu hóa trải nghiệm người dùng trong lĩnh vực công nghệ thông tin. Hệ thống này không chỉ cung cấp các công cụ viết blog mà còn hỗ trợ người dùng trong việc quản lý nội dung và kết nối với cộng đồng.

Để mở rộng kiến thức và khám phá thêm về các chủ đề liên quan, bạn có thể tham khảo các tài liệu sau đây:

Những tài liệu này sẽ giúp bạn có cái nhìn sâu sắc hơn về các vấn đề liên quan đến công nghệ thông tin và sự phát triển nghề nghiệp trong lĩnh vực này.