Question

A Movie Web Application Description The goal of this project is to create a Web application that displays information about movies. This project must use JavaScript and AJAX. This project must

be done individually. No copying is permitted. Note: We will use a system for detecting software plagiarism, called Moss Links to an external site., 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. 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 use ChatGPT or any other Al program to generate code. Just do your project alone using the help given in this project description and from your instructor and GTA only. Finally, you should not post your code nor deploy your project on a public web site./nPlatform You will do this project on your own PC/laptop. You need to install the XAMPPLinks to an external site. web server, which includes the Apache http web server, PHP, MySQL (MariaDB), and PHPMyAdmin (these are the only components you need). It's about 125MBs (775MBs after installation) and can be installed on Windows, Linux, and Mac OS. The installation directory is \xampp for Windows, /opt/1ampp for Linux, and /Applications/XAMPP for Mac. To start the server on Windows, you run \xampp\xampp-control.exe and you start the Apache web server. You may have to change the Security properties of this executable to Full Control for users. To start the server on Linux, run /opt/lampp/xampp start as root (or run the app). If you get the message "XAMPP: Another web server with SSL is already running.", this means you have another web server running (use netstat -nap | grep :443 to see which app is running a web server and kill it). To start the server on Mac OS, run the XAMPP/manager-asx app in Applications, go to Manage Servers, and run the Apache Web Server. You will test the project on your PC/laptop using the Chrome or Chromium-based web browser (as in Project #1). Setting up your project Download the project2 zip file project2.zip Download project2.zip. Unzip it inside your web server document root directory (ie, inside the htdocs sub-directory in the XAMPP/ninstallation directory). On Linux, you may have to do this as the root user and you should add permissions +x and +r). The project2 directory contains 3 files: proxy.php, movies.html, and movies.js. The proxy script proxy.php is used to avoid the cross-domain restriction when using Ajax. All the web service requests to Movies should go through this proxy. See the example in movies.js. Your project is to edit movies.html and movies.js as described in the description of the web application. Description of the Web Application Your project is to develop a web application to get information about movies, their cast, their posters, etc. This application should be developed using plain JavaScript and Ajax. You should not use any JavaScript library, such as JQuery. Note that everything should be done asynchronously and your web page should never be redrawn/refreshed completely. This means that the buttons or any other input element in your HTML forms must have JavaScript actions, and should not be regular HTTP requests. Your application should have a text section where one can type a movie title (eg, The Matrix), one "Display Info" button to search, one section to display the search results, and one section to display information about a movie. The search results is an itemized clickable list of movie titles along with their years they were released. When you click on one of these movie titles, you display information about the movie: the poster of the movie as an image, the movie title, its genres (separated by comma), the movie overview (summary), and the names of the top five cast members (ie, actors who play in the movie). First, you need to register at TMDBLinks to an external site.. Then, you need to get an API Key from the Application Links to an external site. site. Then, you edit proxy.php and you put the API Key in the third line. You test your setup by starting the XAMPP web server, by clicking on this linkLinks to an external site., and by entering a title keyword, e.g. matrix. You need to use the following TMDb HTTP methods listed in The Movie Database APILinks to an external site.:/nDescription The goal of this project is to redevelop the movie web application described in Project #2 using PHP. This project must be done individually. No copying is permitted. Note: We will use a system for detecting software plagiarism, called MossLinks to an external site., 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 use ChatGPT or any other Al program to generate code. Just do your project alone using the help given in this project description and from your instructor and GTA only. Finally, you should not post your code nor deploy your project on a public web site. Platform You will develop this project on your PC/laptop using XAMPP and you will test it using using your Chrome/Chromium-based web browser. Documentation The following are tutorials on PHP. Use them as a reference only. • PHP Tutorial Links to an external site. PHPLinks to an external site. PHP.netLinks to an external site. Project Requirements

Question image 1Question image 2Question image 3Question image 4