CHƯƠNG 1 TỔNG QUAN 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU Trong thời buổi kinh tế thị trường ngày nay, khi mọi thứ đều được công nghệ số hóa từ công việc, thủ tục cho đến các hoạt động giải trí thì việc hẹn hò, kết bạn qua mạng ảo cũng không có gì là lạ. Xã hội hiện đại không cho phép người ta có nhiều thời gian cho các cuộc gặp gỡ, cà phê, ăn uống với những người lạ quá nhiều, thay vào đó, việc trò chuyện, nhắn tin trực tuyến có vẻ là giải pháp giúp tiết kiệm thời gian tìm hiểu và tiện lợi cho các đối tượng hơn. Hơn nữa, nhu cầu tìm kiếm bạn đời, tri kỷ, người chia sẻ với mình cũng luôn là điều thiết yếu đối với bất kỳ ai.
Thay vì tìm hiểu qua bạn bè, qua giới thiệu, giờ đây chỉ với vài cú click chuột, mỗi người đã có thể tự tìm cho mình các đối tượng tiềm năng để hẹn hò, kết bạn, thậm chí tiến tới hôn nhân. Và hình thức này được nhiều người ưa chuộng do không phải phụ thuộc vào người khác, có thể tự lựa chọn theo các tiêu chuẩn mà mình thích. Do đó, việc xây dựng website hẹn hò sẽ đáp ứng các nhu cầu đã được nêu trên của tất cả mọi người một cách nhanh chóng, tiện lợi và dễ dàng nhất. LÝ DO CHỌN ĐỀ TÀI Trong thời buổi hiện nay, khi mà các công nghệ đang ngày càng phát triển trên thế giới cũng như Việt Nam, cùng với đó là sự ra đời của các ngôn ngữ lập trình, các framework cho phép lập trình viên có thể thiết kế và xây dựng các ứng dụng và website theo các hình thức khác nhau.
Và một vấn đề được mọi người quan tâm đó là việc hẹn hò, tìm hiểu qua mạng Internet. Trên thị trường xuất hiện khá nhiều ứng dụng và website có chức năng hẹn hò trực tuyến. Tuy nhiên, các trang web này chưa được Việt hóa hoàn toàn, hơn nữa còn thu tiền cho hầu hết các chức năng cơ bản. Việc tìm một trang web hẹn hò dành riêng cho người Việt gần như rất thấp.
Nhận thấy được như cầu của người dùng, nên tôi muốn phát triển và đã chọn đề tài “Xây dựng website hẹn hò” để xây dựng một nơi có thể cho người Việt có thể tìm hiểu và hẹn hò một cách an toàn và không mất phí. MỤC ĐÍCH NGHIÊN CỨU 1. Lý thuyết - Nhằm phục vụ nhu cầu tìm hiểu và hẹn hò cho người dùng. Đảm bảo các tính năng bảo mật, giao diện dễ sử dụng, gần gũi với người dùng.
- Website có thể giúp người dùng lọc ra các tiêu chí mà người dùng muốn, từ đó người dùng có thể tiếp cận đến mục tiêu một cách nhanh hơn. Công nghệ - Áp dụng công nghê .Netcore và Angular framework trong việc xây dựng hệ thống. - Kết nối được cơ sở dữ liệu và quản lý CSDL bằng công nghệ PostgreSQL. 1 - Sử dụng github để quản lý source code.
- Sử dụng entity Framework để truy cập vào CSDL của PostgreSQL. Ứng dụng Xây dựng được một “Website hẹn hò” với các chức năng của một website hẹn hò và triển khai hoạt động thực tế. PHƯƠNG PHÁP NGHIÊN CỨU 1. Giải pháp lý thuyết - Phân tích các tính năng cần thiết để đưa vào hệ thống.
- Đưa ra những công nghệ mới giúp cho trang web tiện nghi và dễ sử dụng. Khảo sát thực tế - Khảo sát và tham khảo những website đã có sẵn trên internet - Khảo sát người dùng có những mong muốn nào khi sử dụng một website hẹn hò. Giải pháp công nghệ - Sử dụng công nghệ .Net Core và Angular để tạo ra một website thân thiện, dễ sử dụng, cho phép người dùng có thể dễ dàng hẹn hò. - Tối ưu và đơn giản hóa trong quá trình sử dụng, nâng cao trải nghiệm của người dùng.
- Nắm bắt và sử dụng thành thạo các kỹ thuật và công nghệ để hoàn thiện, nâng cao và phát triển khả năng của bản thân. - Tiếp thu và lĩnh hội các kiến thức mới về các phần như Backend, Frontend, Database. PHẠM VI ĐỀ TÀI - Vấn đề nghiên cứu: Đề tài nghiên cứu những công nghệ và kỹ thuật cần thiết để xây dựng nên một website với đầy đủ các tính năng nhằm phục vụ nhu cầu hẹn hò. - Về mặt không gian: Đề tài nghiên cứu giới hạn trên phạm vi Internet.
- Về mặt thời gian: Việc nghiên cứu được bắt đầu từ tháng 10 năm 2021 đến tháng 3 năm 2022. 2 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2. Website Website, còn gọi là trang web hoặc trang mạng, là một tập hợp trang web, thường chỉ nằm trong một tên miền hoặc tên miền phụ trên World Wide Web của Internet. Một trang web là tập tin HTML hoặc XHTML có thể truy nhập dùng giao thức HTTP.
Một website gồm nhiều webpage (trang con), đó là các tập tin dạng html hoặc xhtml, được lưu trữ tại một máy tính có chức năng là máy chủ. Thông tin trên đó có nhiều dạng: văn bản, âm thanh, hình ảnh, video,. Mô hình Web API API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác. Nó là viết tắt của Application Programming Interface – giao diện lập trình ứng dụng.
API cung cấp khả năng cung cấp khả năng truy xuất đến một tập các hàm hay dùng. Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng [6].1: Mô hình Web APIs 2. Cách Web API hoạt động - Bước 1: Đầu tiên là xây dựng URL API để bên thứ ba có thể gửi request dữ liệu đến máy chủ cung cấp nội dung, dịch vụ thông qua giao thức HTTP hoặc HTTPS. - Bước 2: Tại web server cung cấp nội dung, các ứng dụng nguồn sẽ thực hiện kiểm tra xác thực nếu có và tìm đến tài nguyên thích hợp để tạo nội dung trả về kết quả.
- Bước 3: Server trả về kết quả theo định dạng JSON hoặc XML thông qua giao thức HTTP/HTTPS. - Bước 4: Tại nơi yêu cầu ban đầu là ứng dụng web hoặc ứng dụng di động, dữ liệu JSON/XML sẽ được parse để lấy data.Sau khi có được data thì thực hiện tiếp các hoạt động như lưu dữ liệu xuống Cơ sở dữ liệu, hiển thị dữ liệu… [6]. Ưu điểm và nhược điểm Mỗi một ứng dụng bất kỳ đều có những ưu nhược điểm riêng, hỗ trợ tốt cho các ứng dụng. Vì vậy mà web Api cũng không ngoại lệ a.
Ưu điểm - Hiện nay, web API được sử dụng hầu hết trên các ứng dụng desktop, ứng dụng mobile và ứng dụng website. - Linh hoạt với các định dạng dữ liệu khi trả về client: Json, XML hay định dạng khác. - Nhanh chóng xây dựng HTTP service: URI, request/response headers, caching, versioning, content formats và có thể host trong ứng dụng hoặc trên IIS. - Mã nguồn mở, hỗ trợ chức năng RESTful đầy đủ, sử dụng bởi bất kì client nào hỗ trợ XML, Json.
- Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter, model binder, IoC container, dependency injection, unit test. - Giao tiếp hai chiều được xác nhận trong các giao dịch, đảm bảo độ tin cậy cao. Nhược điểm Do web API còn khá mới nên chưa thể đánh giá nhiều về nhược điểm của mô hình này. Tuy nhiên, có hai nhược điểm dễ dàng nhận thấy: - Web API chưa hoàn toàn phải là RESTful service, mới chỉ hỗ trợ mặc định GET, POST - Để sử dụng hiệu quả cần có kiến thức chuyên sâu, có kinh nghiệm backend tốt.
- Tốn thời gian và chi phí cho việc phát triển, nâng cấp và vận hành. - Có thể gặp vấn đề bảo mật khi hệ thống bị tấn công nếu không giới hạn điều kiện kỹ [6]. CÔNG NGHỆ ÁP DỤNG 2. Khái niệm Angular là một javascript framework do google phát triển để xây dựng các Single Page Application (SPA) bằng JavaScript , HTML và TypeScript.
Angular cung cấp các tính năng tích hợp cho animation , http service và có các tính năng như auto- complete , navigation , toolbar , menus ,… Code được viết bằng TypeScript , biên dịch thành JavaScript và hiển thị tương tự trong trình duyệt. Ưu điểm của Angular - Dễ dàng tạo ra các Single Page Application. - Mang lại cảm giác linh hoạt, thân thiện khi cung cấp khả năng data binding tới HTML. - Dễ dàng Unit test.
- Tái sử dụng component một cách dễ dàng. - Tiết kiệm thời gian viết code và tích hợp nhiều chức năng hơn. - Chạy được trên nhiều loại trình duyệt. Cơ chế hoạt động Angular sẽ làm các bước sau đây để hiển thị trang home khi chúng ta chạy ng serve -o.
- Angular sẽ load file index. - Angular tiếp tục nạp các thư viện và các thư viện bên thứ 3 vào. - Angular sẽ load file main. - Trong file main.ts Angular sẽ load module cha là app.ts ta load lên module cha component (root) hay còn gọi là root component.
Trong dự án Angular ta sẽ có nhiều component. Mỗi component là 1 phần của view hiển thị cho người dùng. - Trong module component sẽ có các file html,css (view) lúc đó sẽ hiển thị trang web cho người dùng. Cấu trúc thư mục của angular Hình 2.3: Cấu trúc thư mục của Angular Bảng 2.1: Giải thích Cấu trúc thư mục của Angular Thành phần Mô tả .editorconfig file này dùng để cấu hình nếu trình soạn thảo code chúng ta dùng là Visual Studio.
Mình có thể thay đổi cấu hình tại đây.gitignore dùng để mô tả file nào được đưa lên github file nào không được đưa lên.json dùng để cấu hình lại Angular Cli. browserslist những phiên bản browser sẽ tương thích với dự án angular.js file này dùng để chạy các testing (kiểm thử) các chức năng.json Dùng để lock version cho các Node.js module dependencies.json Tập tin cấu hình cho Node.js module dependencies.json file này chứa các thư viện cần thiết cho dự án angular, ngoài ra nếu ta thêm một thư viện bên thứ 3 vào thì khai báo trong này.js dùng để kiểm tra code có chất lượng hay không, có dễ đọc hay dễ bảo trì không, có theo chuẩn không. Thư mục e2e chức các file liên quan đến việc testing. Angular sử dụng thư viện protractor để thực hiện automation test trên các trình duyệt.
thư mục node_modules nơi chứa các thư viện và được download về cho dự án angular. Nó được quản lý bằng NPM có nghĩa là ta dùng NPM để xoá, thêm các thư viện. thư mục src nơi chứa các source khi chương trình chạy. Đây là nơi tập trung các dòng code của ứng dụng angular.
Thư mục assets thư mục này sẽ chứa các file ảnh, CSS, custom JavaScript của ứng dụng Angular. Thư mục environments chúng ta có thể viết ứng dụng chạy trên nhiều môi trường khác nhau, đây chính là thư mục giúp chúng ta làm định nghĩa các tập tin cấu hình cho những môi trường khác nhau đó.