Stayfit Mobile Application

34
STAYFIT MOBILE APPLICATION A Project Presented to the Faculty of California State Polytechnic University, Pomona In Partial Fulfillment Of the Requirements for the Degree Master of Science In Computer Science By Ankita V Patil 2021

Transcript of Stayfit Mobile Application

STAYFIT MOBILE APPLICATION

A Project

Presented to the

Faculty of

California State Polytechnic University, Pomona

In Partial Fulfillment

Of the Requirements for the Degree

Master of Science

In

Computer Science

By

Ankita V Patil

2021

SIGNATURE PAGE

PROJECT: STAYFIT MOBILE APPLICATION

AUTHOR: Ankita V Patil

DATE SUBMITTED: Spring 2021

Department of Computer Science

Dr. Yu Sun

Project Committee Chair

Computer Science

Dr. Gilbert Young

Professor of Computer Science

ii

ACKNOWLEDGEMENTS

This work is dedicated to my parents and my husband who mean the world to

me and without their support I could not have achieved this milestone. I am grateful to Cal

Poly Pomona for providing me the opportunity to learn and train under some of the most

brilliant professors, without whom I would not have been able to achieve this milestone. I

would like to thank Dr. Yu Sun and Dr. Gilbert Young for their support and guidance

throughout the completion of this project.

iii

ABSTRACT

It is well known that committing to a healthy lifestyle is not always easy. Today

there are various innovations developed to help people get easy access to different healthy

recipes, workout videos, diet assistance. There are various fitness trainers available to reach

out to start ones’ healthy transformation. In the fitness industry, large organizations have

their own web portals or mobile applications that keep their clients connected. But there

are many fitness trainers who are not associated with fitness organizations and still guide

numerous people located at different parts of the world. StayFit provides a platform for

trainers and trainees to stay connected and provides an easy-to-use platform for people to

track and continue their workouts, diets, transformation progress without having to enroll

in fitness gyms and centers.

iv

TABLE OF CONTENTS

SIGNATURE PAGE ........................................................................................................... ii

ACKNOWLEDGEMENTS ............................................................................................... iii

ABSTRACT ....................................................................................................................... iv

LIST OF TABLES ............................................................................................................. vi

LIST OF FIGURES .......................................................................................................... vii

CHAPTER 1 INTRODUCTION ........................................................................................ 1

CHAPTER 2 REQUIREMENTS ....................................................................................... 5

CHAPTER 3 APPLICATION IMPLEMENTATION ....................................................... 7

CHAPTER 4 USER INTERFACES ................................................................................... 9

CHAPTER 5 FUTURE WORK ....................................................................................... 25

CHAPTER 6 CONCLUSION........................................................................................... 26

REFERENCES ................................................................................................................. 27

v

LIST OF TABLES

Table 1. Functional Requirements ...................................................................................... 5

vi

LIST OF FIGURES

Figure 1 Login Screen ......................................................................................................... 9

Figure 2 Sign Up Screen ................................................................................................... 10

Figure 3 Member Dashboard Screen ................................................................................ 11

Figure 4 Trainer Dashboard Screen .................................................................................. 12

Figure 5 User Profile Screen ............................................................................................. 13

Figure 6 Log Meals Screen ............................................................................................... 14

Figure 7 Diet Chart Screen ............................................................................................... 15

Figure 8 Workout Routine Screen .................................................................................... 16

Figure 9 Transformation Logs Screen .............................................................................. 17

Figure 10 Connect with Trainer Screen ............................................................................ 18

Figure 11 Healthy Recipes Screen .................................................................................... 19

Figure 12 About StayFit Screen ........................................................................................ 20

Figure 13 View Clients Screen ......................................................................................... 21

Figure 14 Client Progress Card Screen ............................................................................. 22

Figure 15 Edit/Delete Diet Chart Screen .......................................................................... 23

Figure 16 Edit/Delete Workout Routine Screen ............................................................... 24

vii

CHAPTER 1 INTRODUCTION

1.1 Background

Fitness plays an important part in every individuals life. By maintaining a balanced

diet and a fitness routine, one can lead a high-quality life. Physical activity can significantly

reduce the risks of developing several kinds of diseases like obesity, diabetes,

cardiovascular diseases, etc. The impacts of ignoring physical health are immediate and

often long lasting. To promote the importance of a healthy lifestyle, resources are made

easily available to the public so that it is easily accessible to everyone. Today in the market,

there are millions of resources available and are available across a variety of forms, i.e.,

books, videos, apps, organizations dedicated to help people in their journey to fitness.

