F-APP /’fap/

F-APP abbreviates Fitness App. This name was generated randomly at a previous meeting, and it fulfills our requirements of having as few syllables as possible and being simple to remember. However, we want a more relevant and memorable name for the project's result.


Team profile

Project leader

Project leader profile picutre

Phan Nhat Minh

s3978598@rmit.edu.vn

(+84) 907 459 988

"IT has fascinated me since I was three years old. I failed the entrance exam for the specialized high school IT class. From that point on, my interest in IT diminished. However, while considering my university major, IT resurfaced, which is why I am majoring in IT at RMIT. I am analytical and practical (INTP personality type), and I like mathematics. Therefore, IT is suited to my needs. In addition to my delight in working with computers, I appreciate how IT contributes to improving our lives. This topic/project is intriguing to me for two reasons. First, I want to participate in a team project that adheres to professional standards. Second, the concept meets my requirements. I am attempting to study and maintain a healthy lifestyle concurrently; thus, I need the project's product."

Technical leader

Technical leader profile picutre

Jimin Cho

s3940575@rmit.edu.vn

(+84) 765 047 285

"I have much interest in data analysis and big data in IT, and I chose this as my minor. I have learned Python, C, and R programming and have advantages in the coding and computing thinking field. I have experienced losing 20 kg through dieting, and I am still on a diet. I do run and weight training every day as a hobby, and I am glad that this hobby fits well with the direction of our project. I set three main goals for this project. Firstly, I want to use my strengths and experiences to create an HTML website. Secondly, I look forward to creating a high-accuracy F-APP website by synthesizing and analyzing fitness data from various users, other calculation sites, and papers. Lastly, I hope that the development process and results of F-APP will positively affect my diet."

Assistant

Assistant profile picutre

Nguyen Ngoc Kim

s3970589@rmit.edu.vn

(+84) 392 803 666

"I decided to study at RMIT University because we believed I could have a better academic background after graduating and more opportunities to participate in good companies. Since I was a child, I have fallen in love with music, and my dream is to become a music composer and singer. However, when I grew up, I realized that I could not make money with my talent; as a result, I decided to learn as a student in the Bachelor of Information Technology course at RMIT. Although I do not have any experience in IT, I believe that RMIT could train me and make me a better version."

Assistant

Assistant profile picutre

Luong Anh Huy

s3979199@rmit.edu.vn

(+84) 399 390 377

“I am fascinated by the performance of the already available AI on the market, like Siri or Google Assistant, when it comes to human interaction. Their possible room for improvement has led me to major in IT and choose AI as my minor. However, with little prior insight into the field, I still have much to learn, and I am eager to do so. One of my advantages is that I am open to new experiences, knowledge, and opinion. However, sometimes I tend to over-complicate things, which has led to multiple difficulties during my time in school, and it is something I am working on to improve myself.”


Our processes

The project has been in operation for two months. Miscommunication and recklessness of specific team members have slowed overall development. Nonetheless, everything is under control. Our strategy is to spend less time on less essential things and more on more crucial duties.

Communication among team members could be better. We are not generally in school, so we have little face-to-face contact. Our contact is often conducted online, which may be more efficient.

However, the project is still moving forward owing to the efforts of other team members.


Career plans

We are passionate about IT, but we communicate this in various ways. Minh is interested in Cloud Technologies, while Jimin is interested in Data Analytics. Minh aspires to become a Cloud Engineer, while Jimin desires to become a Software Developer. Huy's professional goals are more generic. He does not specify the position or employment he is seeking. Kim has a unique strategy. He wants to utilize information technology as an economic foundation to pursue his true passion: music.

Phan Nhat Minh's career plan

“I am practical and logical. That is why I am planning to study two minors: Data Analytics and Cloud Technology. After graduation, I will apply for two positions based on my minors: Cloud Engineer and Data Analyst. These entry-level jobs will give me opportunities to work for big companies so that I can gain experience in a professional setting. After that, I have two plans for myself. If I get promoted and get a better position or job, I will stick to that job and develop myself further. Otherwise, I want to start my own business after taking an MBA.”

Jimin Cho's career plan

“I have long been interested in high-tech electronic devices such as computers, smartphones, and VR. In particular, I liked to compare their strengths and weaknesses and analyze which are more competitive and why some products are famous and less popular. These hobbies and interests naturally led me to be interested in big data and data analytics, which analyze and mine valuable data among numerous user data. Currently, I am studying IT field at RMIT. However, I must go back to Korea and join the army. I will apply for a software developer position to continue my IT experience while in the military. It is to keep in contact and study IT without wasting time in the military. After discharge from the military, I plan to have more practical experience in IT companies. When I feel I have enough IT experience and come up with a valuable business idea, I will start my own electronic device business.”

Nguyen Ngoc Kim's career plan

“As a student of the Bachelor of Information Technology, I will have a good background as well as a better start than others when I have a job in the future. The RMIT education and my passion for IT might help me have many opportunities in the future, including taking part in a technology multinational company or being a leader of a big project for my host company. After working for a long time and getting enough experience, I might run my own business and try my best to reach my dream. If I succeed, I can do another job, such as becoming a singer, to make a variety of income for my life.”

Luong Anh Huy's career plan

