CHƯƠNG 1. Tổng quan về ngôn ngữ lập trình 1. HTML HTML là một ngôn ngữ đánh dấu được thế kế ra để tạo nên các trang website với mẫu thông tin được trình bày trên World Wide Web.Cùng với CSS và Javascript,HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web. HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp.HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium duy trì.Phiên bản chính thức mới nhất của HTML.Sau đó , các nhà phát triển đã thay thế nó bằng XHTML.Hiện nay ,HTML đang được phát triển tiếp với phiên bản HTML5 Hình 1.
CSS CSS nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML). Ta có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiểu đề, bảng… thì CSS sẽ giúp chúng ta có thể thêm một chút “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc, …. CSS được sử dụng trong Website là công nghệ được phát triển bởi W3C, được dùng để phát triển Front-end. SVTH: Lương Văn Chương Trang 3 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng Hình 1.
PHP PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML.Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Hệ quản trị cơ sở dữ liệu MySQL MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở phổ biến và được sử dụng rộng rãi trên toàn thế giới. Nó được phát triển bởi Oracle Corporation và được phân phối dưới dạng phần mềm miễn phí hoặc có giấy phép thương mại.
MySQL được xây dựng trên ngôn ngữ truy vấn cấu trúc (SQL) và cung cấp một loạt các tính năng và công cụ cho việc quản lý và truy xuất cơ sở dữ liệu. SVTH: Lương Văn Chương Trang 4 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng MySQL là một hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS) hoạt động theo mô hình client-server. RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng. MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.
Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên internet. Framework và thư viện hỗ trợ 1. Giới thiệu Laravel Framework Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trúc model-view-controller (MVC).
Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng , sử dụng hệ thống đóng gói module, quản lý package (Composer), hỗ trợ nhiều hệ quản trị CSDL quan hệ (MySQL, SQLite, PostgeSQL…) Ưu điểm của Laravel: - Sử dụng các tính năng mới nhất của PHP - Nguồn tài nguyên vô cùng lớn và sẵn có - Tích hợp với dịch vụ mail - Tốc độ xử lý nhanh - Dễ sử dụng - Tính bảo mật cao SVTH: Lương Văn Chương Trang 5 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng Hình 1. Thư viện Jquery JQuery là một thư viện được viết bởi ngôn ngữ lập trình JavaScript giúp đơn giản hoá công việc của các lập trình viên. jQuery giúp cho việc xây dựng và sử dụng các chức năng được diễn ra một cách nhanh, dễ dàng và đơn giản hơn. Tính năng là một trong những vấn đề rất được quan tâm mỗi khi sử dụng jQuery.
Với vai trò như một bộ công cụ JavaScript, jQuery giúp cho mọi công việc lập trình được đơn giản hoá cũng như viết ít code hơn. Thư viện Bootstrap Bootstrap là 1 framework HTML, CSS, và JavaScript cho phép người dùng dễ dàng thiết kế website theo 1 chuẩn nhất định, tạo các website thân thiện với các thiết bị cầm tay như mobile, ipad, tablet,. Bootstrap là một bộ sưu tập miễn phí của các mã nguồn mở và công cụ dùng để tạo ra một mẫu webiste hoàn chỉnh. Với các thuộc tính về giao diện được quy định sẵn như kích thước, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sản phẩm mới mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quá trình thiết kế giao diện website.
SVTH: Lương Văn Chương Trang 6 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng Hình 1. Công cụ hỗ trợ xây dựng hệ thống 1. Visual Studio Code Visual Studio Code được biết đến là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS. Nó được phát triển bởi Microsoft là sự kết hợp hoàn hảo giữa IDE và Code Editor.
Trình biên tập này được hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, cùng đó là cải tiến mã nguồn. Ngoài ra, Visual Studio Code còn cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác. Những ưu điểm nổi bật của Visual Studio Code: ▪ Đa dạng ngôn ngữ lập trình giúp bạn thỏa sức sáng tạo như HTML, CSS, JavaScript, C++,… ▪ Ngôn ngữ, giao diện tối giản, tinh tế, giúp người dùng dễ dàng định hình nội dung. ▪ Các tiện ích mở rộng đa dạng, phong phú.
▪ Tích hợp các tính năng bảo mật (Git), tăng tốc xử lý vòng lặp (Debug),… ▪ Có thể đơn giản trong việc tìm quản lý hết tất cả các Code có trên hệ thống. SVTH: Lương Văn Chương Trang 7 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng Hình 1. 8 Ảnh minh họa Visual Studio Code 1. Xampp Xampp là một phần mềm cho phép giải lập môi trường server hosting ngay trên máy tính của bạn, cho phép bạn chạy demo website mà không cần phải mua hosting hay VPS.
Chính vì vậy, Xampp hay được phục vụ cho hoạt động học tập giảng dạy thự hành và phát triển web. Xampp được viết tắt của X + Apache + MySQL + PHP + Perl vì nó được tích hợp sẵn Apache, MySQL, PHP, FTP Server, Mail Server. Còn X thể hiện cho sự đa nền tảng của Xampp vì nó có thể dùng được cho 4 hệ điều hành khác nhau: Windows, MacOS, Linus và Solaris. 9 Ảnh minh họa Xampp SVTH: Lương Văn Chương Trang 8 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng 1.
Lý thuyết xây dựng website Mô hình hoạt động MVC (Server Side Rendering): • Người dùng gửi yêu cầu (HTTP Request) qua một trình duyệt web bất kỳ. Yêu cầu này có thể kèm theo những dữ liệu tới Controller xử lý. Bộ Routing điều hướng sẽ xác định Controller xử lý. • Khi Controller nhận được yêu cầu, nó sẽ kiểm tra yêu cầu đó có cần dữ liệu từ Model hay không.
Nếu có sẽ dùng các class/function trong Model sau đó trả ra kết quả. Khi đó, Controller cũng sẽ xử lý các giá trị đó và trả ra view để hiển thị. Controller sẽ xác định các View tương ứng và hiển thị đúng theo yêu cầu. • Khi View nhận được giá trị từ Controller, chúng sẽ xây dựng các thành phần hiển thị như hình ảnh, thông tin dữ liệu, … rồi trả về GUI content để Controller đưa ra kết quả và hiển thị lên màn hình Browser.
• Browser sẽ nhận được giá trị trả về và hiển thị với người dùng và kết thúc quá trình hoạt động. 10 Ảnh minh họa mô hình MVC SVTH: Lương Văn Chương Trang 9 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Xác định tác nhân - Khách vãng lai - Khách hàng - Quản trị viên (Admin) 2.
Các yêu cầu chức năng 2. Khách vãng lai - Đăng ký tài khoản - Lọc, tìm kiếm theo tin (quận huyện,phường xã, giá , diện tích ) - Xem thông tin tổng quản của website - Xem thông tin hướng dẫn sử dụng - Liên hệ chủ cho thuê - Xem thông tin chi tiết phòng trọ 2. Khách hàng - Đăng nhập/ Đăng xuất - -Xem thông tin website - Lọc, tìm kiếm theo tin (quận huyện,phường xã, giá , diện tích) - Xem thông tin hướng dẫn sử dụng - Xem thông tin bài đăng - Cập nhập thông tin tài khoản - Đăng tin - Cập nhập bài đăng - Nạp tiền - Xem lịch sử nộp tiền , thanh toán tiền 2. Quản trị viên - Đăng nhập/đăng xuất - Xem thống kê - Quản lý địa chỉ - Quản lý danh mục: SVTH: Lương Văn Chương Trang 10 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng - Quản lý tài khoản khách hàng - Quản lý phòng:Xem, xóa và duyệt phòng - Quản lý nạp tiền:Thêm sửa ,nộp tiền vào tài khoản khác hàng - Quản lý thanh toán: Xem lịch sử thanh toán 2.
Yêu cầu chất lượng ứng dụng - Giao diện phù hợp với đối tượng sử dụng, đơn giản và hợp lý - Ngôn ngữ Tiếng Việt - Đảm bảo tính bảo mật cao, an toàn người dùng - Tốc độ xử lý và truy cập cơ sở dữ liệu nhanh. Sơ đồ ERD của hệ thống Hình 2. 1 Sơ đồ Use case SVTH: Lương Văn Chương Trang 11 Xây dựng website tìm kiếm phòng trọ tại thành phố Đà Nẵng 2. Kịch bản cho Use case 2.
Khách vãng lai 2.