There would be 4 api :
add_user(userdetails={name:,age:,weight:,height: },email=,deviceid=) etc
delete_user(email=,usertoken=). usertoken would be created when user is added
write_data(usertoken, deviceid,userdata={json for all type of data})
read_data(usertoken,deviceid). -- so that data can be formated based on device type!
delete_all(usertoken)
we will have a client app, gathering al the data from the customer
we will setup a local datastore at client location -- so that it can save data even if the client is offline
Then we will have a server whoes role is retrieve data and share back to client
This system is both high write and high read together.
cilent datastorage - for keeping offline data, also latter to commit to server
server datastorage -
authentication server -- probably oauth openidc based, with refresh token only when the client is first connected to the server. then using refresh token client can keep updating the server