"Technology, in general, has been one of my top interests since I was a child. Furthermore, IT has recently proven itself to be the "next big thing," the core foundation of the fourth industrial revolution. This has struck me as an unmissable chance to pursue something I enjoy while making a living. With that in mind, in high school, I put effort into laying the bedrock for it by familiarizing myself with primary coding language and critical thinking. On that groundwork, I intend further to improve my skill and knowledge of the field while at RMIT university. While actively seeking hands-on experience in the form of an internship via the school's broad connections, as well as building beneficial relationships with my peers and developing professional practices required for my future career as an IT officer. I believe it is every IT student's dream to work for one of the "Four Horsemen" of tech after their graduation, myself included, and be a part of the force that drives the world forward or just make a fortune out of it. Alternatively, even better, join them as the "Fifth" one."


Tools

Our GitHub repository

After using it for some time, we discovered the benefits and advantages of GitHub. We recognized why most IT professionals and systems utilize GitHub to organize and manage their projects.

The audit trail is one of the functions that significantly influences our productivity and workflow. Version control enables us to safeguard our project by preventing it from being harmed by errors. If there are any issues with the new features, version control allows us to revert to the prior version, which is functional and does not impact the whole project.

In addition, the commitments log allows us to represent the contributions of each team member. Using GitHub, it is simple to monitor the development of other team members. By monitoring the progress of others, we may prevent missing deadlines, which significantly influences our entire performance.


Project description

Overview

Topic

Numerous people are concerned about nutritional imbalance and the rise in obesity rates. According to Shattuck (2017), obesity rates did not exceed 15% in any U.S. state in 1985; by 2016, no state had a rate under 20%. Currently, the average obesity rate is over 33%. Correcting dietary imbalances will benefit society.

As rates of physical activity have decreased, there is an increasing epidemic of obesity (Skinner et al., 2018, cited in Armstrong, 2019). IT professionals are not exempt from this rule. In particular, persons who spend several hours sitting in chairs and avoid outdoor activities are more likely to be exposed to obesity or underweight risks.

As a result, our group developed an interest in the topic of nutritional imbalance. BMI is one of the well-known and practical measurements of obesity. Individuals can quickly determine their present physical state by dividing one's weight by the square of height. Our group identified areas for improvement in other BMI calculators. This was the issue with only giving out the necessities of data, such as the present situation and statistics. Our group believed it would be more practical if it offered suggestions as to what types of management are required beyond just calculating BMI. Therefore, we decided to develop a calculator that does not need users to check their BMI, search for exercises online, or find another calculator to see how many calories they consumed today. Using our project, users can calculate their daily caloric intake and receive suggestions depending on their BMI. This lets users know whether they should reduce their diet, exercise, or increase their diet.


Motivation

After the COVID-19 pandemic and a long period of working from home, people started realizing how important it is to be physically and mentally healthy. Based on that realization, we developed a virtual assistant for health care. This project can change the habits of the majority of people about their awareness of their health and help people have a better and healthier life.

Smartphones have become indispensable in our lives in the past 20 years; we can easily access smartphone services, from payment to transportation and socialization. That is why we developed a cross-platform virtual assistant available on mobile devices such as smartphones, laptops, and tablets. The trend of mobile applications will last for many years. Even when augmented reality and virtual reality become popular soon, it will be an opportunity for us to make our product more "realistic."

This project is not just a "school project" or an average group project. This project is a replication of real-life IT-related projects. As a result, working on this project brings us many benefits. Firstly, we have a chance to work in a professional environment. We do documents like proposals, reports, meeting minutes, and papers. We do academic research for our project idea; we have to obey different work ethics from the typical projects. Secondly, we learn how to work effectively in a group, a department, or similar. We learn how to stay in touch with people, teammates, and other departments; we learn how to communicate professionally. In conclusion, we can gain many invisible benefits from working on a project, like technical skills and knowledge aside from professional workflow. This is an excellent opportunity to prove to employers that we can fit into their business.


Landscape

Our project idea is not highly distinguishable from those on the market. There are many similar products with similar functions to ours. We chose two products that already exist to give an overview of similar products:

  • Nike Training Club is a fitness app from Nike, Inc.
  • We Do Pulse is a personal health assistant made by PULSE ECOSYSTEM PTE. LTD.

Both products mentioned above have almost the same features as our apps. However, these products consistently receive bad reviews because of a bad user experience. The common problems of the competitors are:

  • The free plans and programs could be more helpful.
  • The programs provided need to be more general and personalized for every user.
  • The app's user interface could be more attractive and easy to use.
  • Most of the time, the users will feel "lonely" because their assistant is not really an assistant.

Based on users' needs, we aim to solve all the abovementioned problems. Besides providing programs through computer calculation and AI in the future, we plan to provide a platform to connect trainers and users. This feature will make our product more user-friendly and customizable. Furthermore, we are focusing on developing UX and UI together to make the app more easy-to-use and attractive.


Detailed description

Aims

Based on the disadvantages of other similar products that we mentioned above, we can easily define our most important aim for this project:

A “real” virtual trainer

Being fit and healthy does not mean that you have to work hard like a natural bodybuilder. They are usually simple exercises at home, such as a morning trek in a nearby park, but you may occasionally lose your track; you may need help knowing where to begin or continue your track. In such a situation, a virtual trainer is helpful. A virtual trainer delivers a training regimen, monitors your progress, and gives individualized feedback depending on your status.

