Design Fitness App
Questions and Requirements
- What is the form factor where app will work?
- Android, iOS
- iPad
- Desktop
- What is being tracked?
- Steps
- Calories
- Mins of workout
- Heartbeat
- Water Intake
- Is there anything for motivation?
- if rewards are there what is the system, can it be redeemed?
- Goals
- For each parameter being tracked, do we have different different goals?
- Alerts and Notifications
- Too far away from goal
- Close to the goal
- Analytics
- Past week? Month?
- Graphs?
- Average heartbeat
- monthly/weekly goals
Classes
- Goal
- metric: String
- status: GoalStatus
- progress: Integer (denote percentage)
- currentValue, goalValue, unit
- Metrics
- Analytics
- Rewards
- User
- goals
- rewards
- motivation
- addGoal()
- updateGoal()
- System (calculation, notification)
- GoalStatus Enum:
- Achieved
- Not Completed (INPROGRESS)
- Not Started (PLANNED)
- NOT TRACKED
- Close to Finish
Relationship
- Metric can have 0…1 goal
- Goal is strong coupled with Metrics (Composition)