0% found this document useful (0 votes)
23 views46 pages

BeFit Final

The Personalized Fitness Tracker App project report outlines the development of an application designed to provide customized workout and dietary plans based on individual user profiles. It utilizes advanced algorithms for real-time progress tracking and motivational support, aiming to enhance user engagement and fitness outcomes. The project is submitted by Sahil Sahani and Pratham Badsiwal as part of their Bachelor of Science in Information Technology at the University of Mumbai.

Uploaded by

niyati kalyanpur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views46 pages

BeFit Final

The Personalized Fitness Tracker App project report outlines the development of an application designed to provide customized workout and dietary plans based on individual user profiles. It utilizes advanced algorithms for real-time progress tracking and motivational support, aiming to enhance user engagement and fitness outcomes. The project is submitted by Sahil Sahani and Pratham Badsiwal as part of their Bachelor of Science in Information Technology at the University of Mumbai.

Uploaded by

niyati kalyanpur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

PERSONALIZED FITNESS TRACKER

( Android + Ios Based Project)


A

PROJECT REPORT

ON

PERSONALIZED FITNESS TRACKER APP


SUBMITTED BY

SAHIL SAHANI AND PRATHAM BADSIWAL


UNDER THE GUIDENCE OF

PROFESSOR: NIYATI KALYANPUR

EXAMINATION BSC.IT, SEMESTER

UNIVERSITY OF MUMBAI
DEPARTMENT OF INFORMATION TECHNOLOGY

GHANSHYAMDAS SARAF COLLEGE OF ARTS AND


COMMERCE
(Affiliated to university of Mumbai)
MUMBAI 400064
MAHARASHTRA
2024-2025
PERSONALIZED FITNESS TRACKER APP
A Project Report
Submitted in partial fulfillment of the

Requirements for the award of the Degree of

BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY)


By

Sahil Sahani and Pratham Badsiwal


Roll No. 39 and 59

Under the esteemed guidance of


Prof. Niyati Kalyanpur

DEPARTMENT OF INFORMATION TECHNOLOGY

GHANSHYAMDAS SARAF COLLEGE OF ARTS AND COMMERCE

(Affiliated to university of Mumbai)

MUMBAI 400064

MAHARASHTRA

2024-2025
DEPARTMENT OF INFORMATION TECHNOLOGY

GHANSHYAMDAS SARAF COLLEGE OF ARTS AND COMMERCE

(Affiliated to university of Mumbai)

CERTIFICATE

This is to certify that the project entitled, "Personalized Fitness Tracker App", is bonafide
work of Sahil Sahani bearing Seat No: (39) and Pratham Badsiwal bearing Seat No: (59)
submitted in partial fulfilment of the requirements for the award of degree of BACHELOR
OF SCIENCE in INFORMATION TECHNOLOGY from University of Mumbai.

Internal Guide Coordinator Co-Ordinator

External Examiner

Date: College Seal


ABSTRACT
The Personalized Fitness Tracker App aims to address the challenges of
maintaining a tailored fitness regimen by offering customized workout and dietary plans
based on individual user profiles. Utilizing advanced algorithms, the app generates exercise
routines and meal recommendations tailored to users' fitness goals, dietary preferences, and
health conditions. The app enables progress tracking through real- time data analytics,
providing insights and adjustments to optimize outcomes. Additionally, motivational content
and notifications help users stay engaged and achieve their fitness objectives. This project
contributes to making health and fitness more accessible and effective through personalized
solutions.
ACKNOWLEDGEMENT
We take this opportunity to express our profound gratitude and indebtedness to our
project guides Prof. Niyati Kalyanpur for giving us the opportunity to accomplish this
project.

We are very much thankful to Prof. Niyati Kalyanpur for being very much
resourceful, kind and helpful. Her positive attitude, unassailable optimism and unwavering
faith in us assured that we came out of problems whenever we encountered difficulties.

Finally we wish to thank all my friends and the IT department for directly or
indirectly helping us in the completion of this project. Last but not the least we would thank
our family without whose support, motivation and encouragement this would not have been
possible.
DECLARATION
We hereby declare that the project entitled, “Personalized Fitness Tracker App”
done at Malad, has not been in any case duplicated to submit to any other university for the
award of any degree. To the best of our knowledge other than us, no one has submitted to any
other university.