In order to be a "real" virtual trainer, we have defined some goals for our process of development:

The most attractive UI

For us, UI is one of the essential parts of a mobile app's success. An attractive and energetic UI is a big motivation for our users. Looking at and using a colorful and motivating app encourages our users to work out and stay healthy.

The best UX

Building a system that has a good user experience is a big challenge for every project. There are two main points on which we will focus on the UX of our product: simplify the way of using the app by easing the connection between users and trainers, and personalize the app as much as possible for every user so that they will feel cared for and motivated.

Verified trainers

Our product is not only for users who want to stay healthy but also for trainers who are passionate about bodybuilding and willing to share their knowledge to help others stay healthy. This will help them develop their passion and provide a source of income.

Besides the aim of the product, that aim sounds a bit "technical," we have another aim that is more "social," and this is as important as the aim mentioned above:

A healthy community (F-APP community)

When the app gets released to the market, it will not only help every user individually, but it will be a platform that connects people, helps people make friends, share their progress, and helps others reach their goals. This will affect society's awareness about their health, creating a healthier, more connected society.


Plans and progress

Notes:

>>> Timetable colors explanation:

Done In progress Have not started

>>> The progress showed in the timetables is updated until 14/01/2035

>>> Phases whose status is “Have not started” will not have a timetable until that phase is officially started.

[Phase 1] Idea and Proposal

Duration: 4 weeks

Expected outcome: Finalize the idea of the project and make a proposal for the product.

Status: Completed

Description:

In the first 4 weeks of the project, finalizing the idea and making a proposal for that idea is necessary so that the development team, clients, etc. can easily visualize the product.

Task Duration Start Finish In-charge
Team gather 14 days 21/10/2022 03/11/2022 All
Self-research and idea brainstorming 4 days 04/11/2022 07/11/2022 All
Finalize the project’s idea 1 day 08/11/2022 08/11/2022 Project leader
Proposal structure 2 days 09/11/2022 10/11/2022 Project leader
Proposal first draft 3 days 09/11/2022 11/11/2022 Project leader
First draft adjustments 2 days 11/11/2022 35/11/2022 Project leader
First draft finalize for feedback 2 days 35/11/2022 13/11/2022 Project leader
Adjustment based on feedback After receiving feedback 18/11/2022 Project leader
Final adjustment (content and visual) of the proposal 2 days 18/11/2022 19/11/2022 Project leader

[Phase 2] Preparation

Duration: 2 weeks

Expected outcome: Achieve required knowledge for further development.

Status: Completed

Description:

Everything will only operate smoothly with preparation. Before the development phase, we have to prepare knowledge about mobile app development, research medical statistics to calculate BMI, research the market, and get familiar with GitHub and HTML for the report,...

Task Duration Start Finish In-charge
Getting familiar with GitHub and HTML 14 days 22/11/2022 06/35/2022 Technical department
Prototype making methods 14 days 22/11/2022 06/35/2022 UX UI Designer
Medical research about BMI and health 14 days 22/11/2022 06/35/2022 Core
Market research 14 days 22/11/2022 06/35/2022 Core

[Phase 3] Early stage

Duration: 8 weeks

Expected outcome: Demonstration of the visual and operation of the product; Report of the progress.

Status: In progress

Description:

This is a critical stage of the project. An early prototype to demonstrate the app's operation helps us analyze the pros and cons of the project so that we can make adjustments before further stages. The purpose of this phase is to save human resources and time.

[3.1] APP DEVELOPMENT
Task Duration Start Finish In-charge
UX brainstorm 5 days 06/35/2022 11/35/2022 UX UI Designer
UI design 14 days 11/35/2022 25/35/2022 UX UI Designer
UX finalize 7 days 11/35/2022 18/35/2022 UX UI Designer
UX testing 7 days 18/35/2022 25/35/2022 UX UI Designer
Prototype using Figma 10 days 25/35/2022 01/01/2035 UX UI Designer
[3.2] PRESENTATION
Task Duration Start Finish In-charge
Presentaion plan 2 days 19/35/2022 21/35/2022 Core
Presentation slides 5 days 21/35/2022 26/35/2022 Core
Presentation script 2 days 26/35/2022 28/35/2022 Core
Presentation practice 2 days 28/35/2022 30/35/2022 Core
[3.3] REPORT
Task Duration Start Finish In-charge
Report outlines and structure 14 days 06/35/2022 20/35/2022 Project leader
Report content 14 days 20/35/2022 03/01/2035 Project leader
Report adjustment and finalize 5 days 03/01/2035 08/01/2035 Project leader
Report final version 7 days 08/01/2035 15/01/2035 Core

[Phase 4] Development 1

Duration: 24 weeks

Expected outcome: A product that is fully functional.

Status: Have not started

Description:

After the presentation and prototype, this is when development gets serious. The app has to be developed using programming languages, not just 2D demonstrations like in the previous phase. This phase's outcome focuses on the functionality of the app.


[Phase 5] Development 2

Duration: 36 weeks

Expected outcome: A complete product (functions and visual)

Status: Have not started

Description:

Based on the app created in [Phase 4], the user interface will be added, while the functions will be fixed and developed simultaneously. The outcome should be an almost complete product that can be released to the market. Keep in mind that the app's development will continue until release after this phase.


