VIETNAM NATIONAL UNIVERSITY HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY FACULTY OF COMPUTER SCIENCE AND ENGINEERING OOO BK TP.HCM GRADUATION THESIS DEVELOPMENT OF A WEB APPLICATION TO MONITOR STATISTICAL DATA OF REAL ESTATE PROPERTIES DEPARTMENT OF SOFTWARE ENGINEERING INSTRUCTOR: Assoc. Quan Thanh Tho REVIEWER: Assoc. Bui Hoai Thang STUDENT: Pham Minh Tuan 1752595 Ho Chi Minh 7/2021 ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ---------- Độc lập - Tự do - Hạnh phúc TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA:KH & KT Máy tính NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP BỘ MÔN:KHMT Chú ý: Sinh viên phải dán tờ này vào trang nhất của bản thuyết trình HỌ VÀ TÊN: Phạm Minh Tuấn MSSV: 1752595 NGÀNH: KHMT LỚP: CC17KHM1 1. Đầu đề luận án: Development of a Web application to monitor statistical data of real estate properties 2.
Nhiệm vụ (yêu cầu về nội dung và số liệu ban đầu): ✔Investigate front-end and back-end technology for building web applications: ReactJS, Django web framework, Postgres Database, REST-API. ✔ Investigate technologies to crawl real estate data: Scrapy framework, BeautifulSoup Python library. ✔ Investigate Selenium webdriver to collect data in anti-crawling websites. ✔ Investigate and build a price-predicting model using Linear Regression based on collected real estate data.
✔ Crawl data everyday and update new data into database. ✔ Investigate python libraries to implement model and train model with collected data. Ngày giao nhiệm vụ luận án: 03/09/2015 4. Ngày hoàn thành nhiệm vụ: 20/12/2015 5.
Họ tên giảng viên hướng dẫn: Phần hướng dẫn: 1) Quản Thành Thơ 2) 3) Nội dung và yêu cầu LVTN đã được thông qua Bộ môn. CHỦ NHIỆM BỘ MÔN GIẢNG VIÊN HƯỚNG DẪN CHÍNH (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) PGS. Quản Thành Thơ PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ): Đơn vị: Ngày bảo vệ: Điểm tổng kết: Nơi lưu trữ luận án: TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA KH & KT MÁY TÍNH Độc lập - Tự do - Hạnh phúc ---------------------------- Ngày tháng năm PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người hướng dẫn/phản biện) 1. Họ và tên SV: Phạm Minh Tuấn MSSV: 1752595 Ngành (chuyên ngành): KHMT 2.
Đề tài: Development of a Web application to monitor statistical data of real estate properties 3. Họ tên người hướng dẫn/phản biện: PGS. Quản Thành Thơ 4. Tổng quát về bản thuyết minh: Số trang: Số chương: Số bảng số liệu Số hình vẽ: Số tài liệu tham khảo: Phần mềm tính toán: Hiện vật (sản phẩm) 5.
Tổng quát về các bản vẽ: - Số bản vẽ: Bản A1: Bản A2: Khổ khác: - Số bản vẽ vẽ tay Số bản vẽ trên máy tính: 6. Những ưu điểm chính của LVTN: The student has successfully developed a system as required, which consists of the following features: (i) crawling data from real estate web sites; (ii) normalizing and preprocessing data; and (iii) using AI technique for data forecasting. Những thiếu sót chính của LVTN: The student should have conducted more analysis about the business requirement of the project. Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ Không được bảo vệ 9.
3 câu hỏi SV phải trả lời trước Hội đồng: 10. Đánh giá chung (bằng chữ: giỏi, khá, TB): Điểm : 7. Quản Thành Thơ TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA KH & KT MÁY TÍNH Độc lập - Tự do - Hạnh phúc ---------------------------- Ngày 06 tháng 8 năm 2021 PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người hướng dẫn/phản biện) 1. Họ và tên SV: Phạm Minh Tuấn MSSV: 1752595 Ngành (chuyên ngành): Khoa học Máy tính 2.
Đề tài: Development of a web application to monitor statistical data of real estate properties 3. Họ tên người hướng dẫn/phản biện: Bùi Hoài Thắng 4. Tổng quát về bản thuyết minh: Số trang: Số chương: Số bảng số liệu Số hình vẽ: Số tài liệu tham khảo: Phần mềm tính toán: Hiện vật (sản phẩm) 5. Tổng quát về các bản vẽ: - Số bản vẽ: Bản A1: Bản A2: Khổ khác: - Số bản vẽ vẽ tay Số bản vẽ trên máy tính: 6.
Những ưu điểm chính của LVTN: - Showed an understanding about crawling data, especially real estate data, from some popular websites about real estate. - Showed an understanding about some techniques in predicting price based on collected real estate prices. - Designed and implemented a web-based application to show statistics of collected data, and performed some experientations on predicting prices. Những thiếu sót chính của LVTN: 8.
Đề nghị: Được bảo vệ X Bổ sung thêm để bảo vệ Không được bảo vệ 9. 3 câu hỏi SV phải trả lời trước Hội đồng: a. Đánh giá chung (bằng chữ: giỏi, khá, TB): Khá Điểm : 6.5/10 Ký tên (ghi rõ họ tên) Bùi Hoài Thắng Commitment I guarantee that the thesis’s content is written and illustrated on my own. All the contents, which I read from the documents of the technologies will be used in my web application, are defined in the References page and I promise that I do not copy or take the content of others’ thesis without permission.
Thanks First, I want to say thanks to my instructor, Assoc. Quan Thanh Tho for instructing my topic as well as the knowledge to implement the web application from the first step. Beside, I am extremely happy because of my family ’s support during the time I do the thesis and throughout three years of my study at Ho Chi Minh city University of Technology. This work cannot be finished well if I don’t receive many encouragements from my parents and my little brother.
Abstract The real estate market plays an important role in developing Vietnam’s economy. This kind of industry starts growing fast in recent years to respond to the need of customers, and some real estate companies want to collect the data in this area as much as possible to analyze the specific area that abstract most investors as well as sellers. However, the data gained about real estate is enormous with lots of websites. It is hard for them to gather all information at once.
This thesis will introduce a web application that will collect information about real estate websites so that real estate agents can give a precise analysis of the resources-real property. Contents List of Figures 4 1 Overview 7 1.2 Objectives and Scope .1 Single-page Application (SPA) .3 Components and Props .3 AJAX Request - Response .3 Working with Dynamically-loaded Content .1 Mean Squared Error (MSE) .3 Cross Validation Score .9 Underfitting and Overfitting .1 Handling missing data .12 Supported Python Libraries .1 Use-case Diagram .1 Handling duplicated data .2 Formating Item’s name .3 Handling web pages with Selenium .3 Model Evaluation Result .5 Price prediction page. 68 References 68 List of Figures 2.1 Single-page Application .3 How Selenium WebDriver works .4 Non-linear dataset .5 Five-folds cross-validation .10 Data before using Log Transform .11 Data after using Log Transform .1 Use-case diagram .3 CRED System Database Schema .4 Scrapy collected data sample .5 Cu Chi Selling Land dataset .6 Dataset in Ba Thien, Nhuan Duc, Cu Chi .7 Origin dataset in Nguyen Huu Canh, 22, Binh Thanh .8 Dataset after using Log Transformation .9 Dataset Histogram before & after Log Transformation .10 Dataset after removing duplicates .11 Boxplot of area values .12 Divide dataset into equal parts .13 Outliers detection after apply on each part .14 Polynomial Regression degree choosing by train set’s RMSE .15 Polynomial Regression degree choosing by validation set’s RMSE .21 Price prediction page .22 Admin page - Manage users .23 Admin page - Retrain models. 65 1 — Overview In this chapter, I going to introduce about my thesis topic, then I will show the targets and the scope of my thesis for the web application.2 Objectives and Scope .1 Introduction Crawling data is a common fields that appeared in many web application which main function is collecting data.
However a web app that collects and monitor data in real estate fields for common real estate agents is rare. Therefore, they need a software to help them synthesizing all data from other real estate website and then started making analysis about collected data. In the thesis phase, I will implement a web application that will collect information on different real estate websites and display them on my current web page. Clients can register accounts and log in to the web app and view the data.
The web app also provides filter functionality to let users filter the data for custom viewing and help users predict price of a specific real estate properties based on elements like area, street, ward and district. Moreover, the web app provides users a general view of real estate data through the chart displayed on the Dashboard page.2 Objectives and Scope The objectives of the thesis are: Implement a web application to show the data collected. Build a custom crawler to get the data from three main real estate website: bat- dongsan.com, and propzy. Provide some real estate data statistics based on collected data.
Build machine learning models to predict price of real estate properties based on collected data. For a topic scope: The web app is limit for a few users only (less than ten users) and it works locally. The collected real estate posts is limited to only in Ho Chi Minh city only. The real estate post type is selling.
2 — Background Knowledge In this chapter, I am going to illustrate about the knowledge I research to implment the web application including some definitions of the technologies I will use in both Frontend and Backend part 2.3 AJAX Request - Response .9 Underfitting and Overfitting .12 Supported Python Libraries .1 Single-page Application (SPA) A single-page application is a web application that can interact with the clients dynami- cally with an only-one-single web page at the time. Whenever a user changes the content in the web page, it will be rewritten with the new content instead of reloading a new page. Each page of the web application usually has the JavaScript layer at the header or bottom to communicate with the web services on the server-side. The content of the web page is loaded from the server-side in response to events that users make in a current web page like clicking on a link or a button.1: Single-page Application Nowadays, with the development of the technologies used to build web applications es- pecially in the frontend area, there are three popular frameworks that most developers use, that is React JS, Angular JS, and Vue JS.
I will state the comparison between them, and why I choose to use React JS to implement the frontend of my web application. Angular JS Angular JS is a full-fledged MVC framework which provides a set of defined library and functionality for building a web application. It is developed and maintained by Google, was first released in 2010 and it is based on TypeScript rather than using JavaScript itself. Thesis 11 Angular is unique with its built-in two-way data binding feature.
Unlike React, which uses one-way data binding, both React JS and Angular JS use Component to build the web application means that when the component (or a model) is rendered in the view can have different data inside based on the web page the user is seeing. For Angular, when the data in the view changes or also let to the change of the data in the model, while React is not. This is more convenient for developers to build a web application easier.