Iteration 3 User Stories
As a user of the application, ...
(Approximate point values indicated in [square brackets])
1. [40] Search / Filter
- I want to be able to search on the map screen for restaurants of interest so I can limit the markers I see on the map.
- I want to be able to search on the restaurants list page for restaurants of interest so I can limit the restaurants I see in the list.
- Searching details
- I want to be able to clear the current search to resume seeing all restaurants.
- I want to preserve the current search while switching between the map and restaurants list. For example, if I searched for "pizza" on the map, when I switch to the restaurant list I want to still be seeing search results for "pizza".
- If I search for "pizza" and then tap on a restaurant to view that restaurant's details screen (from either the map or the restaurant list), when I select back on the restaurant details screen I want to return to the previous screen with the search results intact.
- When I search, I want to be able to see only restaurants...
- whose name matches something I type in (so if searching for "pizza" I get "Boston Pizza #425", "MrPizzas", etc)
- whose most recent inspection had a specific hazard level
- which has had <= (or >=) N critical violations within the last year
- which have been tagged as a favourite (see below)
- I want to be able to combine the above criteria, such as: Show me all my favourite restaurants which have "bar" in the name, with a most recent inspection hazard level of low, and which had 5 or less critical violations within the last year.
- When combining multiple criteria, I want to only see restaurants which satisfy all criteria.
- I don't need search to support boolean operators.
- I am OK with it searching for the full text which I type in. For example, if I search of "pub bar" I want to see "Pub barnacle" and not "The bar-none best pub"
2. [20] Favourites
- From the restaurant details screen, I want to be able to mark (or un-mark) the restaurant as a favourite.
- In the restaurants list I want my favourite restaurants to be noticeable. For example, have an extra icon overlaid on their image, or a different background or border colour (though this is very flexible). As I scroll through my list, these should stand out to me.
- When new data is downloaded from the City of Surrey's server, I want to be told if there are any new inspections for my favourite restaurants.
- For example, after the app has updated the data, display a list of my favourite restaurants which have new inspections.
- When being told about a new inspection on my favourite restaurants, I want to be told at least the name of the restaurant, the date of the most recent inspection, and the hazard level of the newest inspection.
3. [30] Internationalize
- I want the app to support more than one language.
- When the application starts, if it supports the language my Android device is set to, I want it to show me everything in that language.
- If the application does not support the language of my device, default to English.
- All user facing strings should be translated, with the possible exception of:
- Data read out of the data files (like those downloaded when updating)
- Networking errors (such as "file not found"...) if they are generated by the networking package
- Don't forget to translate the brief one-line summaries of the violations shown in the violations list.
- Technical notes: Your
docs/readme3.txt
file must list the languages you support. You pick the language to support; I suggest only languages which are drawn left to right like English to reduce your layout complexity.
General
- [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)
- 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.
- Evidence of some use of code reviews