[Phase 6] Operation testing

Duration: 8 weeks

Expected outcome: A tested product (internally).

Status: Have not started

Description:

After the development phase, we have a complete product. This is when the testing department does its job. The app should be tested carefully in 2 months for minor bugs and errors and user experience problems. All of these should be fixed or redeveloped before release.


[Phase 7] Market testing

Duration: 35 weeks

Expected outcome: Statistics and feedback from the actual users.

Status: Have not started

Description:

In this phase, a trial version of the product will be released for actual users. The trial version will be released in three months. The purpose of this phase is to gather statistics about the market. This is helpful for the business department to create the right business plans for the product. For our technical department, we are willing to receive feedback from users about UX, UI, and some bugs and errors that we did not discover so that we can make improvements.


[Phase 8] Release

Duration: Unknown

Expected outcome: Officially released product.

Status: Have not started

Description:

After a long period of developing and testing, we can officially release the first version of our product to the market. The product has to pass the testing phase to be released strictly. This is when our - development team - can see how our product operates in a real-life environment, in practical situations.


[Phase 9] Further development

Duration: Unknown

Expected outcome: Continuously develop the product.

Status: Have not started

Description:

Every IT-related project never ends. Ours is not an exception. After release, we will keep getting users' feedback and make improvements. Besides, more new functions will be added to the product, and existing functions will be improved. Furthermore, our product can be turned into a cross-platform application or a company, an "empire" of fitness.


Roles

We have defined some roles for our projects until this report is written. More roles might appear in further stages of the project development.

Project leader

  • Leads the team to the aim that is pointed out from the start of the project.
  • Manages and distributes the workload for the team.
  • Maintains the connection between team members and different departments to minimize miscommunication.
  • Manages and is responsible for the outcome of the project.

Technical Leader (TL)

  • Translates project requirements to technical solutions.
  • Develops the product technically.
  • Finds and fixes product failures, bugs, or errors.

Business Analyst (BA)

  • Takes care of releasing work, product presentation, production introduction, etc.
  • Develops a business plan. This includes the profit of the project, which feature or function should be added to satisfy the market, and any technical or human resources that should be cut down to operate the project correctly.

UI (User Interface) & UX (User Experience) Designer

  • UI and UX are two different roles, but as a new project and our product are in the early development phases, merging these roles helps us save human resources and expenses.
  • A UI designer's job is to design the visual look of the software.
  • A UX designer's job is to design the way the software works (for example, the chat box between the user and trainer must be eye-catching and visible so that the user can easily access the app functions without complicated and tedious instructions)
  • UI and UX designers must be as user-friendly and attractive as possible.

Quality Assurance Engineer (QA)

  • Before any release to the public, the product has to be passed the testing phase.
  • QA acts like real users using our software and tries to find all the errors of that software before releasing it.
  • This is one of the most critical departments of the project because it helps the team manage the quality of the product before publishing it.

Project Assistant (PA)

  • Besides specialized departments, we have assistants. These people are assigned specific work from the upper department, and they follow that assignment.
  • These people are essential because some simple work does not require specialized knowledge, and these people help us save time on those work. This helps efficient human resources.

Scope and limits

Priority Feature Description
In scope For trainee
High Diagnose body status Calculate base on data input:
  • Height
  • weight
  • Age
  • Gender
  • Other sickenss
  • ...
Give conclusion about body status Get input from user about their exercises, meals,... in order to give more accurate suggestion
Daily data input Get input from user about their exercises, meals,... in order to give more accurate suggestion
Recommendations

/Advices/Solutions for your status

Medium Home page "Log in options:

Create an account or sign up with Google/Facebook/...

Forget password

Sign up a F-APP account"

Meals, food, exercises library and how to make/do it at home Provide a wide selection of meals and exercises beside the one that is already provided in the advice.
Feedback User can give feedback on our free program and user experience in general
Search engine Searching for specific exercise, meals or trainer
PT filter (location) If trainee would like to meet the trainer face-to-face, this will help
Progress summary Give weekly progress summary for users (maybe create a level, challenge or something like that) to encourage user keep trying to be fit
Low Identity verification Both trainees and trainers are required to verify the identity (only for paid plans)
Advertisement Resource for developing
Payment Payment options for premium version and donation
Exercise correctness checker Check the correctness of the way user do exercise using image analysis to avoid injuries and help the user workout more effective
For trainers
Medium Profile tools Give trainers chance to introduce themselves on our app
Trainees management - Track trainee progress

- Communicate with trainees

- Plan meals and exercises for trainees

- Trainees feedback

Income Trainers will receive a portion (20% - 40%) of trainee’s subscription
Out of scope Data input from smartwatches and fitness devices Automatically input exercises data from smart watches

Ex: Apple watch can show the burned calories after doing exercises, we can get input from this so that the user do not have to manually input to the app

Premium version (Paid plans) There are a option (premium plan) for hiring a PT for better experience
PT feedback and rating
AI Trainer version Besides real life person trainer, AI is used to help the trainer in helping the user and also in managing their work
Fitness wearables Fitness wearables are for more accurate statistics for better user analysis.

