Requirements Specification - HomeDivision/Choreless GitHub Wiki

MVP Requirements

Login Feature (Complete)

  • User is able to log into the service using an email and password that matches the login credentials of an existing account
  • User is able to reset their password through an online system using the email address associated with their account

Registration Feature(Complete)

  • User is able to register for a new account with the service which requires an email address, nickname, and password
    • The email address must be a valid email address format
    • The email address that the user inputs must not already be associated with another account
    • The nickname must be alphanumeric characters or spaces
    • The password must be between 6 and 20 alphanumeric characters
    • The password must match the retype password field to successfully create an account
  • Button to complete registration process that validates and verifies the information before submission
  • User is presented with the option to create a group or join an existing group using a Group ID

Create a Group Feature (Complete)

  • User is able to create a new group
    • User is able to input a group name
      • Group name must be alphanumeric characters or spaces
    • System must generate a unique Group ID for each group
  • Group creator is able to send an email to invite others to this group
    • This email contains the generated Group ID, group name, and a link to the login/register page
    • All invited email addresses must be a valid email address format
  • Group creator is able to add new chores to their group (refer to add chores feature for more details)
    • Default set of chores can be added to the group’s initial chore list
      • Creator can opt out to not have default set of chores

Join a Group Feature (Complete)

  • After completing registration, user is able to input a Group ID which then adds their account to the group with a matching Group ID
  • If Group ID does not match any existing Group ID, user is prompted to try again

Edit Group and Group Members Feature (Complete)

  • All users should be able to remove users
  • All users should be able to invite new members to the group

Add Chores Feature (Completion)

  • Each chore name must be unique
  • Each chore name must contain only alphanumeric characters or spaces
  • All users are able to create a new chore and add it to the group
  • All users are able to remove existing chores within their group
  • All users can modify existing chore properties (name, description, frequency) (Frequency does not make sense for our MVP, so this is complete)

Add a Chore Card (Complete)

  • All users can add a chore card or edit existing chore cards (Editing chore cards does not make sense for our MVP, so this is complete)
  • Each chore card contains: due date, date assigned, assigned chore, member assigned, completion status
    • To create a chore card, a user needs to input an assigned chore (taken from the group’s chore list)
    • The due date, date assigned, member assigned, and completion status fields will be updated when the chore card is assigned on the weekly calendar

Weekly Calendar (Complete)

  • All unassigned chore cards within a group are visible to users of that group.
  • Users can only assign chore cards to themselves
  • As chore cards are assigned, the list of available chore cards is updated for all users of that group
  • Users can choose which day they want to assign a chore card
  • Each chore can be marked as complete through a pop-up menu once clicked on
    • A chore card cannot be marked as completed if it is set to a future day of the week

User Settings (Complete)

  • User should be able to change their nickname to another valid nickname
  • User should be able to change their email to another valid email address
  • User should be able to change their password to another valid password

"Nice to have" Requirements

Landing Page

  • Explains what this application does and key features of the application.
    • Includes a summary of the problem statement and mission statement
  • Button that links to registration page for new users
  • Text hyperlink to login page for existing users

Add Chores Feature

  • The platform will provide a set of commonly done chores that the group members can quickly add to their group chore list(ex: clean dishes, sweep floors)

Add a Chore Card

  • Users can assign a chore type field which determines if it is a monthly or weekly chore
  • A monthly chore is not worth any points, and plays no role in the weekly chore goal

Weekly Calendar

  • User has a progress bar that displays the user's current weekly chore points, counted in integers
  • Adding a chore card to the week will update the user’s potential weekly chore points shown in the progress bar
  • User can view their progress towards their personal weekly chore point goal
  • A completed chore increases the user’s weekly chore points

Monthly Dashboard

  • All unassigned chore cards within a group are visible to users of that group
  • Users can assign chore cards to only themselves for only the current month
  • As chore cards are assigned, the list of available chores is updated for all users of that group
  • Each chore card can be marked as complete through a pop-up menu once clicked on

User Settings (Complete)

  • User should be able to change their own color to represent themselves in their group

Edit Group and Group Members Feature

  • All users can edit each other’s chore goals
  • All users can set the same chore goal for all group members at once
    • Group-wide chore goals will overwrite all individual user goals
  • All users have the option to generate a new Group ID which will replace the old Group ID