The project is done in partial fulfilment of the requirements for the award of degree of
BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted as
final semester project as part of our curriculum.

Sahil Sahani

Pratham Badsiwal
TABLE OF CONTENT

Chapter 1 1
Introduction 1
1.1 Background 1
1.2 Objective 1
1.3 Purpose & Scope 1
1.4 Applicability 2
1.5 Organisation Of Report 2
Chapter 2 3
Survey of Technology 3
2.1 Software 3
2.2 Frontend Technologies 3
2.3 Backend Technologies 4
2.4 Languages 5

Chapter 3 6
Requirement Analysis 6
3.1 Problem Definition 6
3.2 Requirement Specification 6
3.2.1 Functional Requirement 6
3.2.2 Non-Functional Requirement 7

3.3 Planning And Scheduling 7


3.3.1 Gantt chart 7
3.3.2 PERT Chart 8
3.4 Software And Hardware Requirements 9
3.5 Preliminary Description 10
3.6 Conceptual Model 10
3.6.1 Data Flow diagram 10
3.6.2 Use Case diagram 11
3.6.3 Activity diagram 12
3.6.4 ER diagram 14
3.6.5 Sequence diagram 15
3.6.6 Class diagram 16
3.6.7 Event Table 17
Chapter 4 18
System Design 18
4.1 Basic Modules 18
4.2 Data Design 18
4.3 Flow Chart 20
4.4 Algorithm Design 21
4.5 UI Design 22
4.6 Test Case Design 23
Chapter 5 24
Implementation and testing 24
5.1 Implementation approches 24
5.2 Code details and efficiency 24
5.3 Testing approach: 27
5.3.1 Unit testing 27
5.3.2 Integration testing 27
5.3.3 System testing 28
Chapter 6 29
Results and discussions 29
6.1 Test Reports 29
6.2 User documentation 30
Chapter 7 34
Conclusion 34
7.1 Conclusion 34
7.2 Limitations of system 34
7.3 Future Enhancement of the project 34
References 35
LIST OF TABLES

Sr No. Table Name Page No.


1 Event Table 17

2 Data Design User Table 19

3 Data Design Activity Table 19

4 Data Design Nutrition Table 19

5 Data Design Health Metrics Table 20

6 Test Case Table 23

7 Unit Testing Table 27

8 Integration Testing Table 27

9 Formal Testing Table 29

LIST OF TABLES

Fig No. Figure Name Page No.


1 Gantt Chart 7

2 Pert Chart 8

3 Data Flow Diagram 10

4 Use Case Diagram 11

5 Activity Diagram 12

6 ER Diagram 14

7 Sequence Diagram 15
8 Class Diagram 16
9 Flow Chart Diagram 20
CHAPTER 1

INTRODUCTION

1.1 Background
In recent years, there has been a significant increase in awareness regarding the
importance of maintaining a healthy lifestyle through regular exercise and proper nutrition.
However, the challenge lies in finding a one-size-fits-all solution due to the diverse fitness
levels, dietary preferences, and health conditions of individuals. Traditional fitness and diet
plans often fail to cater to these unique needs, leading to suboptimal results. To address this
gap, the development of personalized fitness and nutrition applications has become crucial.

1.2 Objective
❏ The primary objective of the Personalized Fitness Tracker app is to provide users
with customized workout plans and dietary recommendations that are specifically
tailored to their individual profiles. By utilizing advanced algorithms and data
analytics, the app aims to enhance user engagement, improve fitness outcomes, and
promote healthier lifestyle choices.

1.3 Purpose & Scope

1.3.1 Purpose
The purpose of the Personalized Fitness Tracker app is to offer a comprehensive,
user-friendly platform that integrates personalized fitness and nutrition guidance. It aims
to empower users to achieve their health and fitness goals by providing them with
scientifically-backed, customized plans and motivational support.