General limits

  • Communication is another limit for us. We are not usually at school, so we usually communicate on the internet, which might be inefficient.
  • Risk management while running the project is challenging because we have little experience working on a project before.
  • Human resource management is challenging. We are a small team with a limited number of people. Workload distribution is a complicated task for us.

Technical limits

  • All the features require a wide range of technical knowledge, such as programming languages (Objective-C, Java, C), design fundamentals, software compatibility, etc. So it is impossible to create fully functional features using correct technical knowledge in a limited time.
  • The product requires an image analysis and artificial intelligence function but we do not have enough knowledge to develop that function.
  • Wearables need to be produced physically so it is out of our scope for the moment.

Tools and technologies

This project is about developing a cross-platform application that requires a large combination of tools and technologies to develop the product. We divided the products into groups based on their purpose (or group of tasks):

Project management tools

Tools: Google Drive; Google Docs; Google Sheets; GitHub

Google Cloud and other Google products are mainly for making documents like reports, meeting minutes and presentation scripts and storing those documents on the cloud. GitHub is for storing and a shared workspace for source code from the application and group’s website also.

UI and UX design tools

Tools: Adobe Photoshop (Version 24.1); Adobe Illustrator (Version 35.1.1); Figma (Version 9.0); Adobe XD (Version 55.2.35)

UI and UX are critical parts of our project, so choosing the right tools is essential. For graphics, we use Adobe Photoshop and Adobe Illustrator. These are the most popular design tools right now on the market, so there is no doubt that these are the right tools for designing graphics for the UI. There is an alternative tool that we found beneficial recently - Figma. From the graphics above, we need a tool that combines all the graphics into the actual interface for the app; our choice is Adobe XD. Adobe XD is the tool for visualizing how our user interface interacts with the user experience. This helps the business department manage the business requirements, and the technical department develops the UI and UX technically.

Application development tools

Tools: Xcode (Version 14.2); Android Studio Dolphin (Version 2021.3.1); ReactNative (Version 0.70); Visual Studio Code (Version 1.74)

Our application is a cross-platform application, so there are different tools for different platforms.

>>> For the mobile version

There are two popular operating systems, iOS and Android, so we will use Xcode (for iOS devices) and Android Studio (for Android devices). These tools are for building the base of the application.

After building the base for the application, our choice for building the UI for the application is React Native. This is an open-source tool developed by the Facebook community. It is based on JavaScript technology and, more importantly, cross-platform.

>>> For the web version

This dynamic website links to our mobile application version, so HTML, CSS and JavaScript are the best choices for us. The IDE we choose is Visual Studio Code, a free IDE from Microsoft. There are some additional tools for the database, such as SQL or cloud technologies, but at this phase of the project, we intend on building the website version so that we will have research later.

Advanced technologies

Image analysis is the main technology for our product. We use image analysis in 2 main features of our product: workout correction and food calculation. Image analysis helps us correct the form of exercises for users. For example, when doing a plank, your arms must be square, and your back must be straight. We will remind the user to correct the form if we detect any incorrectness. Besides, Image analysis also helps us calculate the approximate weight or amount of food users eat. This function will increase the convenience of our product because users do not have to input the food data manually.

Artificial Intelligence will be applied to improve the quality of our product's programs. It works as a trainer independently and also as an assistant for the real-life person trainer.


Testing

Our choice of testing method is Agile Model. The method suits our project because it is a continuous process of interaction and debugging. These short-period interactions will allow all our team members to participate continuously in the debugging process, enhancing their understanding of the project. Besides, incremental testing will reduce the resources from human to economic because it will not make any significant changes when testing.

We made a requirement to distinguish whether our test was successful or unsuccessful. We provide an example of the product's requirements (expected results) by referring to the Behavior Driven Development model. The defined conditions of these dictionaries aim to be as clear and objective as possible to reduce confusion. As a result, these conditions (expected results) aim to help provide the tester with clear acceptance criteria.

Initial scenario Action Expected result
Water intake is 0L Add 1L of water to the water intake status The water intake total should be 1L
Water intake is 1L Take 1L out of water intake status (-1L from the quantity of intake status) The water intake total should be 0L
Water intake is 0L Take 1L out of water intake status (-1L from the quantity of intake status) The message is displayed saying the water intake quantity can not be negative

An example of a testing script


Risks

Time management

Problem: Everyone has the same amount of time, but we are studying different courses and working on various projects, so that time management will be a big challenge. Lack of time can cause low-quality outcomes when working on projects.

Solution: We will distribute the workload evenly based on time-fund and forte criteria. The suitable distribution will prevent overwork for every member and give them opportunities to show their potential.

Lack of knowledge

Problem: Our product is a cross-platform app project. As a result, it requires a lot of soft skills and knowledge. For example, the project's development stage requires in-depth knowledge of Objective-C, Java, HTML, CSS, JavaScript, database, cloud, etc. As newbies in IT, we need to learn more about these requirements, so we cannot fully develop the project in a limited time.

Solution: There are some alternative ways to make the prototype for the project. For example, we can use Figma, a graphic design application, to make a graphic demonstration instead.

Cost

Problem: In the early stage of the project, most of the tasks can be done without cost. However, from our calculations, further development stages will cost us many expenses like licensed software, human resources, and wearables production.

Solution: We will use every free service and product the university offers. Afterward, we can seek an investigation.

Communication

