This project must be done individually. No copying is permitted. Note: We will use a system for detecting software plagiarism, called Moss, which is an automatic system for determining the similarity of programs. That is, your program will be compared with the programs of the other students in class as well as with the programs submitted in previous years. This program will find similarities even if you rename variables, move code, change code structure, etc.
Note that, if you use a Search Engine to find similar programs on the web, we will find these programs too. So don't do it because you will get caught and you will get an F in the course (this is cheating). Don't look for code to use for your project on the web or from other students (current or past). Don't try to hire a freelancer to do the coding for you. Just do your project alone using the help given in this project description and from your instructor and GTA only.
As in Project #2, you will develop this project on the Omega web server and you will test the project on your PC/laptop using the Mozilla Firefox web browser. Login at omega.uta.edu using SSH and do the following:
cd public_html wget http://lambda.uta.edu/cse5335/project2.tgz tar xfz project2.tgz cp project1/.htaccess project1/.htpasswd project2/ cd project2The project2 directory contains 3 files: proxy.php, map.html, and map.js. As in project #1, you should not change proxy.php. All the web service requests to zillow.com should go through this proxy. See the example in map.js. Your project is to edit map.html and map.js as explained in the description of the web application.
For this project, you will use the
http://omega.uta.edu/~xyz1234/project2/map.html(use your username instead of xyz1234) and by typing the address of some existing house. It will display the estimated value of this house (empty if the address is invalid).
Your program must insert a number of overlay markers on the Google map, where each marker pinned on a house must display the house's postal address and its Zestimate value (the house value) from zillow.com. The same information must be appended at the end of the text display area (third section). There are two ways to create a marker:
Note that the call to the GetSearchResults API must be done using Ajax: inside the callback function (the listener for the left click) of the map, you should create an Ajax request that calls the GetSearchResults API. When the result arrives (this is the callback of the Ajax request), you extract the Zestimate and you display a new overlay marker on the map at the point you clicked. The overlay marker must display the house postal address and its Zestimate. The same information must be appended at the end of the text display area (third section). Note also that the map may display multiple markers with Zestimates and the text display area may contain multiple addresses/zestimates. Basically, each time you enter a new postal address or when you click on the map, if there is a Zestimate, you add a new flag in the map and you append a new entry in the display area. If it is an invalid address or there is no Zestimate value, you don't put any marker and you don't append any entry in the display area. Finally, the Clear button clears all markers from the google map and clears the text display.Hints:
Note that everything should be done asynchronously and your web page should never be redrawn completely. You need only one XMLHttpRequest object for sending a request to Zillow, since Google Maps is already asynchronous.
Important: In the comment on top of your map.html file, put the URL address to run your web application, such as http://omega.uta.edu/~xyz1234/project2/map.html. Use the form below to submit your map.html and map.js files. We do not accept email or hardcopy submissions. You may submit your files as many times as you like, but only the most recently submitted files will be retained and evaluated (newly submitted files replace the old files under the same file name). After you submit the files, please double-check that your submitted files are correct by clicking on the Status link.Last modified: 09/13/14 by Leonidas Fegaras