Stayfit Mobile Application
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
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