CPSC270A
Software Eng & Project Design

Project Part 5

Login

Add a loading screen and a login screen to the app.

Details

The user should see the Nevis logo as the app loads.

The login screen should:

  1. always be displayed first when the app starts.

  2. allow the user to enter their user name and password.

  3. include a button for logging in.

  4. accept any username and password for login.

  5. display the home tab after login.

The account tab’s logout button should take the user to the login screen.

The login screen layout should be both visually appealing and easy to use. Look at other apps for inspiration.

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

Add a button that allows the user to reset their password. The app should prompt for an email address. After the user enters an email address the app should display a message about a password email being sent.

Add an interface to allow the user to create an account if they do not already have one.

Grading

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

load screen is visually appealing 25 points
login screen is visually appealing 30 points
login scren is always displayed on app load 15 points
login button takes the user to the home tab 15 points
logout button takes the user to the login screen 15 points
extra credit password reset is visually appealing 5 points
extra credit password reset is easy to use 5 points
extra credit new account is visually appealing 5 points
extra credit new account is easy to use 5 points


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

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

Submission

Submit your code by tagging a GitHub commit as “part5” on Tuesday, April 14th.