Skip to main content

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.

      Drawer

  • 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.

      Form

  • Add a page of budget data

    • Displays all the titles, amounts, and types of budgets that have been added to the form.

      Data

  • Answer the following questions in README.md in the root folder (please modify the README.md you created before; add subheadings for each assignment).

    • Explain the difference between Navigator.push and Navigator.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 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.