Features

Our aim for freshie is to provide a mobile application as a platform for personal trainers and their clients to organise and track tasks such as meal preps, calorie tracking and workouts.

Client Side Features

Feature

Implemented in Milestone

Remarks

Calorie Tracking

1

This feature includes actions such as:

  • Circular progress bar in dashboard to look at daily calorie intake against daily caloric goal.

  • Weekly bar chart to keep track of calorie intake for the week.

  • Editing of daily calorie intake goals.

Recipes

1

This feature includes actions which allow the client to:

  • View existing recipes

  • Creating custom recipes which are only accessible to the client

  • Add recipes to favourites

  • Search for recipes, which includes the client's own recipes and also recipes created by Personal Trainers

Eating History

2

This feature is closely related to the recipes feature as users will add to their eating history by clicking on a Recipe or a menu item (from a restaurant). Thereafter, the food item will be added to his eating history as a consumedMeal (a model in the database), which he can then view and also remove.

Furthermore, his daily calorie intake will be updated with the added food item's recipe.

We have also made it so that the eating history page will show the history of the current day, and to view food intake on other days, clients can use the date picker to filter for that day.

Adding of Personal Trainer

2

There are two points in time which a personal trainer can be added:

  • During client registration, where they will input their personal trainer's referral code.

  • In the case where a user already has an account but did not register with a personal trainer, and has decided to engage one who is also using the app, he/she can go to his profile page to add the personal trainer's referral code.

Meal plans

2

Meal plans consist of multiple recipes, and users are able to create new meal plans, add recipes to the meal plans, and edit or delete existing meal plans that they have created.

Restaurants

3

This feature allows the user to do the following:

  • Get an overview on the map showing the restaurants nearby.

  • Search for restaurants which exists in the database and their menu items, which they can add to their eating history.

  • Add new restaurants to the database, which is done using Norminatim.

  • Add menu items to existing restaurants.

  • Navigate to selected restaurant with a click of a button which will open apple maps with directions.

Personal Trainer Side Features

Feature

Implemented in Milestone

Remarks

Recipes

2

Similar to clients, personal trainers can create, read, edit or delete recipes.

Meal plans

2

Similar to clients, personal trainers can create, read, edit or delete recipes.

Restaurants

2

Similar to clients, personal trainers can add restaurants and their food items.

Clients

2

This feature provides the personal trainer with the following functionalities:

  • View the clients' dashboard page

    • daily and weekly calories view

    • eating history

    • meal plans

  • Assign meal plans to his clients

  • Edit client's daily caloric goals

Additional features

Feature

Remarks

Ingredient assistant

Helps user to search for the ingredients they need to make the food item.

Features we could not implement in time

We had many other features in mind, but underestimated the time it took for us to be able to learn and implement the features we have mentioned above.

Messaging feature between the personal trainer and client

As useful this feature is, we feel that we made the right choice to prioritise the above features as this can easily be replaced by other messaging platforms such as Whatsapp or Telegram in the mean time. If given more time, this would be the next feature we would implement.

Personal trainer listings page

This feature was actually suggested to us when we were asking for feedback from our peers, and it was mentioned as a feature which would make the app more lucrative for personal trainers to use the app. Personal trainers will be able to use the app to advertise themselves, sort of like how you would look at a carousell listing but instead of products it would be a personal trainer instead. There, they may be able to write about their experiences, post customer reviews, and their certificates. Again, we could not implement this feature due to time constraint and will definitely add it to the application if we decide to do something more with it.

Restaurant recommendations

This feature was actually one of the features we wanted to have since the start. This feature will provide a list of recommended restaurants or menu items in the vicinity, which will fit well to the user's calorie intake. However, after searching extensively for APIs that allow us access to a database which contains restaurant menus and the calories of their food items but to no avail, we came to the conclusion that we would have to depend on community input of restaurants. There are issues that this may bring, which is mainly the reliability of users and the information they input. We have tried to mitigate the issue by using the Norminatim package which will only allow users to add existing restaurants that is in their database. Another issue this brings is in the case where a restaurant has many branches. Take for example, McDonalds. If a user adds the menu item McSpicy, it will only add to the specific McDonalds at that selected outlet.

Last updated