AWS Builder Center

From My HCare (Health Tracking) App(Health Tracking) to a Small Cloud Backend

I previously worked on an Android application called HCare. The idea was related to health tracking, including calorie-related information. It was mainly a mobile application project, but while learning AWS I started thinking about what would happen if I wanted to synchronize user data across devices.

I am trying to improve my skills

From local data to cloud data

A simple mobile application might initially look like:
1
2
3
4
Android App
|
v
Local Storage
A cloud-connected version could become:
1
2
3
4
5
6
7
8
9
10
Android App
|
v
HTTPS API
|
v
AWS Backend
|
v
Database
This introduces several AWS concepts.

One architecture I would explore

1
2
3
4
5
6
7
8
9
10
Android App
|
v
API Gateway
|
v
Lambda
|
v
DynamoDB
The application could send information such as:
1
2
3
4
5
{
"userId": "user123",
"date": "2026-09-22",
"calories": 1800
}
The backend would validate the request and store it.

Why DynamoDB?

For this type of simple key-value/document data, DynamoDB is a service I want to learn more about.
A possible table could use:
1
2
Partition key: userId
Sort key: date
That would allow the application to retrieve a user's records by date.

Where Lambda fits

Lambda would allow me to run backend code without maintaining a traditional server.
For example:
1
2
3
4
5
6
7
8
9
10
POST /calories
|
v
API Gateway
|
v
Lambda
|
v
DynamoDB
The Lambda function could:
  1. Validate the request
  2. Check the user identity
  3. Prepare the data
  4. Write it to DynamoDB
  5. Return a response

Authentication is important

Because this application deals with personal information, I would not make the API open to anyone.
One AWS service I would explore is Amazon Cognito for user authentication.
The possible flow could become:
1
2
3
4
5
6
7
8
9
10
11
12
13
User
|
Login
|
Cognito
|
Token
|
API Gateway
|
Lambda
|
DynamoDB
I am still learning AWS security, so I would treat authentication and authorization as part of the project rather than something to add at the very end.

What I want to learn from this project

This project gives me a practical reason to learn:
  • API Gateway
  • Lambda
  • DynamoDB
  • Cognito
  • IAM
  • CloudWatch
I like this approach because I can take something I already built and gradually turn it into a cloud application instead of learning each AWS service in isolation.
I have not implemented the complete AWS architecture yet. This is the version I would like to build as I continue practicing.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article