People are now aware of the importance of physical health and fitness and promote the

benefits by sharing their inspiring journeys so that more and more people would be

attracted to switch to a healthier lifestyle. Large fitness organizations provide a great

environment to people where they can come and exercise. These organizations are not only

limited to providing a place for people to work out in, but they also provide guidance for

people to manage a healthy diet routine. For a successful fitness transformation, a healthy

balanced diet and a workout routine go hand in hand. While previously organizations

provided this support in a face-to-face routine, today most of them have switched to a

digital mode, making resources easily accessible to the users. Organizations do so by

providing a mobile application or hosting the data on their websites, so that users can access

these resources on their devices whenever they wish to.

1

1.2 Purpose

In the fitness world, having USP’s like mobile applications and websites has always

proven beneficial in having a larger customer base. These digital resources make it easier

for the public to access their records like workout routines, diet charts by simply logging

on to their mobile devices. The trouble of looking for a trainer and adjusting schedules as

per availability times is completely eliminated as everything can be managed and discussed

through these applications. While established brands in the fitness world can easily provide

such resources, there is a large community of talented trainers that work individually and

provide fitness transformation trainings without the support of any big organization. For

this community, having funds to develop such products often is a challenge. My motivation

to develop this system came from a personal experience during my fitness transformation

journey, where my trainer operated individually and had a client base of over 50 people

situated across different parts of the world. Managing clients and their data was a hassle

and there was no readily available system in the market that could provide an easy and an

affordable solution. This motivated me to develop a software that will provide a single

global platform for trainers and clients to book appointments, manage workouts and diets

and easy connectivity through in app messaging.

1.3 Scope

The application provides features specific to general users (clients) and trainers.

The application will require initial users to register and login to the system. The application

will have two different dashboards based on their roles in the system.

2

For Client:

1. Register as user.

2. Create user profile (User’s phone number, email will be verified).

3. Create initial health profile (log user’s weight, age, health conditions, diet

restrictions, food/medicine allergies).

4. Dashboard(Main screen for user containing links to all other features of app).

5. Connect with trainer over chat.

6. View workout schedule.

7. Log daily meals, water intake.

8. View progress report.

9. View healthy recipes (Recipe Hunt app – Project for CS 4990).

For Trainer:

1. Register as trainer, Create trainer profile.

2. Dashboard – summary of all registered trainees and their progress card

3. Chat Box for each trainee

4. Create workout chart, meal plan for trainee.

5. Track trainee progress report

1.4 Technology

For development of the project, following technology stack has been used:

1. Mobile Application

The application will be developed using Flutter SDK. Currently, the application

will be focused on Android devices a nd will be hosted on Google Play Store in the

deployment stage. The application will also use the Firebase cloud messaging

3

service for push notifications for the application. These push notifications will be

sent to the application when there is a new message sent to the user or there is an

upcoming appointment.

2. Middleware

The system will use RestAPI developed using Java and Spring boot for

connectivity between the database and mobile application. These services will be

hosted on Amazon AWS.

3. Database

The system will use MySQL database for storing all data of the app. I am

planning to use Free Tier Amazon RDS for hosting the database. This will provide

with a seamless hosting of database on cloud and provide easy and quick access for

the database.

4

CHAPTER 2 REQUIREMENTS

2.1 Functional Requirements

Table 1 Functional Requirements

Functional Requirement No. Functional Requirement Description

FR1 New users need to be registered in the

system

FR2 Users need to authenticate their

accounts to access the features of the

application.

FR3 If user forgets password, send password

to registered email address

FR4 Create/Edit User profile if not created

already

FR5 Create/Edit User’s health profile

FR6 Log daily water consumption

FR7 Log daily meals consumed

FR8 View workout routine

FR9 View diet chart

FR10 View healthy recipes

FR11 View progress report

FR12 Send trainer a message

FR13 View list of clients

5

FR14 Create/Edit workout routine for client

FR15 Create/Edit diet chart for client

FR16 View progress card for client

FR17 Send client a message

2.2 Technical Requirements

1. Accessibility

The application will be published over Google Play Store. This application will be

available to all users free of cost.

2. Availability

The system should be available to all users at all times.

3. Usability

All users using a mobile device with Android OS (Version 10 and above) should

be able to use download and use the mobile application.

4. Maintainability

All maintenance activities must be performed on weekends from 10:30 pm PST to

12:30 am PST.

6

CHAPTER 3 APPLICATION IMPLEMENTATION

3.1 Mobile Application

