Đề tài này tập trung vào việc phát triển một ứng dụng website mạng xã hội đầy đủ chức năng, cho phép người dùng thêm, xóa bài viết, Ứng dụng được xây dựng bằng công nghệ chính là sử đụng
Trang 1
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN
Z DAl HOC DIEN LUC
ELECTRIC POWER UNIVERSITY
BAO CAO THUC TAP MON HOC
HE THONG THONG TIN TiCH HOP
DE TAL:
XAY DUNG WEBSITE MANG XA HOI
Giảng viên hướng dẫn : LÊ HOÀN
Trang 3LOI CAM ON
Trong lời đầu tiên của báo cáo chuyên dé học phần “Thực tập hệ thống thông
tin tích hợp” với đề tài thực hiện của em là “Xây dựng website diễn đàn xã hội Threads”, em muốn gửi những lời cảm ơn và biết ơn chân thành nhất của mình tới tat cả những người đã hỗ trợ, giúp đỡ em về kiến thức và tinh thần trong quá trình thực hiện báo cáo chuyên đề
Trước hết, em xin chân thành cảm ơn Thầy Giáo: Lê Hoàn- Giảng viên Khoa
Công Nghệ Thông Tìm, Trường Đại học Điện Lực Hà Nội, người đã trực tiếp hướng dẫn, nhận xét, giúp đỡ em trong suốt quá trình thực hiện báo cáo chuyên đề này
Xin chân thành cảm ơn đến các thầy cô trong Khoa Công Nghệ Thông tin va các phòng ban nhà trường đã tạo điều kiện tốt nhất cho em và các bạn khác trong suốt quá trình học tập và thực hiện báo cáo
Cuối cùng, em xin gửi lời cảm ơn đến gia đình, bạn bè, người thân đã giúp đỡ
em trong quá trình học tập và thực hiện báo cáo
Do thời gian thực hiện có hạn, kiến thức còn nhiều hạn chế nên báo cáo
chuyên đề thực hiện không tránh khỏi những sai sót nhất định Em rất mong nhận
được ý kiến đóng góp của thầy cô giáo và các bạn sinh viên để nhóm em có thêm
kinh nghiệm và tiếp tục hoàn thiện báo cáo của mỉnh
Chung em xin chan thành cảm ơn!
Trang 4LOI NOI DAU
Ngày nay, hang trăm triệu người dùng Internet đang sử dụng hàng ngàn trang web xã hội để kết nối với bạn bè, khám phá “bạn bè” mới va chia sẻ nội dung do người dùng tao ra, nhu anh, video, dau trang xã hội và blog, thậm chí thông qua hỗ trợ nền tang di động cho điện thoại di động Việc sử dụng mạng xã hội đã trở nên quá quen thuộc và phố biến với hầu hết tất cả mọi người, đặc biệt là với giới trẻ Bởi đây được xem là nơi làm việc và giải trí lớn nhất và tốt nhất hiện nay, người dùng đăng tai va chia sẻ sở thích, quan điểm của bản
1 Kết nối và giao tiếp: Mạng xã hội giúp bạn kết nối với bạn bè, gia đình và người khác trên khắp thê giới Bạn có thê duyệt qua hồ sơ của họ, xem ảnh
va chia sé thong tin
2 Chia sẻ nội dung: Bạn có thể đăng tải ảnh, video, bài viết và câu chuyện của mình Điều này giúp bạn thể hiện cá nhân, quảng cáo sản phâm hoặc chia sé kiến thức và sở thích
3 Tìm kiếm thông tin: Mạng xã hội cung cấp một nguồn thông tin phong phú
Bạn có thể tìm kiếm tin tức, hướng dẫn, ý kiến của người khác và nhiều nội
dung khác „ Ộ ;
4 Thiet lap danh tieng va hinh anh ca nhan: Bang cach chia sẻ nội dung chat lượng và tương tác tích cực với người khác, bạn có thề xây dựng danh tiêng
và hình ảnh cá nhân
5 Theo dõi xu hướng và sự kiện: Mạng xã hội s1úp bạn cập nhật về xu
hướng, sự kiện và thông tin mới nhất trong thê giới xã hội
Đề tài này tập trung vào việc phát triển một ứng dụng website mạng xã hội đầy đủ chức năng, cho phép người dùng thêm, xóa bài viết, Ứng dụng được xây dựng bằng công nghệ chính là sử đụng MERN(MongoDB, Express, React, Node) Stack, sur dụng thư viện React cho phần giao diện người dùng và MongoDB và 1S
cho phan backend
Phân frontend sử dụng React xây dụng giao diện người dùng cho phép tương thích đa nền tảng, giúp đảm bảo trải nghiệm người dùng đồng nhất trên các thiết bị khác nhau Phần backend được xây dựng bằng MonpoDB,là một tập hợp framework NoSQL mạnh mẽ, cung cấp khả năng lưu trữ dữ liệu mạnh mẽ và bảo mật và sử dung JavaScript dé xử lý đữ liệu, logic các chức năng của website
Trang 5CHUONG 1: KHẢO SÁT VÀ XÁC LẬP DỰ ÁN 1.1 Giới thiệu về đơn vị thực tập
© FPT IS có tên đầy đủ là Công ty TNHH Hệ thống Thông tin FPT
e _ Có trụ sở tại: Tầng 22, tòa nhà Landmark 72, Keangnam Phạm Hùng,
Nam Từ Liêm, Hà Nội
® Hotline: 024-35626000
® Email: contact@fis.com.vn
e = Website: http://www.fis.com.vn Céng ty Hé théng Théng tin FPT (FPT Information System - FPT IS) la nha tích hợp hệ thống, cung cấp giải pháp hàng đầu Việt Nam và khu vực Sở hữu năng lực công nghệ được thừa nhận bởi các khách hàng và đối tác toàn cầu, FPT IS mang đến những dịch vụ và giải pháp phục vụ các lĩnh vực trọng yếu của từng quốc gia,
như: Viễn thông, Ngân hàng - Tài chính, Y tế, Giao thông vận tải, Tài chính công,
Điện, Nước, Gas và Doanh nghiệp Công ty chúng tôi có gần 2.500 cán bộ nhân viên có trình độ cao, am hiểu nghiệp vụ khách hàng và chuyên sâu trong từng ngành kinh tế Năng lực của chuyên gia FPT IS đã được công nhận với nhiều chứng chỉ công nghệ quốc tế được cấp bởi các nhà cung cấp giải pháp và dịch vụ dẫn đầu thế giới như CIsco, IBM, Microsoft và Oracle.Công ty mẹ của FPT IS — Tap đoàn FPT
- là tên tuổi dẫn đầu về Công nghệ thông tin - Viễn thông tại ASEAN với đội ngũ
hơn 30.000 cán bộ nhân viên trên khắp thế giới, hệ thống 52 chí nhánh, văn phòng
tại 25 quốc gia và vùng lãnh thổ bên ngoài Việt Nam Bốn lĩnh vực hoạt động chính của FPT bao gồm: công nghệ, viễn thông, phân phối - bán lé và giáo dục Là thành viên của một tập đoàn lớn mạnh, FPT IS có nền tảng vững chắc để phát triển bền vững
Sở hữu đội ngũ hơn 1000 chuyên gia và là đối tác chiến lược của nhiều hãng công nghệ hàng đầu thế giới, FPT IS có năng lực cung cấp các giải pháp ERP đặc thủ cho tất cả các ngành kinh tế Các giải pháp của chúng tôi được phát triển dựa trên những xu hướng công nghệ tiên tiến như phân tích đữ liệu lớn (analytics) và di động (mobility), qua đó giúp các doanh nghiệp tận dụng được tối đa lợi ích khi đầu
tư xây dựng hệ thông ERP FPT IS cung cấp đây đủ giai pháp và dịch vụ theo nhu
Trang 6cầu của khách hàng, từ triên khai, mở rộng, nâng cập, bảo trị đên các dịch vụ thuê ngoài ứng dụng và hạ tầng FPT IS cam kết không ngừng hướng tới giá trị doanh
nhiệp, góp phần nâng cao kết quả kinh doanh của khách hàng, hỗ trợ khách hảng
đưa ra quyết định đúng đắn về đầu tư công nghệ và cung cấp nguồn lực, công cụ cũng như dịch vụ tốt nhất
1.2 Giải pháp, dịch vụ và sản phẩm:
Chính phủ số:
Từ nền tảng công nghệ và trải nghiệm thực tế, FPT IS từng bước tối ưu hoá
bộ giải phát công nghệ phục vụ khối Chính phú, là đối tác lâu dải và tận tuy của nhiều Bộ, Ban, Ngành thuộc chính phủ
Đô thị thông minh:
Xây dựng triển khai các mô hình đô thị ứng dụng CNTT và trí tuệ nhân tạo
để quản lý và nâng cao chất lượng, tiêu chuẩn cuộc sống, sử dụng các
nguồn năng lượng và tài nguyên thiên nhiên cách hiệu quả nhằm duy trì
tăng trưởng kinh tế bền vững, mang lại dịch vụ sống tốt nhất cho công dân Giáo dục số:
Phát triển loạt giải pháp công nghệ phục vụ giáo đục, kết hợp sáng tạo của công nghệ hiện đại và các công cụ số đề hỗ trợ quá trinh quản lý, dạy, học,
kiểm tra, đánh giá
Tài chính công:
Triển khai hầu hết hệ thống CNTT hỗ trợ đắc lực cho các hệ thống tài chính công Việt Nam Phát triển các giải pháp số hóa hiện đại hỗ trợ việc xây dựng một nền tảng tài chính hiện đại, đáp ứng các yêu cầu chuyền đổi số của nền kinh tế
Hạ Tầng Số:
Triển khai xây đựng và phát triển cơ sở hạ tầng số quốc gia đồng bộ, hiện
đại, phục vụ Chính phủ số
Trang 7se Giao Thông Số:
Cung cấp 04 nhóm giải pháp gồm: Pháp luật và Thực thi, Quản lý hạ tầng giao thông, Quản lý thiết bị đầu cuối, Quản lý giao thông (ITS)
¢ Viễn Thông:
Bộ danh mục các sản phâm và giải pháp công nghệ hỗ trợ cho kinh doanh
và công tác điều hành cho các doanh nghiệp viễn thông trong và ngoài
nước
e Y Té So:
Phát triển hệ sinh thái Y tế thông minh phục vụ các Sở Y tế và hơn 300 cơ
sở khám/chữa bệnh, cung cấp cho người dân đa dạng các kênh tiếp cận
dịch vụ khám/chữa bệnh
e© Công Dân Số:
Cung cấp giải pháp giúp hạ thấp các rào cản công nghệ, để mọi công dân
có thể sở hữu kỹ năng số, những chuẩn mực đạo đức ở trong môi trường
số, tiền hành định danh và xác thực, thông tin đữ liệu cá nhân và các quyền riêng tư 6 trong méi trường số từ cấp địa phương cho đến cấp quốc gia, và toàn cầu
1.3 Khao sat hiện trạng
EPT Information System (FPT IS) là một công ty cung cấp sản phẩm, giải pháp
va dich vụ chuyển đôi số hàng đầu tại Việt Nam và trong khu vực Với gần 30 năm
đồng hành cùng hơn 10.000 khách hàng từ hơn 25 quốc gia, FPT IS tự tin song hành với khách hàng ở mọi lĩnh vực, giải quyết trọn vẹn bài toán từ tư vấn đến triển
khai1.Các lĩnh vực chính mà FPT IS đang hoạt động bao gồm:Chính phủ số: FPT IS
phát triển các giải pháp để nâng cao hiệu quả và hiệu lực hoạt động của chính phủ Điều này bao gồm việc xác định lộ trình và đây nhanh tiến trình chuyển đôi số trong từng ngành, từng lĩnh vực và từng địa phương
1.Doanh nghiệp SỐ: FPT IS cung cap cac giải pháp quản trị chuẩn quốc tế ERP,
văn phòng không giấy, quản tri nguon lực va điểm chạm số, quản trị nhân sự số, tự động hóa thông minh và nên tảng hạ tầng số Những giải pháp này giúp doanh
nghiệp tối ưu vận hành, đây nhanh tốc độ tăng trưởng và giảm thiểu rủi ro trên lộ trình chuyến đổi số
Trang 81.BFSI (Ngân hàng, Tài chính, Bảo hiểm): FPT IS là đối tác tin cậy tăng tốc
chuyền đổi số cho các tô chức tài chính - ngân hàng Việt Nam suốt 25 năm Họ phát triển giải pháp chuyên sâu cho ngành BFSI, ứng dụng công nghệ mới nhất cùng đội
neũ chuyên gia nhiều năm kinh nghiệm
1.Giáo dục: FPT IS kết hợp ứng dụng công nehệ mới và các thành tựu khoa học trong lĩnh vực giáo dục Họ cung cấp giải pháp công nghệ nền tảng tiên tiến, giúp xóa bỏ mọi rào cản để đáp ứng mọi nhụ câu học tập và đào tạo của tô chức và người dân1.Y tế - chăm sóc sức khỏe: FPT IS cung cấp giải pháp Y tế số phục vụ mọi nhu
cầu từ quản trị CSYT, quản lý bệnh nhân, hỗ trợ KCB, khám bệnh từ xa và nhiều hệ
thống khác
Trang 9Phát triển kinh doanh và thương hiệu: Một số mạng xã hội được tạo ra với mục tiêu thúc đây doanh nghiệp, quảng cáo sản phẩm và xây dựng thương hiệu Chúng tập trung vào việc tạo ra sự tương tác giữa doanh nghiệp và
khách hàng
Tạo nền tảng cho nội dung sáng tạo: Mạng xã hội có thể hỗ trợ việc chia sẻ nội dung sáng tao nhu anh, video, blog va podcast Muc tiêu là tạo ra một
không gian cho người dùng thê hiện bản thân và tạo ra nội dung hấp dẫn
1.4.2 Yêu cầu của dự án:
Dự án yêu cầu xây dựng một trang web xã hội trực tuyến có khả năng lưu trữ, quản lý và truy cập người ding, bai viét và bảo mật Kết nỗi được từ mọi nơi và mọi thiết bị Tuy nhiên, dé đảm bảo tính đầy đủ và sự hiệu quả của hệ thông, cần thêm một sô yêu câu cụ thê sau:
-Tính linh hoạt và mở rộng: Một trang mạng xã hội cần được thiết kế để có tính linh hoạt và khả năng mở rộng Điều này cho phép tô chức mở rộng quy mô hệ thống, bố sung thêm các chức năng và tính năng mới một cách đễ đàng khi nhu cầu
thay đối
Trang 10-Giao diện người dùng thân thiện: Một giao diện người dùng thân thiện và dễ
sử dụng là yếu tổ quan trọng để tạo điều kiện thuận lợi cho việc sử dung va chia sé thông tin Giao diện nên được thiết kế một cách logic, cd cầu trúc rõ rang va dé hiểu Ngoài ra, nên cung cấp các tính năng tìm kiếm mạnh mẽ để giúp người dùng
tìm kiếm thông tin nhanh chóng và chính xác
-Bảo mật thông tin: Bảo mật thông tin là một yếu tố quan trọng trong việc xây dựng một tran web mạng xã hội Cần thiết lập các biện pháp bảo mật để đảm bảo rằng chỉ những người được ủy quyền mới có thế truy cập và chỉnh sửa thông tin nhạy cảm Điều này có thể bao gồm đăng nhập bảo mật, quản lý quyền truy cập và
mã hóa dữ liệu
-Sao lưu và khôi phục dữ liệu: Đề đảm bảo an toàn cho thông tin, hệ thống cần cung cấp khả năng sao lưu và khôi phục đữ liệu Việc sao lưu định kỳ giúp ngăn chặn mất mát dữ liệu trong trường hợp sự cố kỹ thuật hoặc hỏng hóc phần cứng Ngoài ra, cần có khả năng khôi phục dữ liệu từ các bản sao dự phòng trong trường hợp dữ liệu chính bị mắt hoặc bị hong Qua trinh sao lưu và khôi phục dữ liệu nên được thực hiện một cách đáng tin cậy và hiệu quả để đảm bảo an toàn và tính sẵn
sảng của thông tin
Trang 111.4.3 Các chức năng chính của dự án:
- Xây dựng một trang web xã hội bao gồm những chức năng sau:
1 Lập trình bằng những công nghệ sau: MERN + Socket.IO + ChakraUI
2 Sử dụng JWT để xác minh và phân quyền tăng tính bảo mật
3 Tạo/Xoá bài viết
4 Like/Unlike bài viết
5 Comment bài viết
6 Follow/Unfollow người dùng
7 Đóng băng tài khoản
8 Giao diện có chế độ Sáng/Tối
9 Hoan toan Responsive trên mọi thiét bi
10 Ứng dụng Chat có hỗ trợ hình ảnh
11 Có trạng thái đã xem hoặc chưa xem các tin nhắn
12 Có tiếng thông báo khi có tin nhắn mới đến
13 Triển khai trang web bang RENDER
Trang 12CHƯƠNG 2: HỆ THÓNG TÍCH HỢP 2.1 Các khái niệm cơ bản về tích hợp hệ thống thống tin
Tích hợp hệ thống tiếng Anh là System Intepration - SI Trong kỹ thuật, nó
được hiểu đơn giản là kết nỗi một chuỗi các hệ thống con với những tính năng khác
nhau vào một hệ thống lớn Những kết nối này đảm bảo các hệ thống con được gắn
kết chặt chẽ với nhau như một thể thống nhất Mỗi hệ thống được vận hành theo
mục đích riêng của từng doanh nghiệp Tích hợp hệ thống là giải pháp đáp ứng mọi
yêu cầu phức tạp nhất của doanh nghiệp Đặc biệt trong các vấn đề về công nghệ với yêu cầu tùy biến cao
Trong công nghệ thông tin, tích hợp hệ thống giúp tích hợp các hệ thống con TỜI rạc, các phần mềm ứng dụng lại với nhau Điều nay được thực hiện bằng cách sử
dụng các kỹ thuật kết nối Ví dụ như mạng máy tính, tích hợp ứng dụng, quản lý
quy trình, lập trình Tích hợp hệ thông là quy trình giúp gia tăng giá trị và năng lực của hệ thống mẹ nhờ hợp lực tương tác p1ữa các hệ thống con
2.2 Lợi ích của việc tích hợp hệ thống
Tích hợp hệ thống giúp doanh nghiệp tối ưu chỉ phí Sở dĩ như vậy là nhờ khả
năng tích hợp linh hoạt khi được lựa chọn công nghệ, thiết bị, địch vụ phủ hợp Hơn nữa, tích hợp hệ thống còn giúp tối ưu hóa nhu cầu sử dụng Nó giúp doanh nghiệp hoạch định và đầu tư theo từng gia doan cụ thể Tất nhiên điều nảy còn tùy vào khả năng và mức nhu cầu của họ trong giai đoạn đó Đồng thời nó ngăn chặn các rủi ro
từ những môi trường kinh doanh độc hại
Tích hợp hệ thống còn góp phần làm tăng sức cạnh tranh của doanh nghiệp trên thị trường
Cốt lõi dé tích hợp hệ thống thành công nằm ở năng lực của nhà tích hợp hệ thống Năng lực triển khai của kỹ sư tích hợp là nghệ thuật kết nối hệ thống roi rac này thành khối sức mạnh hợp nhất Điều này cảng đúng khi các yếu tổ phần mềm,
phần cứng là như nhau.
Trang 132 Tích hợp Socket.IO đê Cung Cấp Tính năng Thời Gian Thực:
- Socket.IO cung cấp khả năng giao tiếp hai chiều giữa clients va server, cho phép tính năng chat, thông báo và các cập nhật thời øian thực khác diễn ra mượt mà và tức thì
3 REST API với Express.Js:
- RESTful API str dung Express.js dé cung cap cac endpoints ma frontend tng dung (React.js) có thể gọi API này giúp cung cấp một cách để truy cập và thao tac dit liệu từ cơ sở đữ liệu MongoDB
4 Thành Phần Khác Tích hợp Với Hệ Thống:
- API của bên thứ ba: Tích hợp các API ngoài để cung cấp dịch vụ như đăng nhập mạng xã hội, chia sẻ nội dung, hoặc thanh toán trực tuyến
- Tích hợp OAuth: Để tăng cường bảo mật và cung cấp tính năng đăng nhập qua các
platform khac nhau
- Thiết bị đầu cuối: Ứng dụng có thê đễ dàng mở rộng để hỗ trợ di động thông qua React Native hoặc các framework khác
5 Bảo Mật và Hiệu Suất:
- Kiến trúc phải bao gồm chiến lược bảo mật hiệu quả như mã hóa, chính sách CORS, và các biện pháp phòng chống tấn công
- Cân phải có các cơ chê tôi ưu hóa hiệu suât như caching, load balancing, va ma
hoa tot cac static assets
Trang 142.3.2 Các phương pháp tích hợp
1 JWT SON Web Tokens) Tích hợp Xác Thực và Quản lý Phiên Đăng nhập:
Trong hệ thống mạng xã hội dựa trên MERN stack, JWT đóng vai trò quan trọng
trong việc quản lý xác thực người dùng Xác thực dựa trên token cho phép hệ thống
dễ dàng mở rộng, bảo mật và quản lý phiên người dùng một cách hiệu quả
2 Socket.IO để Tích hợp Thời Gian Thực:
Socket.IO sẽ được sử dụng để cung cấp tính năng thời gian thực trên website, tạo trải nghiệm tích cực cho người dùng với việc thực hiện chat trực tiếp, cập nhật trạng, thái và thông báo tức thì, không yêu cầu tải lại trang
3 REST API và Express.Js:
Express.js sẽ làm nền tảng để xây dựng RESTful API, đó là các dịch vụ web cho
phép các ứng dụng khác thủ thuật dữ liệu qua HTTP một cách đơn giản và chuẩn
mực ÁPI này cho phép tích hợp mạnh mẽ giữa frontend (React.Js) và backend
(Node.Js), cũng như giữa hệ thống mạng xã hội và các dịch vụ bên ngoài
4 MongoDB đề Tích hợp Dữ liệu:
Cơ sở đữ liệu MongoDB, một cơ sở dữ liệu không quan hệ (NoSQL), được chọn để lưu trữ dữ liệu do kha nang tich hop dé dang voi Node.js va kha nang mo rộng Sự linh hoat cua MongoDB cting hỗ trợ nhanh chóng thực hiện các thay đổi về schema đáp ứng yêu cầu phát triển của website
5 Frontend React.js va Backend Node.js Tích hợp Hiệu Suất:
React.js sé duoc str dung cho viée thiét ké UI/UX, trong khi Node.js van hanh trên server-side Nho vao JavaScript là ngôn ngữ chính trong cả client và server, việc tích hợp giữa các thành phần trong stack trở nên đễ dàng và nhanh chóng, tối ưu về hiệu suât và quản lý dự án
6 Tích hợp Tính Năng Tùy Chọn Đối Tác và Bên Thứ Ba:
Trang 15Website sẽ kết nỗi với các API từ đối tác và dịch vụ bên thứ ba như Google Maps, thanh toán trực tuyến, hoặc các mạng xã hội khác đề tăng cường tính interactivity
và phố biến
2.3.3 Quá trình tích hợp
1 Khởi tạo Dự án và Thiết lập Môi Trường Phát Triển:
- Tạo cấu trúc thư mục ban dau cho client (str dung React.js) va server (str dung Node.js va Express.Js)
- Cai đặt các gói npm cần thiết như express, mongoose, socket.io, jsonwebtoken và các øói liên quan khác
- Tạo các file cầu hình ban đầu và thiết lập biến môi trường
2 Xây dựng Cơ Sở Dữ hiệu MongoDB:
- Thiết kế sơ đồ cơ sở dữ liệu để đảm bảo mô hình dữ liệu phục vụ đúng yêu cầu của ứng dụng
- Tích hợp Mongoose vào Node.js để tương tác với MongoDB
- Tạo các models cho user, post, message và các đối tượng cần thiết khác
3 Phát Triển Backend API (RESTful APD:
- Xay dung cac routes co ban cho phép CRUD operations trén cac models đã
Trang 16- Thiết kế U1/UX với sự hễ trợ của thư viện React va các components UI phổ biến như Material-UI
- Tích hợp các components với API backend théng qua HTTP requests
- Tạo các services phụ trách xác thực, đăng nhập/đăng xuất sử dụng JWT
7 Chuẩn Bị và Tối Ưu Hệ Thống để Deployment:
- Tối ưu bằng cach minify code, cầu hình web server, và đảm bảo bảo mật tốt
- Deploy backend lên môi trường server (ví dụ: Heroku, AWS) và frontend thông qua dich vy static hosting (vi dy: Netlify, Vercel)
2.2.4 Các công nghệ phần mềm hỗ trợ tích hợp hệ thống thông tin
Đề tích hợp hệ thông thông tin cho dự án website mạng xã hội sử dụng MERN stack với JWT và Socket.IO, sẽ cần kết hợp một loạt công nghệ phần mềm sau:
1 Phát triển Phía Server:
- Node.Js: Môi trường runtine cho JavaScript trên server
- Express.js: Framework Node.js giup tao API nhanh chong
- Mongoose: Thu vién hé tro kết nối và quản lý MongoDB từ Node.Js
2 Phát triển Phía Khách hàng:
- React.js: Thư viện JavaScript để xây dựng giao diện người dùng
- Create React App: Bộ công cụ để khởi tạo dự án React một cách nhanh chóng
Trang 17- Webpack/Babel: Công cụ để build và biên dịch JavaScript hiện đại thành code có thể chạy được trên hầu hết trình duyệt
- bcryptJs: Thư viện p1úp hash mật khẩu một cách an toàn
5 GIao tiếp Thời Gian Thực:
- Socket.IO: Thư viện cho phép giao tiếp hai chiều giữa client và server với
HTTTP long polling hoặc WebSocket.
Trang 18CHƯƠNG 3: PHẦN TÍCH HỆ THÓNG
3.1 Xác định các Actor và biểu đồ use case tong quát của hệ thống
Xác định Actor và Use Case tông quát hệ thông
a) Các Actor
STT Actor Use case
- Dang nhap
- Quan ly Bai Viét
1 User - Quản lý hồ sơ người dùng
- Nhắn tin thời gian thyc
Hình 2.1: Biểu đồ Use Case Tổng quát
Trang 193.2 Phân rã usecase
3.2.1 Usecase đăng nhập, đăng ký
Hình 3.2: Use case phân rã chức năng đăng nhập đăng xuất
Đặc tả usecase đăng nhập, đăng ký, đăng xuất:
® Use case Đăng nhập:
-Người dùng nhập thông tin đăng nhập vào hệ thống, bao gồm tên người dùng
® Use case Đăng ký:
- User điền thông tin yêu cầu để tạo tài khoản mới, bao gồm tên người dùng,
mật khâu, và thông tin cá nhân khác (nếu có)
-Hệ thông kiểm tra tính hợp lệ của thông tin và xác minh xem tài khoản đã tồn
tại hay chưa
Trang 20-Nếu thông tin hợp lệ và tài khoản chưa tồn tại, hệ thống tạo tài khoản mới cho người dùng và cho phép họ đăng nhập
-Nếu thông tin không hợp lệ hoặc tài khoản đã tồn tại, hệ thông thông báo cho người đùng biết và yêu cầu nhập lại thong tin
® Use case Đăng xuất:
-Người dùng chọn tùy chọn Đăng xuất từ giao diện ứng dụng hoặc trang web -Hệ thông xác nhận việc đăng xuất và kết thúc phiên làm việc của người dùng -Người dùng không còn quyền truy cập vào các chức năng
3.2.1.1 Biểu đồ hoạt động cho chức năng đăng nhập, đăng ký, đăng xuất
a) Biểu đồ hoạt động cho chức năng đăng nhập
Hình 3.3: Biểu đồ hoạt động chức năng đăng nhập
Trang 21b) Biểu đồ hoạt động cho chức năng đăng xuất
Hình 3.4: Biểu đồ hoạt động chức năng đăng xuất
Trang 22c) Biéu dé hoat động cho chức năng đăng ký
Hình 3.5: Biểu đồ hoạt động chức năng đăng ký
Trang 233.2.1.2 Biéu đồ trình tự cho chức năng đăng nhập, đăng ký, đăng xuất
a) Biêu đô trinh tự cho chức năng đăng nhập
Hình 3.6: Biểu đồ trình tự cho chức năng đăng nhập
b) Biểu đồ trình tự cho chắc năng đăng xuất
Biểu đồ 3.1: Biểu đồ trình tự cho chắc năng đăng xuất
Trang 24c) Biểu đồ trình tự cho chắc năng đăng ký
Hình 3.8: Biểu đồ trình tự cho chắc năng đăng ký
Trang 253.2.2 Usecase Quan ly bài viết
Hình 3.9: Usecase Quản lý Bài Viết và Tương Tác Người Dùng
- Đặc tả Usecase quản lý bài viết và tương tác người dùng:
+ Tên Usecase: Quản lý Bài Viết và Tương Tác Người Dùng (Posts & User
Interaction Management)
+ Actor chính: Người Dùng (User)
+ Mục tiêu chung: Cho phép người dùng tương tác với bài viết và người dùng khác thông qua các chức năng like, comment, follow và unfollow
+ Tiền điều kiện chung: Người dùng cần phải đã đăng nhập vào hệ thống
+ Hậu điều kiện chung: Cập nhật đữ liệu tương tác của người dùng lên hệ thông dựa trên các hành động thực hiện
Trang 26* Chỉ tiết từng chức năng:
1 Chức năng Bình Luận Bài Viết (Comment Post)
- Mục tiêu: Cho phép người dùng thêm bình luận vào bải viết
- Luồng chính:
1 Người dùng chọn bài viết muốn bình luận
2 Người dùng nhập bình luận vào khung nhập liệu
3 Người dùng gửi bỉnh luận
4 Hệ thống xác nhận và lưu binh luận vào cơ sở dữ liệu
- Hậu điều kiện: Bình luận hiển thị dưới bài viết
2 Chức năng Thích Bài Viết (Like Post)
- Mục tiêu: Người dùng thể hiện sự yêu thích đối với bài viết
- Luồng chính:
1 Người dùng nhắn vào biểu tượng trái tim hoặc nút "Thích" trên bài viết
2 Hệ thống hi nhận va tang sô lượng likes trong cơ sở dữ liệu
- Hậu điều kiện: Số lượt thích trên bài viết tăng lên
3 Chức năng Bỏ Thích Bải Viết (Unlike Post)
- Mục tiêu: Người dùng có thể rút lại sự yêu thích đối với một bài viết
- Luồng chính:
1 Người dùng nhắn vào biểu tượng trái tim đang hiển thị là đã thích hoặc nút
"Đã Thích"
2 Hệ thông ghi nhận và giảm số lượng likes trong cơ sở đữ liệu
- Hậu điều kiện: Số lượt thích trên bài viết giam di
4 Chức năng Theo Dõi Người Dùng (Follow User)
- Mục tiêu: Cho phép người dùng theo đối (follow) người dùng khác
- Luồng chính:
1 Người dùng nhân vào nút "Theo Dõi" trên trang cá nhân của người dùng khác
2 Hệ thống cập nhật danh sách theo dõi và thông báo cho người dùng được theo
dõi
- Hậu điều kiện: Người đùng có một người dùng mới trong danh sách theo dõi
5 Chức năng Bỏ Theo Dõi Người Dùng (Unfollow User)
- Mục tiêu: Người dùng có thể hủy theo dõi (unfollow) người dùng khác
Trang 27Hình 3.10: UseCase Quản lý hồ sơ người dùng
- Tên Usecase: Quản lý Hồ Sơ Newoi Dung (UserProfile Management)
- Actor chính: Người Dùng (User)
- Mục tiêu: Cho phép người dùng quản lý thông tin cá nhân vả các bài viết của họ
- Tiền điều kiện: Người dùng cần phải đã đăng nhập vào tài khoản của mình
- Hậu điều kiện: Cập nhật các thay đổi vào cơ sở dữ liệu và phản ánh chúng trên giao diện noười dùng
* Chỉ tiết từng chức năng:
1 Chức năng Cập Nhật Thông Tin Người Dùng (Update User Information):
- Mục tiêu: Cho phép người dùng cập nhật thông tin cá nhân của họ
- Luồng chính:
1 Người dùng chọn tùy chọn "Sửa Hỗ Sơ" hoặc "Edit Profile"
2 Hệ thống hiển thị form với thông tin hiện tại của người dùng cho phép chỉnh
sửa
3 Người dùng cập nhật thông tin cá nhân như hình đại diện, tên, bịo
4 Người dùng lưu thông tin cập nhật
5 Hệ thống xác minh và lưu thông tin mới vào cơ sở dữ liệu.