1.3.2 Scope
The scope of the Personalized Fitness Tracker app includes:
❏ Personalized Workout Plans: Generating exercise routines based on user-
specific information such as fitness goals, current fitness levels, and physical
limitations.
❏ Dietary Recommendations: Offering meal plans and nutrition advice tailored
to individual dietary preferences, health conditions, and goals.
❏ Progress Tracking: Monitoring users' progress through real-time data
collection and analysis, providing insights and adjustments to optimize
results.
❏ Applicability Motivational Support: Delivering motivational content, tips, and
reminders to keep users engaged and on track with their fit.
1
1.4 Applicability
The Personalized Fitness Tracker App is applicable to a wide range of users,
including:
❏ Fitness Enthusiasts: Individuals looking to optimize their workout routines
and achieve specific fitness goals.
❏ Beginners: Newcomers to fitness seeking guidance and structured plans to
start their journey.
❏ Health-Conscious Individuals: Users aiming to improve their overall health
and well-being through balanced nutrition and regular exercise.
❏ Special Populations: Individuals with specific health conditions or dietary
restrictions requiring personalized plans to ensure safe and effective results.

1.5 Organization of Report


The subsequent chapters of the project report will focus on the survey of different
technologies which includes comparison of different platforms, languages, front- end, back-
end, hardware etc. the survey is followed by the analysis of requirements resulting in
generation of requirement specification and schedule of activities. It also includes the
conceptual design that visualizes the features and operations that can be performed on the
system. The final chapter of the project report includes the system design that describes
desired features and operations in detail, including screen layouts, business rules, process
diagrams, pseudo code and other documentation.

2
CHAPTER 2

SURVEY OF TECHNOLOGY

2.1 SOFTWARE

Available Software for Developing the Application:

❖ Android studio ( for android development )


Android Studio is the official IDE for Android app development, offering support
for both Java and Kotlin. It comes with powerful debugging and emulation tools, making
it highly efficient for Android-specific apps. However, it can be resource-heavy and slow
on lower-end machines, which can affect productivity during large-scale development.

Why choose Android Studio?


For native Android app development, Android Studio provides all the necessary
tools to optimize performance and user experience on Android devices.

❖ Visual Studio Code ( for cross platform development )


Visual Studio Code is a lightweight, highly customizable text editor that supports
extensions for various languages and frameworks, including React Native. Unlike Xcode
and Android Studio, VSCode does not have built-in simulators, but with the right
extensions, it allows for efficient cross-platform development.

Why choose Visual Studio Code?


If the goal is to develop a cross-platform app (iOS and Android) with a shared
codebase, VSCode combined with React Native provides an excellent balance of simplicity
and flexibility, making it a preferred choice for developers working in both environments.

2.2 FRONTED TECHNOLOGIES

Available Front-End Technologies:

❖ React Native

React Native is a popular framework for building cross-platform mobile


applications using a single codebase. It uses JavaScript and allows developers to create
reusable components for iOS and Android, which makes development faster and more
efficient. However, React Native apps may not always provide the same performance level
as fully native apps, especially for complex UIs or animations.

3
Why select React Native?
React Native is an excellent choice when the focus is on rapid development,
maintaining a single codebase, and reaching both iOS and Android users without needing two
separate development efforts.

❖ Flutter

Flutter, developed by Google, allows for the creation of visually attractive and
high-performance mobile apps using a single codebase. It provides a rich set of pre-
designed widgets that ensure smooth and responsive UIs. Though relatively new, it
has gained significant traction. However, the developer community is still smaller
compared to React Native, and its ecosystem is growing but not as mature yet.

Why select Flutter?


Flutter is ideal for applications that require rich, customizable designs and fast
performance. If the app demands a fluid user interface and needs to render complex
animations smoothly, Flutter might be the better choice.

2.3 Backend Technologies

Available Back-End Technologies:

❖ Node.js ( With Express.js )


Node.js is a JavaScript runtime built on Chrome’s V8 engine, known for its
asynchronous event- driven architecture, making it highly efficient for handling multiple
requests. Express.js, a minimal framework for Node.js, helps in building web applications
and APIs. It’s particularly useful for real-time apps but may not perform as well for CPU-
intensive tasks.

Why select Node.js?


For applications that require real-time features like live updates, chat functionality, or
notifications, Node.js is an ideal choice due to its speed and ability to handle multiple
requests concurrently. Moreover, using JavaScript for both the front-end and back-end
makes development more streamlined.

