Assignment 9: Flutter Web Service Integration
Platform-Based Development (CSGE602022) - Organized by Faculty of Computer Science University of Indonesia, Odd Term 2022/2023
Assignment Description
In this assignment, you will integrate mywatchlist that you have created in Assignment 3 previously to Flutter. This assignment will use the same app as the previous Flutter assignment.
The checklist for this task is as follows.
- Add a navigation button on the drawer/hamburger to go to the - mywatchlistpage.
- Create one Dart file that contains the - mywatchlistmodel.
- Add a - mywatchlistpage that contains all the watchlists that exist in the JSON endpoints in Django that you have deployed to Heroku before (Assignment 3). In this section, you only need to display the title of each- mywatchlist.- Create a navigation from each watch list title to the detail page  
 
- Add a detail page for each - mywatchlistin the list. This page displays the title, release date, rating, review, and status (watched/not watched).
- Add a button to go back to the - mywatchlistlist. 
- Answer the following questions in - README.mdin the root folder (please modify the- README.mdyou created earlier; add subheadings for each task).- Can we retrieve JSON data without creating a model first? If yes, is it better than creating a model before retrieving JSON data?
- List the widgets that you used in this project and explain their functions.
- Explain the mechanism of retrieving data from json so it can be shown in Flutter.
- Explain how you implemented the checklist above.
 
- Do - add-- commit-- pushto GitHub.
Deadline
Deadline for Asssignment 9:
24 November 2022 05.00.00 UTC (0 days 0 hours 0 minutes 0 seconds left)
The teaching assistant will check the last commit of the lab assignment repository, so you don't need to submit the repository link into the submission slot.
Bonus
You will get bonus marks on this assignment assessment if you create the following features.
-  Add a checkbox to each watchlist on the mywatchlistpage. Where the checkbox will be checked if the watched status is true and unchecked if it is false.- If the checkbox is pressed, then the watched status will change (the change will happen locally and temporarily only, the status on the endpoint also does not need to be changed)
 
-  Add color to the outline for every mywatchliston themywatchlistpage based on the watched status (The two picked colors are free).
- Refactor fetch data function from web service to a separate file.