Chương 1: Tổng quan. Ở chương này, đồ án trình bày tổng quan về trang web, phân tích tương quan tài liệu để từ đó đưa ra các mục tiêu và giới hạn nghiên cứu của đề tài cũng như bố cục của đồ án. 3 do an Chương 2: Cơ sở lý thuyết. Trình bày nghiên cứu và các lý thuyết ngôn ngữ liên quan về trang web tìm kiếm phòng trọ.
Chương 3: Thiết kế hệ thống. Thiết kế trang admin, client, các khối chức năng và nguyên lý hoạt động của toàn bộ hệ thống. Chương 4: Kết quả, kết luận và hướng phát triển. Kết quả thực hiện sau khi hoàn thành hệ thống, dựa trên những kết quả mà nhóm đã thực hiện.
Đưa ra những kết luận đã hoàn thành và chưa hoàn thành. Những mặt hạn chế của đề tài và hướng phát triển của đề tài trong tương lai. 4 do an Chương 2 CƠ SỞ LÝ THUYẾT 2.1 Tìm hiểu về các ngôn ngữ lập trình 2.1 Ngôn ngữ HTML HTML là một ngôn ngữ để thiết kế trang web, html sẽ tạo ra những button, form, text, popup,navigation, : hình ảnh, media … để client có thể tương tác với nhau. Các trình duyệt sẽ đọc tập tin HTML và hiển thị chúng dưới dạng trang web.
Các trang HTML được gửi đi qua mạng internet theo giao thức HTTP. HTML sẽ kết hợp với CSS,Javascript để tạo hiệu ứng động cho trang web.Với ngôn ngữ HTML thì chưa thể tạo thành một trang web hoàn chỉnh phải kết hợp với những ngôn ngữ PHP,CSS,Javascript để tạo thành một trang web hoàn chỉnh .HTML được tương thích với mọi hệ điều hành, trình duyệt của nó. HTML dễ học, dễ viết, soạn thảo hết sức đơn giản, chúng ta có thể dùng word, notepad hay bất cứ một trình soạn thảo văn bản nào để viết và chỉ cần lưu với định dạng “.htm” là đã có thể tạo ra một file chứa HTML 2.2 Ngôn ngữ CSS CSS là một ngôn ngữ để sử lý hình trong những ngôn ngữ HTML, XHTML, XML, SVG, hay UML,…CSS quy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộc tính của các thẻ đó (font chữ, kích thước, màu sắc. CSS có cấu trúc đơn giản và sử dụng các từ đơn giản để đặt tên cho các thuộc tính.
CSS khi sử dụng có thể viết trực tiếp vào mã HTML hoặc tham chiếu từ một file css riêng biệt thông qua id hoặc class.CSS làm cho các trang web có sử dụng CSS thì mã HTML sẽ trở nên sinh động hơn, tiết kiệm rất nhiều thời gian và công sức. Tuy nhiên, đối với CSS thì trình duyệt hiểu theo kiểu riêng của nó. Do vậy, việc trình bày một nội dung trên các trình duyệt khác nhau là không thống nhất. CSS cung cấp hàng trăm thuộc tính trình bày dành cho nhiều đối tượng khác nhau, phụ thuộc vào developer có thể kết hợp các thuộc tính giúp mang lại hiệu quả.3 Ngôn ngữ lập trình PHP PHP là một ngôn ngữ mã lệnh được viết cho máy chủ nhằm mục đích đọc những mã lệnh từ phía client đưa lên server sử lý và trả về mã lệnh html trên client.
PHP giúp tạo ra một trang web động, tạo ra sự tương tác giữa client với server. PHP là một ngôn ngữ mã nguồn mở sử dụng rộng rãi cho webserver, dễ dàng phát triển. 5 do an • PHP sử dụng được trên nhiều hệ điều hành • PHP dễ dàng kết nối với cơ sở dữ liệu, có tích hợp sẵn database. • Dễ dàng tạo xóa, đọc các tệp tin trên máy chủ thông qua ngôn ngữ PHP • PHP là ngôn ngữ cấp cao cú pháp đơn giản dễ dàng học • PHP là ngôn ngữ lâp trình phổ biến nhất hiện nay, có nhiều cộng đồng cùng nhau phát triển.4 Ngôn ngữ Javascript JavaScript là một ngôn ngữ dạng script thường được sử dụng cho việc lập trình web ở phía client,kết hợp với html để tạo ra hiệu ứng động trang web.
Là một ngôn ngữ linh động, cú pháp dễ sử dụng dễ dàng lập trình. Ngôn ngữ này được dùng rộng rãi cho các trang web, được dùng để tạo script trong các ứng dụng, dễ dàng phát hiện lỗi trên nhiều trình duyệt và nền tảng khác nhau 2.5 Framework Laravel Laravel là một framework của PHP được cộng đồng phát trển, laravel là một mã nguồn mở, laravel hỗ trợ nhiều lênh có sẵn, viết theo kiến trúc model-view- controller (MVC). Framework laravel ra đời nhầm cải thiện tốc độ sử lý cũng như tốc độ phát triển của một trang web, thay vì code với ngôn ngữ PHP ta chỉ cần gọi các cặp thẻ trong framework. • Laravel framework thiết kế theo mô hình MVC và lập trình hướng đối tượng OOP.
• Router trong laravel sử lý đường luồng cự mạnh. • Laravel framework dễ dàng cài đặt,dễ dàng quản lý và cập nhật những thư viện trong laravel • Laravel framework cho phép phát triển những trang web lớn và phức tạp. • Dễ dàng kết hợp với những framework khác hoặc những ngôn ngữ khác • Ở phía client laravel phát triển theo những component vì vậy developer dễ dàng phát triển và chỉnh sửa • Có tính bão mật cao, hỗ trợ nhiều nền tảng khác nhau.6 Mô hình MVC MVC là một kiến trúc chung để thiết kế trang web hiện nay, MVC chia trang web ra thành những phần riêng biệt cho một người developer dễ dàng phát triển, dễ dàng bảo trì, dễ dàng mở rộng, …. Ngoài ra MVC còn dễ dàng tích hợp thêm nhiều framework, library để cho developer có thể phát triển nhanh trang web của họ thay vì phải say dựng library lại từ đầu.
MVC sẽ tạo ra những component, router để sử lý tốc độ nhanh hơn với phương truyền bất đông bộ. Lớp của MVC gồm có 3 phần chính là Model-View-Controller • Model :là nơi kết nối với database, mỗi model sẽ tạo ra một class/function tương ứng với một table trong bảng database để cho việc truy xuất dữ liệu. • Controller : là nơi để thiết kế những luồng xử lý để xử lý dữ liệu khi có yêu cầu từ client, controller làm môt lớp trung gian để View giao tiếp và truy suất dữ liệu. • View: là nơi chứa giao diện để người dùng có thể tương tác,sử dụng, tìm kiếm nhưng thông tin mà người dung cần Sự tương tác giữa các thành phần • Controller tương tác với qua lại với View • Controller tương tác qua lại với Model • Model và View không có sự tương tác với nhau mà nó tương tác với nhau thông qua Controller.
7 do an Hình 3.1- Sơ đồ khối toàn hệ thống Ưu điểm MVC • Thiết kế kiến trúc rõ ràng dễ dàng phát triển dễ dàng bảo trì • Mỗi mô hình có một chức năng riêng biệt, xử lý những dữ liệu đặt thù của từng mô hình sẽ giúp tăng tốc độ xử lý Nhược điểm MVC • Tốn nhiều tài nguyên lưu trữ • Trang web nhỏ với dung lương lưu trữ nhỏ thì thiết kế MVC sẽ tốn dung lương bộ nhớ ảnh hưởng đến tài nguyên xử lý dữ liệu 2.7 Dịch vụ aws Amazon Web Services (AWS) cung cấp các dịch vụ cơ sở hạ tầng CNTT cho các doanh nghiệp dưới hình thức dịch vụ web -- nay thường được gọi là điện toán đám mây. Một trong những lợi ích chính của điện toán đám mây là cơ hội thay thế chi phí cơ sở hạ tầng trả trước bằng các khoản phí không cố định ở mức thấp có khả năng thay đổi quy mô theo hoạt động kinh doanh của bạn. Chi phí thấp: AWS có mức giá thấp và thanh toán theo mức sử dụng mà không cần trả trước hoặc cam kết dài hạn Linh hoạt: AWS cung cấp cơ sở hạ tầng đám mây toàn cầu cho phép bạn nhanh chóng sáng tạo, thử nghiệm và lặp lại. Thay vì phải chờ hàng tuần hoặc hàng tháng để có phần cứng, ngay lập tức triển khai các ứng dụng mới.
8 do an Mở và linh hoạt: AWS là nền tảng không phụ thuộc vào ngôn ngữ và hệ điều hành. Có quyền chọn nền tảng phát triển hoặc mô hình lập trình hiệu quả nhất cho hoạt động kinh doanh của bạn. Bảo mật : AWS là nền tảng công nghệ bảo mật và ổn định với nhiều chứng nhận và kết quả kiểm tra được công nhận trong ngành: DSS PCI Cấp 1, ISO 27001, FISMA Moderate, FedRAMP, HIPAA và SOC 1 (có tên chính thức là SAS 70 và/hoặc SSAE 16) và báo cáo kiểm tra SOC 2. Các dịch vụ và trung tâm dữ liệu của chúng tôi có nhiều lớp bảo mật vận hành và vật lý để bảo đảm sự toàn vẹn và an toàn cho dữ liệu của bạn 2.2 Một số thư viện hỗ trợ 2.1 Thư viện Ajax AJAX là một làm một phương thức truyền bất đồng bộ để tạo các luồng xử lý trên ứng dụng web động.
Ajax là một kỹ thuật phát triển web có tính tương tác cao và giảm dung lượng xử lý trên server Mô hình được thực hiện thông qua JavaScript, nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị. Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ web. XML là định dạng cho dữ liệu truyền, bất cứ định dạng nào cũng có thể dùng, bao gồm HTML, JSON,.2 Thư viện BOOTSTRAP Bootstrap là một Framework có chứa HTML, CSS, JAVASCRIPT, Framework giúp tiết kiệm được thời gian, xây dựng trang web, xử dụng teamplate của bootstrap cho giao diện Responsive thây vì phải thiết kế thủ công. Responsive sẽ giúp website của bạn hiển thị tương thích với mọi kích thước màn hình, sẽ tùy chỉnh hiện thị được nhiều hơn trên các loại màn hình khác nhau.
Ưu điểm của Bootstrap. • Tiết kiệm thời gian: Boostrap giúp người thiết kế giao diện website tiết kiệm rất nhiều thời gian. Các thư viện Bootstrap có những đoạn code sẵn có để áp dùng vào website của mình. Không phải tốn quá nhiều thời gian để tự viết code cho giao diện của mình.
9 do an • Tùy biến cao: Dựa vào Bootstrap và phát triển nền tảng giao diện của chính mình. • Responsive Web Design: Với Bootstrap, việc phát triển giao diện website để phù hợp với đa thiết bị trở nên dễ dàng hơn. Đây là xu hướng phát triển giao diện website đang rất được ưu chuộng trên thế giới.3 Thư viện JQUERY JQuery là một thư viện của JavaScript.JQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng động và tương tác Ajax, ít tốn thời gian code hơn. Một số tính năng tối quan trọng được hỗ trợ bởi jQuery: • Xử lý sự kiện − jQuery giúp tương tác với người dùng tốt hơn bằng việc xử lý các sự kiện tại chỗ thây đổi mà không làm HTML code thây đổi.
• Hỗ trợ AJAX − jQuery giảm việc sử lý trên server. • Hiệu ứng − jQuery có rất nhiều các hiệu ứng đa dạng và đẹp mắt mà có thể sử dụng trong web.