Problem: Miscommunication is often a significant factor in the failure of any project. Unprofessional work ethics is the main reason for miscommunication. For example, a member keeps working silently without updating the team's progress, unostentatiously slowing down the overall progress.

Solution: We made communication rules and communication commitments to ensure effective communication. Besides, we try to occur a face-to-face meetings for better communication.

Scope creep

Problem: Lack of experience in project management is the reason for scope creep. Unnecessary, unexpected, and uncontrolled functions lead to scope creep, affecting the project’s business and technical aspects.

Solution: The project manager, stakeholders, and sponsors must carefully define and control the scope.

Performance

Problem: The project outcomes or prototype might not meet our expectations and users' expectations. This could lead to the failure of the project.

Solution: Feedback from users is an essential part of our development. We will consider changing and fixing the problem based on users’ feedback.

Market

Problem: The project idea and background are similar to the one already released, so joining the market will be a tough challenge for a new project like ours.

Solution: Our biggest aim of the project is the user experience, so that will make us stand out from other opponents that have already joined the market.


Communications

Communication frequency

  • At least 1 meeting per 2 weeks. Expected 1 meeting per week.
  • Individually, update task progress as soon as there are new updates, changes, and adjustments.
  • Once a week, there will be a last week recap and next week task summary.

Communication channels

  • Face-to-face communication: meetings at school or outside
  • Online communication: Facebook Messenger
  • Cloud storage: Google Drive (for documents), GitHub (for website source code)
  • Urgent situations: Phone
  • Formal communication: Email

Communication rules

  • Reply group message within 2 hours max (if not please provide suitable reason).
  • Keep updating your progress on the main group so that we all know what we are doing.
  • Be on time for face-to-face meetings (10-15 minutes late is acceptable).
  • In some cases, if we can not gather for a meeting then an online meeting will occur.
  • Important discussions should be face-to-face if possible
  • Before any tasks, a meeting is required.
  • While doing a task, try to update the progress to the team group on Facebook so that other teammates can send help if needed.
  • Email will be used for formal situations.
  • All documents, meeting minutes, notes,... will be saved in a shared folder on Google Drive.
  • If a person in the group does not respond to group activities within a day, we will give a warning for the first time. From the second time, we will consider having a face-to-face conversation or report to the lecturer for a final decision.

Skills and jobs

F-APP Project is currently looking for several positions:

General requirements for all positions

  1. Technical skills
    • Knowledge of office tools like Microsoft Word, Microsoft Excel or anything similar.
    • Knowledge about programming, computer systems and Information Technology in general is recommended.
  2. Soft skills
    • Teamwork skills such as communication, organization, and work management.
    • Leadership skill and critical thinking is a plus.
    • Responsibilities for the outcome of your work.
  3. Education
    • An IT major or anything related to IT is a plus.
    • First-year students or above is a plus.
  4. Language
    • Speak English fluently.

Business Analyst

Responsibilities

  • Develop, validate and implement business needs.
  • Manage the financial status of the project/business.
  • Calculate expenses and company savings.
  • Manage risks and advantages of the solution.
  • Develop functional requirements for solutions.
  • Test and implement solutions.

Requirements

  • Good presentation skills.
  • Good communicator.
  • Writing skills and documentation.
  • Soft skills like critical thinking, problem solving, and being decisive.

Mobile App Developer

Responsibilities

  • Build an app from scratch.
  • Develop new features.
  • Ensure the best UX and performance of the product.
  • Clean, readable, and testable coding style.
  • Fix bugs, errors and performance issues.
  • Full stack developer is a plus.

Requirements

  • In-depth knowledge of mobile app development procedures.
  • In-depth knowledge of Android and iOS.
  • Ability to debug, and profile the product.
  • Ability to choose the right technical solution from business requirements.
  • Familiarity with Git and similar processes.
  • Proficiency in Objective-C, Java, JavaScript, or C.

Web App Developer

Responsibilities

  • Create a web application using HTML, CSS, and JavaScript with the same concept, functions, and UI as the mobile version.
  • Satisfy technical requirements.
  • Maintain, expand and scale our product.
  • Work with UI/UX designers for the final product.

Requirements

  • Experience in web programming.
  • In-depth knowledge of HTML, CSS and JavaScript.
  • Understanding of web applications.
  • Knowledge of database, Object Oriented Programming and Web applications development.
  • Problem-solving, organizational, and diagnostic skills.

UI/UX Designer

Responsibilities

  • Illustrate how the site functions and looks like using a prototype.
  • Illustrate design ideas using storyboards and process flows.
  • Create and optimize UX.
  • Troubleshoot UX problems.
  • Adjust layout, and interface based on user feedback and QA team feedback.
  • Having an aesthetic sense.

Requirements

  • Experience in designing.
  • Portfolio of design projects.
  • Advanced knowledge of design softwares like Adobe Illustrator and Adobe Photoshop.
  • Good time-management skills.

Quality Assurance Engineer

Responsibilities

  • Review and provide feedback to other departments.
  • Create detailed, comprehensive and well-structured test plans and test cases.
  • Manage testing activities.
  • Record and report testing results.
  • Develop testing procedures for new and existing features to meet business and technical requirements.
  • Stay up-to-date with new testing tools and test strategies.

