Skip to content

Requirements Specification

Adil Malik edited this page Nov 30, 2017 · 28 revisions

US 01.01.01
The user should be able to create a new habit instance by clicking on a button, allowing them to give it a brief title, reason, and a date to start the habit using a create habit activity.

US 01.02.01
When creating or editing a habit, users will be able to set what days of the week the habit should regularly occur on by clicking a radio button next to each of the days of the week. For each checked radio button, the habit is meant to occur on the day next to it.

US 01.03.01
After a habit is created, the user should be able to view details about the habit by clicking on it in the list of habits.

US 01.04.01
When viewing the details of any habit, the user should be able to edit any of the details about the habit as if they were creating it.

US 01.05.01
The user should be able to delete any of the habits that they have created by clicking on a button when viewing details about the habit.

US 01.06.01
When creating or editing the title of the habit, the maximum length is 20 characters. For the habit reason, the maximum length is 30 characters.

US 01.07.01
The user should be able to choose an option that shows them whatever habits they need to do today.

US 01.08.01
When the user views the details of a habit, they will be shown a progress bar showing the ratio between how many times they followed the habit and how many times they should have followed it. There will also be showed a percentage based on the ratio. They will also be given a count of how many times they have completed it, and how many times they should have completed it.

US 02.01.01
When a user successfully completes a habit on time, a new habit event as they finish will be added to their habit history.

  • User uses "add" button to create and edit basic information of a new habit event.
  • User use save button to save this new habit event.

US 02.02.01
When a user creates or edits a habit event, it can be given an optional comment of at most 20 characters.

US 02.03.01
A user can choose a photograph and assign it to a new or existing habit event.

US 02.04.01
A user can select a exsiting habit event from habit history, and view the details surrounding the event, such as the photograph and comment.

US 02.05.01
The user can select a habit event and edit details around it such as the photograph and comment.

  • User opens a existing habit event from habit history, and edits the details.
  • User can click the save button to save the new details.

US 02.06.01
The user can select a habit event and delete it from the system.

  • User uses the delete option when viewing a habit event to delete it

US 02.07.01
Any photographic image the user chooses and upload to include as part of a habit event must be under 65536 bytes.

US 03.01.01
When the application starts, the user can click on a button that lets them create a new profile. They will be taken to a screen where they will be able to pick a unique username.

US 04.01.01
The user can view the list of habit events they have have successfully completed, as well as the habits that they have failed to complete on time sorted in reverse chronological order.

  • Search the database to find all previous habits the user has completed or failed
  • Sort the list by date in descending order

US 04.02.01
When the user is viewing their habit history list, they have the option to filter it to only show a particular habit.

  • User will choose a filter by habit button to select the habit to use as a filter
  • All habits events falling under a different habit will not be displayed in their habit history

US 04.03.01
When the user is viewing their habit history list, they can filter it to show only habit events whose comment text contains a specified phrase.

  • User inputs a phrase in an input box
  • All habit events with a comment that does not include that phrase will not be displayed in their habit history

US 05.01.01
The user can request to follow any other user, allowing them to see the statuses of all their habits, and follow for each of their habits, its most recent event.

  • User goes into the profile page of any other user that they want to follow
  • User selects the follow option, which will send a notification to the followee
  • The followee can accept or decline the request

US 05.02.01
When the user receives a follow request from another user, they can grant another participant permission to follow the statuses of all their habits, and follow for each of their habits, its most recent event.

  • User goes to their follow requests page
  • User selects a request and accepts/declines it

US 05.03.01
The user can view a list of the habit statuses of the participants they are granted to follow, ordered by participant identifier then habit title.

US 06.01.01
When the user creates or edits a habit event, they have the option of attaching their current location to it. The user can open google maps or equivalent software within the app, and click current location icon to pinpoint their position in the map, and then press confirm to attach location and map view to their habit event.

US 06.02.01
The user can see a map of the habit events (that have locations) from their own habit history list. Events filtered out from their habit history will not appear on the map either. In habit history, user can see all information related to habits they inputted including a map of their location of the habit they selected to view.

US 06.03.01
The user can view a map of the recent habit events (that have locations) from participants that they are following. If the User's follower added a map-view of their location, the user can see their followers habit including the location of their habit in a map.

US 06.04.01
The user can highlight habit events created by them or by participants they are following that are within 5 km of their current location on Earth. In the followers section, users can select to highlight or acknowledge theirs or their followers habit if they are within 5km of each each other, therefore the users can notice if their followers are nearby

US 07.01.01
When the user adds, edits, or deletes a habit event, there will be a check to make sure they are online. If they are offline, the application will add the event to a queue of pending events that will all be added when the user goes back online.

US 08.01.01
Each user is part of a global ranking where their position is determined by how many habits they have completed in a row. This score is known as "power points", and they reset anytime the user misses a habit. They can view the ranking list by pressing a button. In the ranking, each user’s name and rank will be displayed.

US 08.02.01
Each user is part of a global overall ranking where their position is determined by “habit points”. They are assigned habit points by completing habits on time. They can view the ranking list by pressing a button.

US 08.03.01
The user can create a new habit type when they are creating a new habit. Any habit they create falls a habit type.

US 08.04.01
The user can select an image to upload to their profile, and have it set as their profile picture.