CHƯƠNG 1 TỔNG QUAN 1.1 Lý do chọn đề tài Mạng xã hội với cách gọi đầy đủ là “dịch vụ mạng xã hội” hay “trang mạng xã hội”, là nền tảng trực tuyến nơi mọi người dùng để xây dựng các mối quan hệ với người khác có chung tính cách, nghề nghiệp, công việc, trình độ, … hay có mối quan hệ ngoài đời thực. Mạng xã hội có nhiều dạng thức và tính năng khác nhau, có thể được trang bị thêm nhiều công cụ mới, và có thể vận hành trên tất cả các nền tảng như máy tính để bàn, máy tính xách tay, máy tính bảng hay điện thoại thông minh. Mạng xã hội cho phép người dùng chia sẻ câu chuyện, bài viết, ý tưởng cá nhân, đăng ảnh, video, đồng thời thông báo về hoạt động, sự kiện trên mạng hoặc trong thế giới thực. Nếu như trong mô hình mạng xã hội truyền thống, ví dụ như sự kiện hội chợ, đã tồn tại từ lâu trong lịch sử thì mạng xã hội trên web giúp người dùng kết nối với những người sống ở nhiều vùng đất khác nhau, ở thành phố khác hoặc trên toàn thế giới.
Trong thời đại công nghệ 4.0, mạng xã hội đã và đang phát triển mạnh mẽ hơn nhờ vào sự hổ trợ của các công cụ trí tuệ nhân tạo. Song, trên đà phát triển mạnh mẽ của các mạng xã hội phổ biến, mang tính toàn cầu thì trên thị trường lại không xuất hiện các mạng xã hội dành riêng cho người Việt. Đề tài được phát triển với mong muốn tạo ra một mạng xã hội dành cho người Việt, to lớn hơn là để bảo mật tất cả các thông tin trong nước.2 Mục tiêu và chức năng của hệ thống 1.1 Mục tiêu Tạo ra một hệ thống cho phép người dùng có thể kết nối, giao lưu, chia sẻ những thông tin hữu ích trên nền tảng Internet. Ngoài ra, hệ thống còn có mục tiêu là tạo nên một cộng đồng có giá trị, nâng cao vai trò của mỗi người dùng trong việc xây dựng các mối quan hệ.2 Chức năng ✓ Đăng ký, đăng nhập NGUYỄN MINH LUÂN 15 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu ✓ Quản lý thông tin người dùng ✓ Quản lý bài đăng ✓ Quản lý nhóm ✓ Hiển thị bài đăng dưới dạng Timeline ✓ Hiển thị chi tiết bài đăng ✓ Tương tác với bài đăng ✓ Theo dõi qua lại giữa các người dùng ✓ Nhắn tin giữa các người dùng ✓ Thông báo 1.3 Mô tả bài toán ➢ Mục đích của website mạng xã hội là giao diện để người dùng có thể tương tác với các bài đăng, các nhóm, các bình luận, … Chi tiết các chức năng chính của hệ thống như sau: ✓ Đăng ký, đăng nhập: o Đăng ký: Người dùng đăng ký tài khoản với tên đăng nhập là địa chỉ email.
o Đăng nhập: Người dùng đăng nhập vào hệ thống nếu đã có tài khoản. ✓ Hiển thị các bài đăng dưới dạng Timeline: o Mỗi bài đăng trên hệ thống được thiết kế theo dạng thẻ, hiển thị các thông tin như: Người đăng, thời gian đăng tải, trạng thái, hình ảnh, lượt thích,. ✓ Hiển thị chi tiết bài đăng: o Được điều hướng từ mỗi bài viết tương ứng hiển thị ở Timeline. ✓ Tương tác với bài đăng: o Thích: Người dùng có thể để lại một lượt thích cho mỗi bài viết hiển thị ở Timeline.
o Bình luận: Người dùng có thể để lại bình luận cho mỗi bài viết hiển thị ở Timeline. o Xóa bài: người dùng có thể xóa các bài đăng của mình. ✓ Tương tác với nhóm: NGUYỄN MINH LUÂN 16 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu o Người dùng có thể tham gia vào bất kì nhóm nào, đăng các bài viết vào nhóm mình tham gia. o Admin nhóm có thể duyệt thành viên, duyệt bài đăng mới, cập nhật thông tin cho nhóm, mời người dùng khác ra khỏi nhóm của mình.
✓ Theo dõi qua lại giữa các người dùng: o Theo dõi các người dùng khác để có thể thấy được các bài viết của họ ở Timeline. o Những người dùng theo dõi nhau mới có thể nhắn tin cho nhau. ✓ Nhắn tin giữa các người dùng: o Người dùng có thể giao tiếp với nhau qua chức năng nhắn tin. ✓ Thông báo: o Người dùng sẽ nhận được thông báo từ hệ thống khi một ai khác tương tác với mình (Tương tác với bài đăng hoặc nhắn tin).
NGUYỄN MINH LUÂN 17 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu về ASP.1 Tổng quát Hình 2.1 Biểu tượng của ASP.NET là một mã nguồn mở dành cho web được tạo bởi Microsoft. Hiện mã nguồn này chạy trên nền tảng Windows và được bắt đầu vào đầu những năm 2000.NET cho phép các nhà phát triển tạo các ứng dụng web, dịch vụ web và các trang web động. Phiên bản ASP.NET đầu tiên được triển khai là 1.0 được ra mắt vào tháng 1 năm 2002 và hiện nay, phiên bản ASP.NET mới nhất là 4.NET được phát triển để tương thích với giao thức HTTP. Đó là giao thức chuẩn được sử dụng trên tất cả các ứng dụng web.
NGUYỄN MINH LUÂN 18 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), có khả năng hỗ trợ các lập trình viên viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi .NET language, ví dụ: C#, VB.2 Lịch sử phát triển của ASP.NET Sau khi phiên bản Internet Information Service 4.0 được phát hành vào năm 1997, Microsoft tạo mô hình nghiên cứu ứng dứng web để giải quyết những khó khăn của ASP.NET, mục đích chính là tách biệt phần thể hiện và phần nội dung cũng như cách viết rõ ràng hơn. Người được giao nhiệm vụ định hình mô hình ASP lúc đó chính là Mark Anders, quản lý của nhóm IIS và Scott Guthrie. Những thiết kế ban đầu về ASP.NET được Anders và Guthrie thực hiện chỉ vỏn vẹn trong khoảng 2 tháng. Những mã prototype đầu tiên được Guthrie viết trong khoảng thời gian nghỉ lễ Giáng sinh năm 1997.2 Lịch sử phát triển của ASP.NET NGUYỄN MINH LUÂN 19 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu 2.3 Một số đặc điểm của ASP.NET ➢ Trạng thái code rời/Code Behind Mode ASP.NET tách rời những mã code và những bản thiết kế để đảm bảo khả năng duy trì tính ổn định của ứng dụng.
Các file trong ASP.NET được tách rời thành nhiều tệp, giúp người phát triển có khả năng giữ cho ASPX.NET dễ dàng, đơn giản. ➢ Khả năng quản lý các trạng thái/State Management ASP.NET có các công cụ để quản trị, quản lý trạng thái, trong khi HTTP được biết tới là một giao thức “không trạng thái”. Xem xét qua ví dụ về ứng dụng giỏ hàng: khi một người dùng chọn lựa xong những thứ họ muốn mua, tiếp theo họ muố đưa ra quyết định mua hàng trên trang web, lúc này người dùng sẽ nhấn nút gửi. Ứng dụng lúc này cần ghi nhớ các mục mà người dùng đã mua.
Đó chính là hành động nhớ trạng thái của một ứng dụng tại thời điểm mua hàng. Vì HTTP được coi là giao thức không trạng thái nên khi người dùng truy cập các trang web bán hàng, HTTP sẽ không được phép lưu trữ thông tin trên các giỏ hàng. ➢ Bộ nhớ Cache Ngôn ngữ ASP.NET có nhiệm vụ lưu trữ bộ nhớ Cache giúp cải thiện hiệu năng làm việc của những ứng dụng. Công việc này giúp hỗ trợ lưu thông tin, hỗ trợ truy xuất, phản hồi trong một khoảng thời gian ngắn, từ đó tăng hiệu suất làm việc của ứng dụng.4 Cấu trúc và những thành phần của ASP.NET Dưới đây là những phân tích về cấu trúc thành phần của ASP.NET là gì, nó bao gồm những yếu tố: Ngôn ngữ, thư viện và thời gian chạy CLR: ➢ Language/Ngôn ngữ Là tập con của .NET Framework, tại đây có rất nhiều ngôn ngữ lập trình khác nhau phải kể đến như C#, VB.net, PHP, JavaScript, … Trong đó C# và VB.net được sử dụng phổ biến nhất trong ứng dụng phát triển ứng dụng web.
NGUYỄN MINH LUÂN 20 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu ➢ Library/Thư viện ASP. NET Framework gồm có một bộ các lớp library chuẩn. Web library là thư viện được dùng phổ biến nhất cho các ứng dụng web. Web library bao gồm tất cả các thành phần cần thiết sử dụng trong phát triển các ứng dụng web-based.
➢ Common Language Runtime/Thời gian chạy CLR CLR là một trong các cơ sở hạ tầng của phần đông các kiểu ngôn ngữ lập trình phổ thông. Trong đó, CLR thực hiện các tác vụ chính để xử lý các trường hợp đặc biệt và thu gom rác.5 Tại sao nên chọn ASP.NET ➢ Không cần máy tính cấu hình cao Có khá nhiều lý do chính đáng để phát triển một trang web hoặc một ứng dụng trên điện thoại. Đó là, tốc độ cao, chi phí thấp và hỗ trợ ngôn ngữ đa dạng. Đây là một trong những lợi ích đáng kể nhất của mã nguồn này.
Ngôn ngữ ASP.NET được xây dựng trong môi trường máy chủ Windows quen thuộc. Cũng vậy, ASP.NET yêu cầu cấu hình máy không cần quá mạnh giống như các phần mềm khác. Các mã nguồn mở này phải cài đặt cấu hình riêng. Nhất là, đủ mạnh để đáp ứng việc xây dựng web.
Sự phổ biến của ASP.NET giúp cho việc truy xuất và tìm kiếm của các coder dễ dàng hơn. Vì thế, các trang web và app được viết bằng mã nguồn ASP.NET có thể nhanh hơn. Và, mã nguồn này còn hiệu quả hơn về SEO so với trang web được viết bằng PHP, và các mã nguồn khác. ➢ Vì sao không cần cấu hình mạnh? Bởi vì, các ứng dụng ASP.NET được chuyển đổi thành các mã nguồn thực thi.
Quá trình chuyển mã này mất một khoảng thời gian nhỏ, nhưng chỉ diễn ra một lần là xong. NGUYỄN MINH LUÂN 21 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu Sau khi biên dịch, code này có thể được thực thi lặp đi lặp lại trên nền tảng .Net một cách nhanh chóng. Cũng vậy, mã không được thực thi trực tiếp bởi phần mềm mà phải được đọc và biên dịch mỗi lần trước khi được thực thi. Code được biên dịch thường nhanh hơn và dễ tuỳ biến hơn.
Ví dụ như các ngôn ngữ lập trình PHP, JavaScript và Ruby. Quá trình biên dịch cũng cung cấp việc xác nhận tất cả các code trên trang đều được nhất quán.