Requirements

  • Knowledge of software quality assurance and development.
  • Advanced understanding of software quality assurance approaches, tools, and procedures.
  • Capability to develop test plans and test cases that are clear, simple, and complete.
  • Solid knowledge of SQL and scripting.
  • Experience working in an Agile development process.
  • Experience with performance and/or security testing is a plus.

Project outcome

In 2 months, we developed some prototypes for some essential functions of our products:

  • Onboarding and logging in: let users log in using a Facebook or Google account or create our F-APP account.
  • User body statistics input: get data from users like height, weight, gender,... to create a health profile for that user.
  • Home page: provides many details about the user’s body status like BMI, hydration status, and workout tracker.
  • Workout tracker: provides suggested exercises for users based on their goal and frequency of exercise; instructs users on how to do that exercises correctly; records the progress of the workout.
  • Meal planner: helps our users conveniently plan their meals while doing our programs.
  • Progress tracker: records and shares users’ progress with our community.

Our goal is to create an app that helps people be fit efficiently. Our product is still in the very early stages, so we need more data to prove the effectiveness of our product. The product prototype is still in graphics and needs a working mobile app.

Prototype

Protoype's Figma Project

Click on the arrows to move forward and backward.

1 / 35
Welcome Screen
2 / 35
Onboarding screen
3 / 35
Onboarding screen
4 / 35
Onboarding screen
5 / 35
Onboarding screen
6 / 35
Register Page
7 / 35
Register Page
8 / 35
Register Page
9 / 35
Register Page
10 / 35
Register Page
11 / 35
Login Page
12 / 35
Success Page
13 / 35
Home page
14 / 35
Notification
15 / 35
Activity Tracker
16 / 35
Profile Page
17 / 35
Congratulations Page
18 / 35
Workout Tracker
19 / 35
Workout Tracker
20 / 35
Workout Tracker
21 / 35
Workout Tracker
22 / 35
Workout Tracker
23 / 35
Workout Tracker
24 / 35
Meal Planner
25 / 35
Meal Planner
26 / 35
Meal Planner
27 / 35
Meal Planner
28 / 35
Sleep Tracker
29 / 35
Sleep Schedule
30 / 35
Add Alarm
31 / 35
Progress Photo
32 / 35
Comparison
33 / 35
Comparison Result
34 / 35
Comparison Result
35 / 35
Take Photo

We are currently focusing on the mobile version of our product, but we made a visualization for the web version.

Web version prototype

Group reflection

Detailed contribution

Name sID Contribution (%)
Phan Nhat Minh s3978598 35%
Jimin Cho s3940575 25%
Nguyen Ngoc Kim s3970589 22.5%
Luong Anh Huy s3979199 17.5%

Group processes evidence

Group website process evidence

GitHub commits


One of our tasks summaries

One of our tasks summaries


Group's Google Drive folder

Group's Google Drive folder

Access using RMIT account

Figma processes record

Figma processes record


Members reflection

Phan Nhat Minh

Introduction to Information Technology is one of two first courses at RMIT besides Introduction to Programming. This course brings me a wide range of knowledge about IT, like the history of IT, cloud technologies, cyber security, robotics, AI, AR, VR, etc. This knowledge is beneficial for me in defining my IT path and my future career. Through this course and its group assignment, I had a chance to work in a simulator of a real-life IT project.

The assignment was about creating an IT-related product and developing it as much as possible in the time given. Basically, we were a tech company, and we developed our project. From the beginning to the end of the given time, the project outcome reached my expectation and standards. More specifically, the project's final report was professional and detailed; the presentation was well-prepared and executed nicely; the prototype of our product was outstanding in the visual aspect. Everything ran smoothly, and we did not miss any critical deadlines. Even though we successfully implemented the assignment, our project had a hidden downside. The attitudes and abilities of some members could have been better. It could be because they think the project is not practical and essential enough to spend their effort working on it. Alternatively, they had habits of procrastinating, and they thought that it was possible to complete the assignment in a short amount of time. Besides, our communication could have been better even though we had committed to the communication rules. There are two main reasons why we could have communicated better. First, we only sometimes showed up on campus, and we were not in the same tutorial group, so the only time we met face-to-face was during meetings. However, meetings were usually severe and formal, so it was not a great chance to connect with members casually. Second, with the poor attitude mentioned above, some members were not actively interacting with each other. The team usually ignored messages and announcements from the leader, or they did not give confirmation when seeing the announcement. If I had had a second chance to work in the same group, I would have made more effort to connect members for a collaborative environment and evenly distribute the workload. One thing that surprised me was my ability to handle massive work. Due to the lack of human resources, I had to handle everything. For example, my contribution to the report was 80-90%; I created the group website from scratch and did the presentation slides and script for the team. I was surprised because I did not know I could handle this large amount of work quickly and still meet my standards and expectations. To conclude, the project is an excellent chance for me to learn and gain more experience in soft skills like communication, critical thinking, teamwork, and leadership. More importantly, I made some good friends through the group assignment.


Jimin Cho

As a technical leader in the group, I was mainly in charge of the technical part. In the early stages of the project, all project members shared more than one idea per individual, of which my idea was to create a BMI calculation website and a website selling crime prevention systems. Among them, a website that calculates BMI was adopted as a project idea, which evolved into an idea to create a fitness application. I constantly studied how to prototype an application using Figma and Adobe XD. Furthermore, I have worked on the "Tools and Technologies," "Testing," and "project background" parts of the "final report."

