CPSC270A
Software Eng & Project Design

Project Part 6

Invest

Complete the invest tab so that the user can see the percentage of money in each fund, the funds available for investing, and the companies in each fund.

Details

The invest tab should have:

  1. a circular chart showing the relative amounts that the user has invested in the three funds:

    1. Financial Technology

    2. Health Care

    3. Agriculture/Food

  2. a list of the three funds. When tapping on a fund, it should display all of the companies in the fund:

    1. Financial Technology -> JUMO, SoFi, Paytm, MPesa, and Transferwire

    2. Health Care -> Goodlife Pharmacy, Helium Health, Virta Health, and Zipline

    3. Agriculture/Food -> Indigo AG, Ag Biome, Impossible Foods, Apeel Sciences, and Sensefly

Tapping on a company, should display information about the company.

  1. an interface to allow the user to invest in the funds. The user should be able to choose one of the three funds and an amount to transfer from their bank account. After investing, the app should update the circular chart on the invest tab and the account balance on the home tab to reflect the new investment.

The app should define classes and widgets, in their own files, to improve organization and facilitate testing.

Your code should be clean, readable, and efficient. Follow the Effective Dart guides for help with style.

Extra Credit

Filter the list of available funds based on the user’s selected interests.

Grading

The functionality of your code will be graded according to the following point scale:

circular chart is visually appealing 10 points
fund list is visually appealing 10 points
tapping on a fund shows companies 10 points
company list is visually appealing 10 points
tapping on a company shows company details 10 points
company details are visually appealing 10 points
invest interface is visualy appealing 10 points
invest interface is easy to use 10 points
circular chart updates when investments are made 10 points
home tab account balance updates when investments are made 10 points
extra credit fund list is filtered by selected interests 10 points


The final grade for this part of the project will be computed as:

final int finalScore = min(max(functionalityScore - (daysLate / 7.0 * 100.0), 0.0), 125.0);

Submission

Submit your code by tagging a GitHub commit as “part6” on Tuesday, April 21st.