Assignment 9: Integrating Django Web Service with Flutter Application
Platform-Based Programming (CSGE602022) — organized by the Faculty of Computer Science, University of Indonesia, Odd Semester 2024/2025
Assignment Description
In this assignment, you will integrate the Django services you have created in previous assignments with the Flutter application you created earlier.
The checklist for this assignment is as follows:
- Ensure the deployment of your Django project is running smoothly. For issues related to PWS, which cannot yet be integrated with Flutter, the Teaching Assistant Team will provide further information later. In the meantime, you are allowed to perform integration on localhost only.
- Implement the registration feature in the Flutter project.
- Create a login page in the Flutter project.
- Integrate the Django authentication system with the Flutter project.
- Create a custom model according to your Django application project.
- Create a page containing a list of all items available at the
JSON
endpoint in Django that you have deployed.- Display the
name
,price
, anddescription
of each item on this page.
- Display the
- Create a detail page for each item listed on the Product list page.
- This page can be accessed by tapping on any item on the Product list page.
- Display all attributes of your item model on this page.
- Add a button to return to the item list page.
- Filter the item list page to display only items associated with the currently logged-in user.
- Answer the following questions in the
README.md
in the root folder (please modify theREADME.md
you previously created; add subheadings for each assignment):- Explain why we need to create a model to retrieve or send JSON data. Will an error occur if we don't create a model first?
- Explain the function of the http library that you implemented for this task.
- Explain the function of
CookieRequest
and why it’s necessary to share theCookieRequest
instance with all components in the Flutter app. - Explain the mechanism of data transmission, from input to display in Flutter.
- Explain the authentication mechanism from login, register, to logout. Start from inputting account data in Flutter to Django’s completion of the authentication process and display of the menu in Flutter.
- Explain how you implement the checklist above step by step! (not just following the tutorial).
- Perform
add
-commit
-push
to GitHub.
Deadline
The deadline for Assignment 9 is Wednesday, 20th November 2024, at 12:00 PM.
The teaching assistants will check the last commit of the lab assignment repository, so you do not need to submit the repository link separately.