Iteration 1 User Stories
As a user of the application, ...
(Approximate point values indicated in [square brackets])
1. Display list of all restaurants
- I want the app to be installed with some restaurant and inspection report data for Surrey.
- [5] I want to see a list of all restaurants sorted alphabetically so I can find a restaurant I am interested in.
- [25] I want each item in the list of restaurants to clearly show me some brief information about the restaurant so I can see info at a glance.
Each restaurant in the list must include:- Restaurant name
- An icon for the restaurant (generic OK)
- Info on most the restaurant's most recent inspection report:
- # issues found (sum of crit and non-crit issues)
- colour for hazard level (low, medium, high)
- icon for the hazard level
- how long ago was the inspection done (see next point)
- [5] I want to be told when something happened in an intelligent format so that it's easier to understand than dates:
- If it was within 30 days, tell me the number of days ago it was (such as "24 days")
- Otherwise, if it was less than a year ago, tell me the month and day (such as "May 12")
- Otherwise, tell me just the month and year (such as "May 2018")
- I want to be able to click a restaurant in the list and have it show me the details about that restaurant (see below).
2. Display details of single restaurant
- I want to see a screen showing the details about a single restaurant so I can understand the history of inspections at that restaurant.
- [5] I want the restaurant details screen to include:
- Restaurant name
- Restaurant address
- Restaurant GPS coords
- I want it to list all inspections (in a scrollable list), with the most recent at the top, so I can easily understand the timeline of inspections.
- [15] I want each listing for an inspection report to show:
- # critical issues found
- # non-critical issues found
- How long ago the inspection occurred (see formatting notes from above)
- Change the colour, and display an icon, for the hazard level
3. Display details of single inspection
- I want to see the details of a single inspection report to learn all I can about what the inspection found.
- [10] I want the inspection details screen to show:
- Full date of the inspection (such as "May 12, 2019")
- Inspection type (routine / follow-up)
- # critical issues found
- # non-critical issues found
- Hazard level icon, hazard level in words, and colour coded.
- Scrollable list of violations
- [15] I want each violation in the list to show:
- An icon reflecting the nature of the violation (food, pest, equipment, ...)
- A brief description of the violation which fits on one line
- The severity of the violation: Use an icon and colour to make it easy to see if it's critical or not-critical
- I want to be able to tap on a single violation to see the long description. It's OK if this is shown on the screen for a moment (such as a toast or snackbar).
General
- Use the singleton pattern to allow all parts of the UI to access the model.
- [10] Overall
- Add a back button on the tool-bar at top when appropriate.
- From any screen, the Android back button must do the "reasonable" thing.
- Application flows smoothly.
- Nice UI layouts; resizes to different size screens reasonably well.
- [0] Must have good quality code (Up to 20 point deduction)
- Good class, method, variable names.
- Perfectly formatted code.
- Comments on all classes (not needed inside classes, just on the class level)
- All strings which end user may see on UI (not LogCat) are in strings.xml
- UI must be in a separate package from the data "model".
- [10] Correct use of Git and GitLab
- Using GitLab issues to track features to work on.
- Use Git/GitLab branches and GitLab merge requests
- Correctly builds when cloned from GitLab.