I. Giới thiệu về đề tài
Đề tài 'Đồ Án Tốt Nghiệp CNTT: Xây Dựng Website Mạng Xã Hội Social Network' được thực hiện nhằm phát triển một nền tảng mạng xã hội mới, phục vụ nhu cầu kết nối và chia sẻ thông tin của người dùng. Mạng xã hội hiện nay đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày, giúp người dùng duy trì mối quan hệ và cập nhật thông tin một cách nhanh chóng. Việc xây dựng một website mạng xã hội không chỉ là một thử thách kỹ thuật mà còn là cơ hội để nhóm nghiên cứu và áp dụng các công nghệ mới như NodeJS, Express, và MongoDB. Mục tiêu chính là tạo ra một giao diện thân thiện, dễ sử dụng, và đáp ứng được các yêu cầu cơ bản của một mạng xã hội hiện đại.
1.1. Lý do chọn đề tài
Mạng xã hội đã trở thành một phần quan trọng trong cuộc sống hiện đại, giúp người dùng kết nối và chia sẻ thông tin. Việc phát triển một mạng xã hội mới không chỉ đáp ứng nhu cầu của người dùng mà còn tạo ra một không gian giao lưu, học hỏi và phát triển. Nhóm đã phân tích các mạng xã hội hiện có để tìm ra những điểm mạnh và yếu, từ đó đưa ra ý tưởng cho một nền tảng mới, thân thiện và phù hợp với người dùng Việt Nam.
1.2. Mục tiêu của đề tài
Mục tiêu của đề tài là phát triển một website mạng xã hội với các tính năng như đăng hình ảnh, bài viết, bình luận và nhắn tin. Website sẽ được thiết kế với giao diện hấp dẫn, dễ sử dụng, nhằm đáp ứng nhu cầu kết nối và chia sẻ thông tin của người dùng. Các chức năng như tìm kiếm, tạo và tương tác bài viết sẽ được tích hợp để tạo ra một trải nghiệm người dùng tốt nhất.
1.3. Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài bao gồm các chức năng cơ bản của một mạng xã hội như đăng ký, đăng nhập, đăng bài, bình luận và nhắn tin. Nhóm sẽ áp dụng các công nghệ như NodeJS, ExpressJS, và MongoDB để xây dựng hệ thống, đồng thời sử dụng Socket để phát triển các tính năng realtime, giúp người dùng có trải nghiệm tốt hơn.
1.4. Phạm vi nghiên cứu
Phạm vi nghiên cứu tập trung vào các chức năng cơ bản của một mạng xã hội, bao gồm tương tác giữa người dùng, quản lý người dùng và quản lý nội dung. Nhóm sẽ phát triển các tính năng như nhắn tin, kết bạn, đăng bài viết và các tương tác xã hội khác, nhằm tạo ra một môi trường kết nối và giao tiếp dễ dàng cho người dùng.
1.5. Ý nghĩa khoa học và thực tiễn
Đề tài không chỉ có tính ứng dụng cao mà còn góp phần vào sự phát triển của mạng xã hội tại Việt Nam. Nhóm đã áp dụng nhiều công nghệ mới trong quá trình thực hiện, từ đó nâng cao kỹ năng và kiến thức cho bản thân. Đề tài này hy vọng sẽ là tài liệu hữu ích cho các sinh viên và những ai quan tâm đến lĩnh vực công nghệ thông tin.
II. KHẢO SÁT HIỆN TRẠNG
Khảo sát hiện trạng là bước quan trọng trong quá trình phát triển website mạng xã hội. Nhóm đã tiến hành phân tích các ứng dụng tương tự để hiểu rõ hơn về ưu nhược điểm của chúng. Việc này giúp nhóm xác định được các yêu cầu cần thiết cho hệ thống, từ đó đưa ra giải pháp tối ưu cho website. Các ứng dụng như Facebook, Zalo, và Instagram đã được xem xét kỹ lưỡng. Mỗi ứng dụng đều có những tính năng nổi bật và hạn chế riêng, từ đó nhóm có thể học hỏi và cải tiến cho sản phẩm của mình.
2.1. Các ứng dụng tương tự đề tài và ưu nhược điểm của chúng
Các ứng dụng mạng xã hội hiện nay như Facebook và Zalo đều có những ưu điểm nổi bật như giao diện thân thiện, tính năng phong phú và khả năng kết nối người dùng nhanh chóng. Tuy nhiên, chúng cũng gặp phải một số vấn đề như bảo mật thông tin và quản lý nội dung không hiệu quả. Nhóm đã phân tích những điểm này để tìm ra giải pháp cho website của mình, nhằm tạo ra một nền tảng an toàn và hiệu quả hơn cho người dùng.
2.2. Yêu cầu bài toán của đề tài
Yêu cầu bài toán của đề tài bao gồm việc phát triển một hệ thống mạng xã hội với các tính năng cơ bản như đăng ký, đăng nhập, đăng bài, bình luận và nhắn tin. Hệ thống cần phải đảm bảo tính bảo mật, khả năng mở rộng và hiệu suất cao. Nhóm sẽ sử dụng các công nghệ hiện đại để đáp ứng các yêu cầu này, từ đó tạo ra một sản phẩm chất lượng cho người dùng.
III. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích thiết kế hệ thống là bước quan trọng để đảm bảo rằng tất cả các yêu cầu của người dùng được đáp ứng. Nhóm sẽ xác định các yêu cầu chức năng và phi chức năng, từ đó mô hình hóa yêu cầu và thiết kế cơ sở dữ liệu. Việc này giúp đảm bảo rằng hệ thống hoạt động hiệu quả và đáp ứng được nhu cầu của người dùng.
3.1. Xác định yêu cầu
Xác định yêu cầu là bước đầu tiên trong quá trình thiết kế hệ thống. Nhóm sẽ thu thập thông tin từ người dùng để hiểu rõ hơn về nhu cầu và mong muốn của họ. Các yêu cầu này sẽ được phân loại thành yêu cầu chức năng và phi chức năng, từ đó giúp nhóm có cái nhìn tổng quan về hệ thống cần phát triển.
3.2. Mô hình hóa yêu cầu
Mô hình hóa yêu cầu giúp nhóm hình dung rõ hơn về cách thức hoạt động của hệ thống. Nhóm sẽ sử dụng các công cụ như sơ đồ use case và sơ đồ phân rã chức năng để mô tả các tương tác giữa người dùng và hệ thống. Điều này không chỉ giúp nhóm hiểu rõ hơn về yêu cầu mà còn tạo điều kiện thuận lợi cho việc phát triển hệ thống sau này.
3.3. Thiết kế cơ sở dữ liệu
Thiết kế cơ sở dữ liệu là một phần quan trọng trong quá trình phát triển hệ thống. Nhóm sẽ xác định các bảng dữ liệu cần thiết và mối quan hệ giữa chúng. Việc này giúp đảm bảo rằng dữ liệu được lưu trữ một cách hiệu quả và dễ dàng truy xuất. Nhóm sẽ sử dụng MongoDB để lưu trữ dữ liệu người dùng, từ đó tạo ra một hệ thống linh hoạt và mạnh mẽ.