The application will be developed using Flutter SDK. Currently, the application

will be focused on Android devices and will be hosted on Google Play Store in the

deployment stage. The application will also use the Firebase cloud messaging service for

push notifications for the application. These push notifications will be sent to the

application when there is a new message sent to the user or there is an upcoming

appointment.

3.2 Middleware

The system will use RestAPI developed using Java and Spring boot for

connectivity between the database and mobile application. These services will be hosted

on Google Cloud Platform.

3.3 Database

The system will use MySQL database for storing all data of the app. I am

planning to use Free Tier Amazon RDS for hosting the database. This will provide with a

seamless hosting of database on cloud and provide easy and quick access for the

database.

3.4 Source Code Management

All code of the project will be uploaded on Git as the central repository for source

code management.

7

3.5 Testing

1. Mobile application:

Unit testing and performance testing will be performed on the application to

test UI on different screen sizes and also the response time of the application on devices

with low and high storage space.

2. Middleware

To test the RestAPI, I plan to use Postman app. It is a free tool that enables me

to send and receive data to the API and verify the information sent by the API.

3. Database:

To test queries of the database, I will run the queries on dummy data to test the

output of each query. The database will be cleared prior to deployment of system.

3.6 Deployment

1. Mobile Application

The application will be available to all users globally on Google Play Store.

2. Middleware

The RestAPI are hosted on Google Cloud Platform.

3. Database

The MySQL database will be hosted using Amazon RDS.

8

Foigot password? -Don t have an accoun ? S gnup

CHAPTER 4 USER INTERFACES

4.1 Login Screen

Figure 1 Login Screen

9

Up

G,0 name

Memb rType

0 Tramer Q Regular Member

4.2 Sign Up

Figure 2 Sign Up Screen

10

ll4 p ()1, • :;, 0

= StayFit

Daily Water Consumption

300.0 / 3000 (ml)

Log M als

Di Ch

® Workout Routln

4.3 Member Dashboard

Figure 3 Member Dashboard Screen

11

P c(J1• • ~o 't,

= StayFit

Water Consumption

0.0 / 3000 (ml)

i~ LogM als

A Workout outln

VI w CII nt

4.4 Trainer Dashboard

Figure 4 Trainer Dashboard Screen

12

ll4 p ()1, • : 0

f- Ankita's Profile ✓

810

My name is An ita Pa ii ) Basic Information

Heiqht(ln s

170

W"I nibs}

205

BMI

J 33.1

rarg<' W~lgh ( lb&}

) 180

Da1 C"rB th

J 23/05/1990

".

) 31

4.5 User Profile

Figure 5 User Profile Screen

13

ll4 p ()1, • ~ 0

f- StayFit

Date: 2021·04 27 ,a,. bl Breakfast 0

coffee 1 Clfp

Lunch 0

Evening Snacks 0

Dlnne 0

4.6 Log Meals

Figure 6 Log Meals Screen

14