❖ Django ( Python )
Django is a high-level web framework based on Python. It promotes rapid
development and clean, pragmatic design. Django comes with built-in security features and
is an excellent choice for applications that need to scale quickly. However, Django might be
overkill for simple applications, and Python’s performance is slower compared to
JavaScript.

Why select Django?


Django is best suited for projects where security is a top priority and where there is
a need for quick development without compromising the robustness of the application.
4
❖ Firebase (Backend as a service)
Firebase is a cloud-based backend service that provides a real-time database, user
authentication, and cloud storage. It allows developers to focus on the front-end while
Firebase handles the backend infrastructure. Firebase is excellent for small- to medium-
sized apps that require real-time data synchronization. However, it gives developers
limited control over the backend, and costs can increase as the application scales.

Why select Firebase?


Firebase is a good option for small teams that want to focus on app features rather
than infrastructure management. It’s especially useful for apps that need real-time
synchronization, like messaging or collaborative applications.

2.4 Languages

Available Programming Languages:

❖ Javascript:
JavaScript is a dynamic, interpreted language widely used in both front-end and
back-end development. For mobile app development, it’s essential for frameworks like
React Native. JavaScript’s ability to handle both the client and server-side logic makes it
an attractive choice for full-stack development. However, it can become complex in larger
applications and lacks strong typing, which can introduce issues if not managed carefully.

Why select Firebase?


JavaScript is an ideal language when developing cross-platform applications with
React Native. Its versatility allows developers to use the same language for both front-end
and back-end, reducing the need for context switching and streamlining the development
process.

❖ Python:
Python is a high-level, interpreted language known for its simplicity and
readability. It is widely used in back-end development with frameworks like Django.
Python’s rich libraries make it a powerful tool for handling complex data processing,
machine learning, and scientific computing. Its downside is performance, as Python is
generally slower than JavaScript or compiled languages.

Why select Firebase?

Python is an excellent choice for projects that emphasize quick development,


readability, and maintainability. For apps that require complex logic or data manipulation,
Python’s extensive library ecosystem makes it easy to implement advanced features
quickly.

5
CHAPTER 3

REQUIREMENT AND ANALYSIS

3.1 Problem Definition


The problem is the increasing difficulty for individuals to maintain a consistent and
effective fitness routine that is tailored to their personal needs. Many fitness apps provide
generic workout plans and dietary recommendations, which may not align with the user's
specific health goals, body type, lifestyle, and preferences. This lack of customization often
leads to reduced motivation, suboptimal results, and a failure to develop long-term healthy
habits.

Objective: To develop a Personalized Fitness Tracker App that tailors workout plans and
dietary suggestions to individual user profiles using advanced data analytics and algorithms.
The app will provide a more engaging and effective way to achieve fitness goals by focusing
on personalized experiences rather than one-size-fits-all solutions.

3.2 Requirement Specification


The Requirement Specification section defines the system's needs, including
functional and non- functional requirements.

3.2.1 Functional Requirement


Functional requirements specify what the system should do. They include:
✓ User Profiles: Users must be able to create profiles with details such as age,
weight, height, gender, fitness goals, and dietary preferences.
✓ Personalized Workout Plans: Based on the user’s profile, the system should
generate a customized workout plan with varying difficulty levels.
✓ Dietary Recommendations: The app should provide personalized meal plans
based on the user’s fitness goals (e.g., weight loss, muscle gain) and dietary
preferences (e.g., vegetarian, vegan, keto).
✓ Progress Tracking: Users must be able to track their workout and diet progress
over time, with visual graphs and data analytics for motivation.
✓ Social Integration: Users should be able to share their progress or achievements
on social media platforms and interact with a community of other users for
motivation.

6
3.2.2 Non-Functional Requirement
Non-functional requirements address how the system performs its functions. These
requirements include:

