Mobile Walking app for health monitoring
The Walking App was developed to address the limitations of fitness features on the Apple Watch for individuals with specific health conditions, such as
COPD. This app allows users to track their walks in terms of pace and distance, catering specifically to indoor walking where the Apple Watch cannot accurately measure these metrics. The goal of the app is to provide a tool for individuals who need to exercise within certain limitations and effectively monitor their fitness goals.
Here is part 2 the story. It's getting better ;-)
Key Features
Accurate tracking:
The Walking App accurately measures the user's pace and distance during walks, providing precise data to track their progress or regression over time.
Indoor walking support:
Unlike the Apple Watch, which primarily focuses on outdoor activities, this app is designed to track indoor walks, making it suitable for those who prefer or need to walk indoors.
Backend setup with AWS CDK:
Leveraging AWS skills, the app utilizes AWS CDK to quickly set up a backend, including a DynamoDB table and two Lambdas. One Lambda is responsible for storing data, while the other retrieves the saved information.
Seamless data transmission:
The app utilizes the Function URL feature to send and retrieve data directly from the Lambdas, eliminating the need to set up an API Gateway for data exchange.
Feedback through vibration:
The app enhances user experience by providing haptic feedback, specifically vibrations upon button touch, offering a tactile response to user interactions.
Web technologies:
The Walking App is built using web technologies, with proficiency in frameworks like Svelte and Sveltekit.
Mobile app development:
The app leverages these web technologies to create mobile apps using Svelte Native and Nativescript frameworks, enabling cross-platform compatibility.
AWS integration:
The backend infrastructure is set up using AWS CDK, allowing for seamless integration and efficient storage of walk data in a DynamoDB database.
In the Walking App project, one of the key components that streamlined the entire process was the use of Cloud Development Kit. The AWS CDK is an open-source software development framework that allows developers to model and provision cloud application resources using familiar programming languages. In a project such as the Walking App, where simplicity and development speed were the main goals, AWS CDK presents several key advantages.
One of the main benefits I leveraged with AWS CDK was the ability to define cloud infrastructure in code and provision it through AWS CloudFormation. This approach enabled me to work in a familiar programming environment and use the same language for both infrastructure and application code. This level of synergy significantly reduced the context switch that often happens when developers have to work with different languages for application and infrastructure code, leading to increased productivity and code consistency.
Another critical advantage of AWS CDK was its capacity for simple re-deployment after changes. Whenever I made adjustments to the codebase, AWS CDK facilitated an efficient and streamlined process to deploy these changes. With just a few commands, I could easily roll out updates to the application's infrastructure, which in turn, expedited the iterative development process. This ease of redeployment proved vital in swiftly responding to any potential improvements or user feedback, thereby enhancing the overall quality and user experience of the Walking App.
Furthermore, AWS CDK comes with high-level construct libraries that abstract a lot of the boilerplate code often associated with setting up cloud resources. In the context of this project, it allowed me to set up the necessary backend infrastructure, including the Dynamodb and AWS Lambda functions, with just around 50 lines of code. This dramatically reduced the time and complexity typically associated with backend setup.
In summary, the use of AWS CDK in the development of the Walking App was a strategic move to leverage its benefits of code consistency, streamlined deployments, and efficient resource provisioning. Its deployment not only simplified the development process but also ensured the app's robustness and adaptability, all while saving valuable development time. These advantages further reinforced my ability to quickly and effectively respond to user needs and feedback, creating a more user-centered solution.
Keywords:
Typescript, AWS CDK, DynamoDB, Lambda, Svelte, Svelte Native, Nativescript, Serverless
Typescript, AWS CDK, DynamoDB, Lambda, Svelte, Svelte Native, Nativescript, Serverless