Skip to content

Latest commit

 

History

History
170 lines (143 loc) · 9.54 KB

D2.md

File metadata and controls

170 lines (143 loc) · 9.54 KB

Deliverable Two

Positioning

1.1 Problem Statement

The problem of committing to goals affects goal oriented people, the impact of which is that the people give up on those goals.

1.2 Product Position Statement

For goal oriented people who struggle to keep track of progress, App Calandar App is a calendar app that helps keep track of goals and habits using color coordination unlike Streaks, which does not display progress using colors or a calendar.

1.3 Value Proposition and Consumer Segment

FVP: Project Calandar Project is a free calendar app that helps users track habits and routines on a daily basis. Individuals can track their workout routines, eating habits, smoking habits, and other habits in a visual way which provides the individual with instant feedback. This gives the user gratification and motivation to continue keeping up with their habits. Our product is unique in that the user of the calandar app can extensively customize the colors of the app’s user interface and receive reminders about user habits. Consumer Segments:

  • Students
  • Productivity enthusiasts
  • Health and Fitness people
  • People looking to break bad habits

Stakeholders:

  • Goal-makers: They will be the ones using the app to make progress on their goals. They are a key stakeholder
  • Developers: They will be responsible for the success of the product. Their work affects the outcome of all other stakeholders
  • Other Goal assistants: The success and competition of these apps are define them as stakeholders for our app
  • Other Calendar Apps: These kinds of apps are also stakeholders, as our app will be a functional calendar and will compete with this type of app as well as the goal assistants

Functional Requirements

  1. The ability to see all the colored events attached to a certain day.
  2. Be able to set a notification to remind the user about updating the calendar.
  3. One calendar can be used to track multiple habits which the user would define with each entry into the calendar.
  4. A user defined counter that can be updated whenever the user marks a day in the calendar.
  5. Color customization of the entire calendar interface.
  6. Ability to store text notes associated with each day.
  7. Ability to navigate like a typical calendar. Year, Month, Week, Day.

Non-functional Requirements

  1. Maintainability: Each login to the app should update the calendar.
  2. Satisfaction: Allow the user to view a total count of all days marked as completed/noncompleted for a certain period of time.
  3. Portability: Ability to sync between app and website.
  4. Reliability: The calendar should be able to reliably track habits to best assist user in making progress.
  5. Portability: User should be able to access their calendar from anywhere to ensure active use and lack of forgetfulness.

MVP:

  1. A view of one full calendar
  2. An event with an associated color
  3. Syncing calendar with the server - events are saved on the server
  4. A 'hamburger' menu to view future and available options
  5. Accessable summary view

Use Cases

6.1: Use case diagram
UseCaseDiagram

6.2: Use case descriptions and interface sketch

1.Use Case: Mark a day in the calendar as completed or incomplete
Actor: User
Pre-condition: The user has an event created
Post-condition: The diagram is updated to reflect the change
Main Flow:

  1. The system prompts the user about completion
  2. The user affirms completion and completes prompt
  3. The system records the completion

Alternate Flow:

  1. User denies completion to complete prompt
  2. The system does not record completion and cancels prompt

Interface Sketch: AppFeedBack

2.Use Case: View Tracking Summary
Actor: User
Pre-condition: The user has created events
Post-condition: The user sees their summary of goals
Main Flow:

  1. The user asks for the summary of their goals.
  2. The system gives back the summary information

Alternate Flow: N/A

Inteface Sketch: ReminderUseCase

3.Use Case: Share my calendar with friends who use the app
Actor: User
Precondition: Calendar created and ready to be shared.
Postcondition: Calendar is shared and visible to friends.
Main Flow:

  1. The user selects a calander to share.
  2. The user selects which friend(s) to share the calendar with.
  3. The user finalizes and comfirms the share.

Alternative Flow:

  1. The user sets their calendar to shared, making it immediately viewable to friends.

Inteface Sketch:
ShareCalendar

4.Use Case: Create Calendar for Activity
Actor: User of the App
Description: The user wants to create a calendar to track some activity such as exercising or school work.
Preconditions: The user has the app downloaded and open to the app’s homepage.
Post-conditions: The user now has an calendar specifically for tracking the routine/habit of their choice.
Main Flow:

  1. User indicates they would like to create a calendar
  2. The system prompts the user for a name of the activity to be tracked.
  3. User describes the name of the activity.
  4. The system prompts the user to designate colors to signify activity completion or lack of completion.
  5. The calendar has now been created and the user can track their activity

Alternative Flows:

  1. The user names a calendar the same thing as an already existing calendar.
  2. The system alerts the user and prompts them to rename their calendar to a more unique name.
  3. The user describes a new unique name.
  4. The calendar has now been created.

Interface Sketch:
CreateACalendar

5.Use-Case: Make a note for a specific day in calendar. Actor: User
Pre-condition: The user has a calendar created.
Post-condition: The day is updated to have note for that day.
Main Flow:

  1. The system has a section for notes.
  2. The user can writes notes/description assigned to a certain day.
  3. The system saves the notes under that day to view for later.

Alternative Flow:

  1. The user can edit the note later.
  2. The user can delete the note later.

Interface Sketch:
AddMemo

6.Use Case: Designate a calendar to track multiple habits
Actor: User of the App
Description: The user wants to designate a calendar to track multiple habits on the same calendar.
Preconditions: The user has already created a calendar for tracking a single activity.
Post-conditions: The user now has a calendar capable of tracking two habits.
Main Flow:

  1. User indicates they would like to add a additional activity to a calendar
  2. User selects calendar to add additional activity
  3. The system prompts the user for a name of their additional activity to be tracked.
  4. User enters the name of the activity.
  5. The system prompts the user to designate colors to signify activity completion or lack of completion for the extra activity.
  6. The calendar has now been created and the user can track an extra activity on an existing calendar

Alternative Flows:

  1. The user names a calendar the same thing as an already existing calendar.
  2. The system alerts the user and prompts them to rename their calendar to a more unique name.
  3. The user describes a new unique name.
  4. The calendar has now been created.

Interface Sketch:
AddAdditionalActivityToCalendar

User Stories

  1. As a user, I want to be able to see how many [units of time] in a row I’ve completed a certain event to see how much progress I’ve made. (15 hours)
  2. As a user, I want to be able to color code my events to quickly see progress at a glance. (6 hours)
  3. As a user, I want to make notes on my calendar so I know exactly what I accomplished each day. (4 hours)
  4. As a user, I want to be reminded to use the calendar so I can keep up with my goals. (6 hours)
  5. As a user, I want to subcategorize some goals into smaller ones so that I can see what might prevent me from reaching that goal. (6 hours)
  6. As a user, I want to be rewarded for reaching my goals so that I can feel accomplished. (8 hours)
  7. As a user, I would like to be able to share my goals with my friends so that we can hold each other accountable. (12 hours)
  8. As a gym goer, I want to be able to mark the days I met my workout goals to keep track of my progress. (15 hours)
  9. As a pet owner, I want to be able to keep track of when I have fed my animals each day so that I do not forget. (6 hours)
  10. As a student, I want to be able to track all of my class assignments in a single calendar so I can keep on top of all of them. (6 hours)
  11. As a smoker, I want to be able to see how much money I have saved by not buying cigarettes so I know the benefit of my efforts. (8 hours)
  12. As a personal trainer, I want to share how often I train in order to motivate my clients. (12 hours)

Issue Tracker

https://trello.com/b/DBgag9Ex/project-calandar-project-board-calandar-board Trello