✓ Performance: The app should load within 2 seconds, and any action should be
processed within 1 second.
✓ Security: User data (such as personal info, health stats, and progress) must be
securely encrypted and follow GDPR compliance for data protection.
✓ Usability: The user interface must be intuitive and simple to navigate, allowing
users of all fitness levels to engage with the app seamlessly.
✓ Scalability: The system should handle increasing user loads without performance
degradation, ensuring smooth experiences even during high traffic periods.
✓ Availability: The app must be available 99.9% of the time, with minimal
downtime for maintenance.
✓ Compatibility: The app should run smoothly on both Android and iOS devices,
supporting major OS versions.

3.3 Planning and Scheduling


Number of Personnel: 2

3.3.1 Gantt chart

7
3.1.1 PERT Chart

8
3.2 Software and Hardware Requirements
3.2.1 Software Requirements

For Development:
Operating System: Microsoft Windows 7/8/10 (32-bit or 64-bit),

Software: Visual Studio Code

Fronted Languages: Javascript

Backend Languages: Node.js

For running on a device:


Operating System: Android 3.0 or higher.

3.2.2 Hardware Requirement

For Development:
Windows OS: 3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android
Emulator

Disk space: 6 GB of available disk space minimum, 16 GB recommended (1700 MB for IDE
+ 4.4 GB for Android SDK and emulator system image)

For running on a device:


Device: Phone or tablet running Android 3.0 or higher

Disk space: 6 MB (at the least)

9
3.3 Preliminary Description
The Preliminary Description outlines the initial architecture and flow of the
Personalized Fitness Tracker app. The application will be developed as a mobile-first
solution with the following components:

❏ User Interface: A responsive, user-friendly design that allows users to easily navigate
through profile setup, workout selection, meal planning, and progress tracking. The
interface will prioritize simplicity, minimizing user effort in data input.
❏ Back-End Services: The back-end will process user data, generate personalized plans,
and store progress. Firebase or a traditional server setup (like Node.js with Express) will be
used for managing user data and real-time updates.
❏ APIs: Various external APIs will be used to fetch relevant dietary information,
workout details, and possibly integrate with fitness wearables (such as Apple Health or
Google Fit).

3.4 Conceptual model


The Conceptual Models includes Diagrams such as:
1. Data Flow Diagram
2. Use Case Diagram
3. Activity Diagram
4. Sequence Diagram
5. Class Diagram
6. Event Table

3.4.1 Data Flow Diagram


Level 0

10
Level 1

3.4.2 Use Case Diagram

11
3.4.3 Activity Diagram
1. Registration

12
2. Complete Profile

3. Choose your Fitness Goal

13
3.4.4 ER Diagram

14
3.4.5 Sequence Diagram

15
3.4.6 Class Diagram

16
3.4.7 Event Table

Event ID Event Trigger Input Output Preconditions Postconditions


Description
E001 User User clicks User details Profile is None User is
registers "Register" (name, age, saved in the redirected to
and sets up button height, etc.) database the dashboard
their profile
E002 User logs in User clicks Email, User is User is User is
"Login" password logged in registered and redirected to
button has valid the dashboard
credentials
E003 User User selects Fitness goal, Personalized User profile is Workout plan
generates a fitness goals workout workout plan set up is saved and
workout preferences is generated displayed to
plan user
E004 User User selects Dietary Personalized User profile is Dietary plan
generates a dietary preferences, diet plan is set up is saved and
dietary plan preferences goals generated displayed to
user
E005 User logs User submits Workout Workout data User has an Progress is
workout workout data details (reps, is saved active updated and
progress sets, etc.) workout displayed on
plan dashboard
E006 User logs User submits Meal details Meal data is User has an Progress is
dietary meal data (food, saved active dietary updated and
intake calories, etc.) plan displayed on
dashboard
E007 App sends System None Notification User missed User is
reminder detects sent workout or reminded to
notification missed log meal log log workout or
for missed meal
activities
E008 User views User None Progress User has Progress is
progress navigates to displayed logged displayed in
progress workouts or graphs or
screen meals charts

17
CHAPTER 4

SYSTEM DESIGN
4.1 Basic Modules
The Personalized Fitness Tracker App is divided into the following basic modules:
● User Management Module: Includes user registration, login, and profile
management.
● Workout Plan Module: Generates personalized workout plans based on user data.
● Dietary Recommendations Module: Provides tailored dietary suggestions based on
user goals.
● Progress Tracking Module: Allows users to log their workout sessions and track
progress over time.
● Notification Module: Sends personalized notifications for workout reminders and
meal plans.
● API Integration Module: Syncs fitness data with Google Fit or Apple HealthKit.
● Data Visualization Module: Displays workout progress and nutrition summaries in the
form of charts.