P c(J1• • ~o 't,

f- StayFit

Egg Whl es 2

Fru1 1

1101

Meal Plan

Brea faat

Lunch

Chic en faJ a Salad

1 bowl

Rrce ca e with Avocado

1 bowl

Ev nlng Sf'li!Cks

Veggies ~ hummus

1 small bowl of hummus

4.7 View Diet Chart

Figure 7 Diet Chart Screen

15

P c(J1• • ~o 't,

f- StayFit

Workout Routine

Monday uesday Wedne day Th

Exercise Coonts Rounds

c,unch~ 5Q

umpmg 10 2 Jae s123

Low Plan -30 seconds

Push ups 5

sta11dlng Calf 20 Raises

Russiall 70 T vists

Forward 20 1 Lun es

Squa1s 15

Tric pOips 20

4.8 View Workout Routine

Figure 8 Workout Routine Screen

16

ll4 p ()1, • : 0

f- StayFit

Transformation Logs

Name. An lta Patil

Weight

Im al We ght (In lbs)

205

Target Weight (In lbs)

180

Log Weight

nter log -2D5 200 195 190 1115 180 175 170 165 160 155 lSO 14-5 140 lJ.5 130 125 120 1 5 110 11~5

1

100 ~1~1-----~M~a_y ______ J.,...une

4.9 Transformation Logs

Figure 9 Transformation Logs Screen

17

ll4 p ()1, • : 0

f- Shrirang Wagulde

I wanted to discuss some issues with the workout routine

Please do let me know when would be a good t

Hi An ita

Sure, we can I 1omorr w t 10:30 m 1ST tf that works for you?

let m r,ow

sure, that works for me

Writ m ssage. •

4.10 Connect with Trainer.

Figure 10 Connect with Trainer Screen

18

P c(J1• • ~o 't,

f- StayFit

Spinach Soup With Wontons

9 mgred1ents 4 servings 45 minutes

INGREDIENTS

• 1 easpoon chopped basil (or AV. t basil flakes)

• l 4.5 oz. cans chicken broth

• 2 teaspoons chlll sauce (avarlable in the Asian section of your macket)

• 1 50 grams Frozen spinach, thawed

• 1 /2 cup part skim ncotta cheese

• 1 /2 teaspoon pepp r

· 1 /2 cup scallions, thinly sliced

I :+, ••·•• I • •

◄ I.I ■

4.11 Healthy Recipes

Figure 11 Healthy Recipes Screen

19

ll4 p ()1, • : 0

f- StayFit

About StayFit

yF1 IS an android bas d apr IC l 01 th I provides a plattorm ·or trainers and trainees to stay connec e<l , d pro111d s n er1 to Jse plat orm for people to trac and con Inue their w rkou s <Ii s. I sf ma ton rogress w1tho1J

v1ng to enro I in 1tness gyms and centers

Created by; Anklta Patil ([email protected]) Bronco ID• 014287065

4.12 About StayFit

Figure 12 About StayFit Screen

20

ll4 p ()1, • ~ 0

~ My Clientele

[ O. Search

Sonall Patil

Ank, a Patil

Shreya Ladhe

4.13 View Clients

Figure 13 View Clients Screen

21

P c(J1• • ~o 't,

f- Progress Card

Ankita Patil CD

2021·03·14

Weigh

Im al Weight Current We ght Target Weight

205 207 180

~rogr rn

El /or out Pl

Client Logs

4.14 Client Progress Card

Figure 14 Client Progress Card Screen

22

ll4 p ()1, • :;, 0

~ Meal Plan

Al1k1taPa ll

Breakfast

Egg whites v1lh yol

2

L ch

Chicken Falito Salad

l bowl

Rice cake with Avocado

l bo vi

Evening Snacks

Veggies with hummus

l small bowl of hum us 1 3 I ~,

Add Item

4.15 Set/Edit/Delete Diet Chart

Figure 15 Edit/Delete Diet Chart Screen

23

ll4 p ()1, • :;, 0

f- Workout Plan

Al1k1taPa ll

ame· Crunches Cycle· 1

L I

c,eated 011

Monday

ame· Jumping Jacks123 Cycle· 2

L l

ame· low Plank - 30 seconds

Cycle· 1 L I

ame· Push ups

Cycle· 1

L I

ame· Standmg Calf Rais s

Cycle· 1

Add Item

4.16 Set/Edit/Delete Workout Routine

Figure 16 Edit/Delete Workout Routine Screen

24

CHAPTER 5 FUTURE WORK

There are several features that would be challenging to add to the project. Some future

enhancements that can be added to the project are:

1. Integrate an exercise database that contains a wide range of workout routines and

exercises with guidelines on postures for each item.

2. Improve the chat functionality by sending instant messages and notifications to

users.

3. Add membership plans to the system.

4. Add payment feature in the application so that trainers can charge for their

services.

5. Make StayFit application available for iOS platform.

25

CHAPTER 6 CONCLUSION

StayFit is an android based application that provides a platform for users to stay

connected to their trainers and have a successful fitness transformation journey. This

application provides a wide range of features like logging meals and water consumptions

and see their transformation journey through logged weights. The app also helps clients

and trainers stay connected easily by messaging within the application. While multiple

features can be added in the system, the initial set of features will allow users to

successfully fulfill the purpose. I have learnt a lot from this project about managing

features and planning the development and deployment of the project.

26

REFERENCES

[1] B. Varanasi and S. Belida, Spring REST, 1st ed. Berlin, Germany: APress, 2014.

[2] “Flutter documentation,” Flutter.dev. [Online]. Available: https://flutter.dev/docs.

[Accessed: 28-Apr-2021].

[3] S. McCartney, “Deploy a Spring Boot API to GCP app engine - Scott McCartney -

medium,” Medium, 19-Jun-2020. [Online]. Available:

https://medium.com/@smccartney09/deploy-a-spring-boot-api-to-gcp-app-engine-

722198bab4d4. [Accessed: 28-Apr-2021].

[4] “Documentation,” Google.com. [Online]. Available: https://firebase.google.com/docs.

[Accessed: 28-Apr-2021].

27