Assignment 8: Flutter Form
Platform Based Development (CSGE602022) - Organized by Faculty of Computer Science, University of Indonesia, Odd Semester 2022/2023
Assignment Description
In this assignment, you will create a simple budget tracking app using the app created in the previous assignment.
The checklist for this assignment is as follows.
Add a drawer/hamburger menu to the previously created app.
Add three navigation buttons on the drawer/hamburger.
The first navigation leads to the counter page.
The second navigation leads to the form page.
The third navigation leads to the page that displays the budget data that has been input through the form.
Add a form page
Add an input element with String data type in the form of budget title.
Add an input element with int data type in the form of budget amount.
Add a dropdown element containing the type budget with income and expense options.
Add a button to save the budget.
Note: You can utilize data structures like List to store the data created.
Add a page of budget data
Displays all the titles, amounts, and types of budgets that have been added to the form.
Answer the following questions in
README.md
in the root folder (please modify theREADME.md
you created before; add subheadings for each assignment).- Explain the difference between
Navigator.push
andNavigator.pushReplacement
. - List all the widgets you used in this project and explain their functions.
- Name the types of events that exist in Flutter (example:
onPressed
). - Explain how the Navigator works in "switching" pages of a Flutter application.
- Explain the difference between
Explain how you implemented the checking list above.
Do
add
-commit
-push
to GitHub.
Deadline
Deadline for Assignment 8:
17 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 do not need to submit the repository link into the submission slot.
Bonus
You will get bonus marks on this assignment if you create the following features.
- Add a date picker element to the form page.
- Display a date element (free format) on each budget element on the budget data page.
- Refactor the Drawer widget to a separate file.