4.2 Data Design

• Schema Design

18
• Data Integrity

19
4.3 Flow chart

20
4.4 Algorithm
Algorithm: Personalized Fitness Tracker

Input: User details (age, gender, height, weight, fitness goal, dietary preference), daily
activity data, workout preferences, progress logs.
Output: Customized workout and diet plan, progress reports, notifications,
recommendations.

Step 1: User Registration and Profile Setup


Start
Accept user inputs:
Name, age, gender, height, weight, fitness goal (e.g., weight loss, muscle gain).
Validate input fields.
If any mandatory field is missing, request input again.
Store user data in the Users table.
End

Step 2: Workout Plan Generation


Start
Input: User ID, fitness goal, workout preference. Retrieve user profile from Users table.
Based on fitness goal:
If weight loss:
Generate a workout plan with high cardio frequency.
If muscle gain:
Generate a strength training-focused workout plan.
Save the workout plan in the Workout Plans table.
End

Step 3: Dietary Plan Generation


Start
Input: User ID, fitness goal, dietary preferences (e.g., vegetarian).
Retrieve user profile from the Users table.
Based on fitness goal:
If weight loss:
Generate a calorie-deficit meal plan.
If muscle gain:
Generate a high-protein, calorie-surplus meal plan.
Save the diet plan in the Dietary Plans table.
End

Step 4: Daily Progress Tracking Start


Input: Daily workout logs, meal logs, weight, and calories burned.
Retrieve the workout and diet plan for the user from the database.
Log: User’s current weight and progress.
Calories burned based on workout intensity.
Save progress data in the Progress table.
End

21
Step 5: Feedback and Notifications Start
Check if the user has logged daily workouts and meals.
If no logs exist for the day:
Send reminder notification.
Based on progress logs:
If no significant progress: Recommend adjusting workout/diet plan.
Send weekly progress reports to users.
End

4.5 UI Design

22
4.6 Test Case Design
Test Test Case Preconditions Test Steps Expected Results
Case Description
ID
TC1 User Registration User must have a Fill in registration form User should be
valid email and and submit. registered
password. successfully.
TC2 User Login User must be Enter email and User should log in
registered in the password, then submit. successfully.
system.
TC3 Create Workout User must be logged Select workout type and Workout plan should
Plan in. duration, then save. be created and saved.
TC4 Add Dietary User must be logged Select meal type and Dietary
Recommendations in and have a enter details, then save. recommendations
workout plan should be saved.
created.
TC5 Track Fitness User must be logged Input current metrics Fitness progress
Progress in. and view progress. should be displayed.
TC6 Track Steps User must have step Walk with phone and Step count should be
tracker enabled. check step count on updated in real-time.
dashboard.
TC7 Set Daily Goals User must be logged Enter daily step, calorie, Goals should be
in. and water goals and saved and displayed
save. on dashboard.
TC8 Notification User must be logged Check if reminders for Notifications should
Alerts in. workout and meals appear correctly.
appear at set times.
TC9 Calorie Tracker User must be logged Log meals with calorie Total calories should
in. count and view be updated correctly.
summary.
TC10 Update User User must be logged Go to profile section, Profile details should
Profile in. update details like be updated
weight, height, age, and successfully.
save.
TC11 Weekly Progress User must be logged Navigate to progress Weekly report should
Report in. section and view weekly display workout
report. summary, calories
burned, steps taken,
and water intake.

23
CHAPTER 5

IMPLEMENTATION AND TESTING

5.1 IMLEMENTATION APPROACHES


The Scrum methodology was adopted for developing the Personalized
Fitness Tracker App. This iterative approach allowed breaking down the project into
smaller, manageable sprints, ensuring consistent progress and easy integration of
changes.

● Sprint Planning: Divided into feature-based sprints covering user


