FitTrack is an intelligent, user-friendly mobile fitness application aimed at assisting users in achieving their personalized fitness objectives. Through seamless integration with major health data platforms, FitTrack offers real-time data tracking and precise monitoring of fitness progress, ensuring effortless access and continuous engagement for users. Essential quality attributes prioritized by FitTrack include availability, interoperability, and maintainability to ensure continuous operation, effective integration, and ease of enhancements.
Name: Qiaorui Guo
Student number: 49373141
User account management with customised profile settings:In addition to basic user profile management there should also be support for converting weight and length units between weights to make it easier for users to enter their own familiar data.
Personalised fitness goal setting and daily activity monitoring: The ability to customise exercise routines and goals based on the body data previously entered by the user is essential for newcomers to fitness who want to make a change and ideally change the intensity of exercise for different workout goals.
Real-time tracking and analysis of fitness-related data: This feature is not essential as tracking a user’s fitness in real-time is not something that can be achieved by relying on a smartphone alone, as much of the detailed data needs to be recorded and processed by a product such as a bracelet.
Smart personalised fitness and dietary recommendations:Fitness is not just about the content of the workout, but also about the diet, which is crucial for muscle growth and health. So diets change as workouts change.
Integration with popular health platforms like Apple Health and Google Fit: Since the software does not involve sleep records and daily activities and in order to adapt to more mobile phone brands data interoperability is particularly important, users can synchronise today’s data to Apple Health or Google Fit. users can synchronise today’s data with Apple Health or Google Fit to simplify operation.
Detailed data visualisation and progress reporting:The graphical interface allows you to visualize the daily and weekly trends of various body and exercise data.
Basic user account creation, authentication, and profile management:Basic and secure storage of user profile, description and fittness goals. Setting fundamental fitness goals and tracking basic fitness activities :Based on the collected user data, we can arrange suitable exercise or fitness training for the user and collect whether the user’s exercise targets are completed or not through intelligent peripherals.
Integration and synchronisation with at least one major health data platform: To obtain a more comprehensive picture of the user’s physical fitness through synchronisation of data from different platforms.
Basic visual representation of fitness progress: Use line charts and bar charts to represent the trend of user’s daily exercise, weight, food calorie intake and sleep time.
Availability: Ensuring FitTrack is reliably accessible anytime and anywhere is crucial to maintaining continuous user engagement. High availability will be ensured by deploying the system on AWS with redundancy across multiple Availability Zones, using load balancing and automatic failover techniques. The availability will be assessed through continuous monitoring of system uptime, response times, and operational stability, targeting at least 95% uptime.
Interoperability: FitTrack must seamlessly integrate with third-party health data platforms such as Google Fit and Apple Health, ensuring accurate synchronization of user data. Interoperability will be realized through standardized APIs and OAuth2 authentication for secure and consistent data exchange. Successful interoperability will be measured by verifying synchronization consistency, accuracy, and maintaining latency below 1000ms(depends on data synchorinzed size).
Maintainability: As fitness trends evolve, FitTrack needs a flexible architecture for easy maintenance and regular updates. Implementing a modular design with clearly defined interfaces and isolated components will enable cost-effective enhancements and quick feature rollouts. Maintainability will be evaluated by analyzing code modifications required for new features, targeting less than 20% codebase alterations per update.
Scalability: FitTrack should efficiently handle increased user loads as the user base expands. Scalability will be ensured by deploying the system using AWS auto-scaling groups, load balancers, and scalable database solutions. The system will be evaluated by simulating increasing traffic loads and ensuring performance remains stable and responsive.
Availability: Deploy the application using AWS Elastic Beanstalk with automatic scaling and multi-AZ configurations. Continuously monitor application uptime and performance using AWS CloudWatch and external tools like UptimeRobot. Conduct scheduled “chaos engineering” tests to simulate failures and ensure redundancy mechanisms work correctly. Aim for system uptime of at least 95% after that documenting and analyzing downtime incidents.
Interoperability: Develop comprehensive integration tests to verify synchronization between FitTrack and external health data platforms. Testing steps include unit and integration tests using automated frameworks like Jest and Postman. Conduct performance testing to measure synchronization latency, ensuring it stays under 500ms. Use mock data and real-world scenarios to validate data consistency and accuracy.
Maintainability: Establish a structured code review and automated testing pipeline (CI/CD) using GitHub Actions integrated with AWS. Conduct regular static analysis to detect potential maintainability issues early. Document code change impacts clearly through commit logs and Pull Requests. During updates, quantify the extent of codebase modifications and maintain below a 20% threshold, ensuring efficient feature integration.
Scalability: Utilize AWS load testing tools to perform stress and load tests, such as testing 1-3 users to 10-30 users at the same time under load and concurrency, gradually increasing simulated user requests to assess system behavior under growing traffic. Monitor resource usage, response times, and error rates via AWS CloudWatch to ensure performance standards are maintained. Adjust auto-scaling configurations based on the test outcomes to optimize resource efficiency and performance stability.