Health and Fitness Application

Project Date 24th January 2022
Platform Mobile Application
Type Cross-Platform
Data Management Realtime Database
Languages & Tools

1 Introduction

This project would be focused on developing a mobile health and fitness application, based on flutter cross-platform development. The application backend would be based on flutter cloud-based real-time database system. Users would be able to record and track relevant health and fitness records. It is essential that users are provided with a simple and efficient interfaces optimised to be used regularly.

The requirements of the applications are;

  1. Create a health and fitness application.
  2. Use of suitable backend structure with database system.
  3. Use of UI/UX best practices for development.
  4. Use of suitable development architecture and methodologies.

2 Features

  1. User registration.

If the user is new to the application, the user has to click the ‘Register New Account’ button to get redirected to registration page. Then the user needs to fill in, User Name, Email Address, Password, Height and Weight to register the account. After filling the fields, the user has to click ‘Sign Up’ button to complete the registration process. The application will send the relevant data to the database and store a new user.

  1. User login.

Once the user opens the app, the user will be presented with a login page. In the login Page, User have to enter the Username and Password. After entering the valid credentials, the user would have to click the ‘Login to Account’ button to access the application, where it will be redirected to the home screen.

  1. Forgot password.

If the User forgot his/her password, the user has to click the forgot password button and it will redirect to another screen where the user will be asked to enter the email address, the password will be then sent to the email address. This is an essential feature to ensure the safety of theh users' accounts and data.

  1. Add workout.

When the user clicks the Workout in the tab bar, the user will be presented with several focus areas such as ABS, ARM, CHEST, SHOULDER. When the user clicks either of them, the user will be presented with list of workouts. The User can click the add workout button to add new workouts and sent them to database.

  1. Update workout.

When the user clicks an existing workout, the user will be presented with a screen where the user can edit the workout name and workout description.

  1. Delete workout.

When the user clicks an existing workout, the user will be presented with a screen where the user can click the delete button and delete the workout from the database.

  1. Add diet plan.

When the user clicks the Workout in the tab bar, the user will be presented with several focus areas such as ABS, ARM, CHEST, SHOULDER. When the user clicks either of them, the user will be presented with list of workouts. The User can click the add workout button to add new workouts and sent them to database.

  1. Update diet plan.

When the user clicks an existing workout, the user will be presented with a screen where the user can edit the workout name and workout description.

  1. Delete diet plan.

When the user clicks an existing workout, the user will be presented with a screen where the user can click the delete button and delete the workout from the database.

  1. Review the application.

When the user clicks the review button in the tab bar, the user will be presented with a screen where the user can rate the application using five-star rating system and write a review about the application.

3 Application Techniques

The health and fitness mobile application would be developed using Dart language, with the assistance of Flutter framework. Moreover, the final application would be cross-platform based, with the capability to run on different devices among operating systems like Android and iOS.

The backend development of the application would be based on Firebase real-time database management system.

3.1 Database Integration

A cloud-based real-time database system called ‘Firebase’ has been selected as the database integration system for the current application.

Firebase provides analytics and testing tools to assist the developers on increasing the effectiveness and efficiency of the application.

Image

Considering the connection integration of the database system with the developed application, the connection would be established using Firebase system’s console system.

In this project, the basic database integration would be to register new users in the fitness application. The snippet below shows the creation of the user database;

Image

Eventually, the records in the database are extracted from the relevant forms in the user interface of the mobile application.

The snippet below shows how the field entered in the application would be stored in the database;

Image