profile management, workout and meal plan generation, progress
tracking, and notification handling.
● Daily Standups: Short meetings to discuss completed tasks,
upcoming work, and blockers.
● Sprint Review: Delivered working modules at the end of each sprint to
gather feedback and improve the next iteration.
● Sprint Retrospective: Documented challenges and solutions
after each sprint to improve the overall development process.

This iterative and collaborative approach ensured quick adaptation to changes and
better alignment with project requirements.

5.2 CODING DETAILS AND CODE EFFICIENCY


The Personalized Fitness Tracker App was developed using React Native for front-end,
Node.js for backend logic, and Supabase for authentication and data management.
1. User Registration and Authentication (Supabase)
import { supabase } from '../supabaseClient';
export const registerUser = async (email, password, userDetails) => {
const { data, error } = await supabase.auth.signUp({
email,
password,
options: {
data: userDetails
}
});
return { data, error };
};
export const loginUser = async (email, password) => {
const { data, error } = await supabase.auth.signInWithPassword({ email, password });
return { data, error };
24
};

2. User Profile Management


export const updateUserProfile = async (userId, profileData) => {
const { data, error } = await supabase
.from('profiles')
.update(profileData)
.eq('id', userId);
return { data, error };
};

3. Workout Plan Generation


const fetchWorkoutPlan = async (fitnessLevel) => {
const { data, error } = await supabase
.from('workout_plans')
.select('*')
.eq('fitness_level', fitnessLevel);
if (error) throw new Error(error.message);
return data;
};

4. Meal and Nutrition Logging


const logMeal = async (mealData) => {
const { data, error } = await supabase
.from('meals')
.insert([mealData]);
if (error) throw new Error('Unable to log meal');
return data;
};

5. Real-Time Step Counting (Google Fit Integration)


import GoogleFit from 'react-native-google-fit';

const fetchStepCount = async (startDate, endDate) => {


const result = await GoogleFit.getDailyStepCountSamples({ startDate,
endDate,
});
return result?.[0]?.steps ?? [];
};

25
6. Progress Visualization (Chart Rendering)
import { LineChart } from 'react-native-chart-kit';

const ProgressChart = ({ labels, data }) => (


<LineChart

data={{
labels,
datasets: [{ data }]
}}
width={320} height={220} yAxisSuffix="kcal" chartConfig={{
backgroundColor: "#f5f5f5", backgroundGradientFrom: "#f5f5f5",
backgroundGradientTo: "#fff", decimalPlaces: 0,
color: (opacity = 1) => `rgba(0, 122, 255, ${opacity})`,
}}
/>
);

7. Notification System (Workout & Meal Reminders)


import PushNotification from 'react-native-push-notification';

const scheduleNotification = (title, message, time) => {


PushNotification.localNotificationSchedule({
title, message,
date: new Date(Date.now() + time), allowWhileIdle: true,
});
};

26
5.3 Testing Approach
5.3.1 Unit Testing

Module Tested Features Test Description Status

Registration Form validation, error Ensured proper validation and ✅


handling error messages Passed

Login Session handling, error Verified correct login flow and ✅


cases error handling Passed

Workout Correct plan for user Checked workout plan ✅


Plan profile generation logic Passed

Meal Data entry & fetch Confirmed data is correctly ✅


Logging saved and fetched Passed

Step Sensor data fetching Verified accurate step counting ✅


Tracking and storage Passed

5.3.2 Integration Testing

Scenario Tested Features Test Description Status

New User Setup Profile creation -> Verified complete flow from ✅
Dashboard registration to dashboard Passed
navigation

Daily Progress Log meals, workouts, view Checked data integration ✅


Flow charts across all components Passed

Notification Reminder triggers for Ensured notifications are ✅


Handling meals & workouts triggered on time Passed

27
5.3.3 System Testing

System testing is a level of testing that validates the complete and fully integrated software
Product The purpose of a system test is to evaluate the end-to-end system specifications.
System testing for the Personalized Fitness Tracker App covered aspects like delay,
usability, security, and robustness.

Delay

The application takes approximately 3 to 5 seconds to respond to database queries when


there is proper network connectivity. All core features such as profile fetching, workout
plan generation, and progress chart loading occur within a 5 to 7 second range.

Usability

