I am building a fitness app where different users will be following the same programs and I would like to add an individual progress feature.
I have already read different posts about it and used one of your cloned apps, and I think I understand how this works.
The problem is that all the examples and tutorials I’ve seen seem to apply only to private lists used by one user only.
In my case, whenever a user tries to update their progress, this action updates the program (list) for every other user.
Add a field/property on the User collection that is either a text/status or number/stage indicator. Have the action on the list update that User record every time they reach thee next level/make a certain amount of progress. You want to update the User record not the Program (list) record.
E.g. The values could be white>yellow>green>blue or 1>2>3>4 or whatever the relevant status is. I’d try number since you can sort by size more easily if needed. You can always insert other terms (e.g. bronze, silver, gold) based on logic like 1=bronze, 2=silver, etc. if you need to.
Unfortunately this is a bit more complicated when dealing with several programs that are used independently by several users.
Note that all my programs share one main screen, and a shared screen for each week (or let’s call it task) that I fill using the databases. This is to keep my structure as simple as possible and to make it easier to work with many programs.
But your answer helped me find a solution to my problem. Let me write it below in case it can help future developers.
I created a collection of “tasks completed” with a name and code.
When a user click a button after completing a task, the action is:
Create task completed:
Name = “user id” + “current program name”
Code = “task number”
This only happens when tasks completed count with name contains “user id” and name contains “current program name” and “task number” is equal to current task number is equal to 0.
This way every time a user clicks on a button it will create a unique entry because only one entry will have those 3 conditions.
Back to my main program screen where there is the progress bar, the progress value is the number of “tasks completed” with a name that contains user id and program name.
Maximum value is a number of tasks assigned to each program thanks to a number property.
This also allows me to add an icon “completed” in front of each task related to that user and that program. The icon is only visible if (tasks completed name contains user id and program name, and the task number is the related task number) = 1.
Not sure that’s clear but I hope it will help someone.