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:
a circular chart showing the relative amounts that the user has invested in the three funds:
Financial Technology
Health Care
Agriculture/Food
a list of the three funds. When tapping on a fund, it should display all of the companies in the fund:
Financial Technology -> JUMO, SoFi, Paytm, MPesa, and Transferwire
Health Care -> Goodlife Pharmacy, Helium Health, Virta Health, and Zipline
Agriculture/Food -> Indigo AG, Ag Biome, Impossible Foods, Apeel Sciences, and Sensefly
Tapping on a company, should display information about the company.
- 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.