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;
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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;
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;