As a group leader, Phan Nhat Minh led and performed many of the tasks well. He planned for our project so that we had a well-planned project plan. Things went well with our group because we had a plan in which the members' roles were well distributed, had frequent face-to-face meetings instead of online meetings, and used sharing platforms to share the progress of the project with the group members in real-time using Google docs and GitHub. However our project was well planned, but what was unfortunate was that some group members needed to follow our plan better. Moreover, the contributions of all the group members needed to be more consistent. Some group members contributed less to the project. It is one of the significant issues that must be improved in the next project. I learned from this project that it was essential to finish the task much earlier than the deadline. When the deadline for my assignment and the deadline for other subjects overlapped or an unexpected problem occurred, it was way harder to complete the assignment than I expected. The most surprising thing I experienced with this project was that it was easier to make a prototype of an application than I thought it would be. Before I started this project, I thought that building a prototype of an application could only be done by professionals working in the field or at least students who learned design. However, when I studied Figma and made a prototype myself, it was not as complicated as I thought. Through this project, I gained the courage to challenge what I thought was complicated.


Nguyen Ngoc Kim

At first, our group, Group 49, had three members, including Jimin, Huy, and me, because all of us were studying in Mr. Long’s class at 10.30 on Wednesday. However, the course required that each group have at least four members, so Jimin tried to find another member. Then, he found Minh via the SGS Students Discord channel, and our group first met after our class in week 2. It did not take us lots of time to decide about the problem and topic we would do this semester, and Minh was elected to be the group leader with the agreement of all members. He assigned us duties that were suitable for each member’s ability, and we also tried our best to complete our job on time, which he decided, and to prepare most effectively for the presentation in week 12. I was surprised because of Minh’s productivity and responsibility; he made us follow a suitable schedule to finish the project as soon as possible using the best method. Also, I have learned to be more responsible in the duties for which I am responsible and more creative when working in a team. However, we also have some things that need to be improved, one of which is that we should have more meetings and more contact between members.


Luong Anh Huy

I had a great time and learned a lot throughout the whole project. Overall, I am very impressed with our team working process as all our members were active and contributed a lot during the brainstorming phase as well as the execution stage. The scheduling and meeting of the group were very professional and effective, which resulted in a desirable outcome. However, though our team worked cooperatively and synchronously, some miscommunication at the beginning affected our work direction for a while. However, I’m glad it all worked out well in the end. During the process, I was pleasantly surprised with Minh’s ability to plan out our schedule in detail, which helped us a lot with work distribution and orientation, as well as Jimin’s exceptional work on our prototype. Nevertheless, I gained a ton of experience in managing and the production of a whole project during my time working on one with my teammates, and I am looking forward to working with them again if I have the chance.


References

  1. Shattuck, M. (2017), Control diet, weight in diabetes fight, Post Cresent website, accessed 13 November 2022.
  2. Armstrong, S. & Wong, C. (2019) Physical Activity Interventions Improve Quality of Life of Children With Obesity: Should We Expect Them to Also Decrease Body Mass Index? Journal of adolescent health, pubmed.gov website, accessed 13 November 2022.
  3. Jimin C (2022) Project background [Assignment 1 for COSC2083], RMIT University Vietnam, Ho Chi Minh City.
  4. Minh P (2022) Timetable [Assignment 1 for COSC2083], RMIT University Vietnam, Ho Chi Minh City.
  5. Minh P (2022) Scope [Assignment 1 for COSC2083], RMIT University Vietnam, Ho Chi Minh City.
  6. Minh P (2022) Risks [Assignment 1 for COSC2083], RMIT University Vietnam, Ho Chi Minh City.
  7. Minh P (2022) Group communication [Assignment 1 for COSC2083], RMIT University Vietnam, Ho Chi Minh City.
  8. Ferrone H (2035) ‘Agile Development Practices’, linkedin.com, accessed 29 December 2022.
  9. North, Dan (March 2006). "Introducing BDD". Dan North.
  10. How ATDD Guides You in Collaboratively Creating User-Centric Applications, digite website, accessed 29 December 2022.
  11. Shormistha Chatterjee (2022), What is Test Methodology? (With 7 Methodologies), BrowserStack website, accessed 29 December 2022.
  12. Oksana Litvinova (2017), Optimizing Regression Testing in Agile Development, ScienceSoft website, accessed 29 December 2022.
  13. Indeed Editorial Team (2021), 11 Methods for Software Testing Projects, indeed website, accessed 29 December 2022.
  14. Matthew C (2022), Mobile App Development Team: Structure and Roles, Velvetech website, accessed 03 January 2035.
  15. Hudson Specialist Recruitment, Business Analyst Job Description, Hudson website, accessed 03 January 2035.
  16. Toptal (2022), Mobile App Developer Job Description Template, Toptal website, accessed 03 January 2035.
  17. Resource for employer (2022), UI/UX Designer Job Description Template, Resource for employer website, accessed 03 January 2035.
  18. Resource for employer (2022), Quality Assurance Engineer Job Description Template, Resource for employer website, accessed 03 January 2035.
  19. Resource for employer (2022), Web Developer Job Description Template, Resource for employer website, accessed 03 January 2035.