Assignment 3: Implement Data Delivery using Django
Platform-Based Programming (CSGE602022) - Organized by the Faculty of Computer Science Universitas Indonesia, Odd Term 2022/2023
Description
In this assignment, you will implement the concept of data delivery and some other things that you have learned during the lab tutorial.
Checklist for this assignment is as follows:
-  Create a new app named mywatchlistin the Django project that you created from previous assignment (i.e. Assignment 2).
-  Add mywatchlistURL path so that the user can access http://localhost:8000/mywatchlist
-  Create a model named MyWatchListthat have attribute as follows:-  watchedto describe the film has been watched or not.
-  titleto describe the title of the film.
-  ratingto describe film ratings in the range of 1 to 5.
-  release_dateto describe when the film was released.
-  reviewto describe the review for the film.
 
-  
-  Add at least 10 data entries for the MyWatchListobject that has been created above.
-  Implement a feature to show the data you added in previous step in the
following formats:- HTML
- XML
- JSON
 
-  Implement URL routing so the data can be accessed via the following URLs:-  http://localhost:8000/mywatchlist/html to access mywatchlistin HTML format.
-  http://localhost:8000/mywatchlist/xml to access mywatchlistin XML format.
-  http://localhost:8000/mywatchlist/json to access mywatchlistin JSON format.
 
-  http://localhost:8000/mywatchlist/html to access 
- Deploy the app to Heroku on the application that you have made so it can be accessed later by your friends via the internet.
-  Create a README.mdwhich contains a link to the Heroku app that you've deployed and answer the following questions:- Explain the difference between JSON, XML, and HTML!
- Explain why we need the data delivery when implementing on a platform!
- Explain how do you complete the tasks in this assignment!
 
-  Access the three URLs to retrieve all variants of mywatchlistdata by using Postman or similar tools (e.g. HTTPie, Insomnia).-  Take screenshots of the output from the tool you used and add them to README.md. Check Markdown Guide to learn how to embed image inREADME.md.
 
-  Take screenshots of the output from the tool you used and add them to 
-  Implement tests in tests.pyto verify that all URL routers are able to return anHTTP 200 OKresponse.
Please remember that the assignment is not the same as the tutorial. Therefore, complete the assignment in a different Django project. Reuse the Git repository and Django project from the previous assignment as the starter code for this assignment.
Deadline
This assignment has a submission deadline of 22 September 2022 at 12:00 PM. The teaching assistants will check the last commit of your lab assignment repository, so you do not have to submit the repository link into the submission slot.
Bonus
You will get an extra score on this assignment if you create a feature that displays a message with the following rule:
-  If the number of movies that you've watched is more than or equal to the number of movies that you haven't watched,
display a message in the web page that congrulates you for having watched so many movies.
For example: <p>Congratulations, you have watched a lot of movies!</p>
-  If the number of movies that you haven't watched is more than the number of movies that you have watched,
display a message in the web page that reminds you to watch more movies.
For example: <p>Woah, you need to watch more movies!</p>