The Personalized Fitness Tracker App was designed with a simple and intuitive user
interface, ensuring that users of all age groups and technical skill levels can easily navigate
the app. Icons, clear labels, and guided onboarding help users understand and use features
effectively.

Security

User data security is a top priority. The app uses Supabase authentication, which includes:
● Email verification during registration.
● Password encryption and secure storage.
● Restricted access to personal data based on user authentication tokens.
● Prevents unauthorized access through strict session management and token-based
validation
.
Robustness

The app was tested for performance stability and resilience under various conditions:
● Handles offline mode gracefully, queuing user actions for later syncing.
● Application does not crash during normal operations like profile setup, workout
logging, and progress tracking.
● Minor delays occur when the device switches networks (Wi-Fi to mobile data), but
they do not impact core functionality.
● Notifications continue working reliably even after the app is backgrounded for
extended periods.

28
CHAPTER 6

Results and Discussions


6.1 Test Reports
6.1.1 Informal Testing
The app was informally tested by a group of peers and developers for usability and
feature completeness.
Feedback:
● Users appreciated the personalized approach to fitness tracking.
● UI enhancements were suggested and implemented.
● Real-time notifications were found useful for maintaining consistency.

6.1.2 Formal Testing


The formal test cases covered complete feature workflows to ensure all functional
requirements were met.
Test Case Description Expected Result Actual Result Status
ID
TC001 User Registration Successful profile Profile created ✅
creation Passed
TC002 Login Successful user Dashboard shown ✅
login Passed
TC003 Workout Plan Generation Personalized plan Correct plan shown ✅
displayed Passed
TC004 Meal Logging Meal data stored Meal logged ✅
correctly Passed
TC005 Progress Chart Display Correct graph Data visualized ✅
plotted Passed
TC006 Notifications Timely reminders Notification ✅
triggered received Passed
TC007 Dietary Recommendations Recommendations ✅
Recommendations saved correctly saved Passed
TC008 Step Tracking Real-time step Steps updated ✅
count update Passed
TC009 Set Daily Goals Daily goals saved Goals displayed ✅
and displayed Passed
TC010 Update User Profile Profile details Profile updated ✅
updated Passed
TC011 Weekly Progress Report Weekly summary Summary displayed ✅
displayed Passed

29
6.2 User Documentation
Splash Screen Permission

Login Registration

30
Complete Profile

31
Dashboard

Workouts Meals
32
Calendar Profile

33
CHAPTER 7

CONCLUSIONS

7.1 Conclusion

The Personalized Fitness Tracker App successfully addresses the need for tailored fitness
and dietary guidance by combining:
● Custom Workout Plans
● Personalized Meal Recommendations
● Real-Time Step Tracking
● Progress Visualization
● Timely Notifications
This combination helps users achieve their health goals with personalized experiences,
Driving motivation and consistency. The app’s modular design and scalable architecture
ensure it can be enhanced with new features in the future.

7.2 Limitations of the System


● Accuracy of step counting relies on device sensors.
● Limited to mobile platforms (Android & iOS), no web version.
● Regional food databases may need further expansion.

7.3 Future Scope of the Project


● Wearable Integration: Real-time heart rate monitoring.
● AI Recommendations: Smart suggestions based on user habits.
● Community Features: Social sharing, fitness challenges.
● Video Workouts: Personalized video tutorials based on fitness level.

34
References

1. OpenAI. (2024). GPT-4 Model Documentation. Retrieved


from https://openai.com/research/gpt-4
2. Supabase. (2024). Documentation - Authentication, Database, and
Realtime Features. Retrieved from https://supabase.com/docs
3. Google Fit Developers. (2024). Fit API Documentation. Retrieved
from https://developers.google.com/fit
4. Apple Developer. (2024). HealthKit Documentation. Retrieved
from https://developer.apple.com/documentation/healthkit/
5. Agile Alliance. (2023). Scrum Framework Guide.
Retrieved from https://www.agilealliance.org/glossary/scrum/
6. HealthifyMe. (2024). App Overview and Features. Retrieved
from https://www.healthifyme.com/
7. Expo Documentation. (2024). React Native and Expo Features Guide. Retrieved
from https://docs.expo.dev/

35

You might also like