I’m building an app for online therapy sessions.
I installed the Audio Player component, since every session is an audio the user must listen.
I’d like to track the progress of each user throughout the program, and I already created a “Plays” collection that records a hit every time a User completes a session (with “session name” and “user email address/UUID”).
I’d like to track uncompleted sessions as well. Is it possible to do it somehow? I’m thinking about creating an “Incomplete Plays” collection, that records a hit every time a user drops the session, recording “session name”, “user email address/UUID”, and “drop-off minute”.
Is there ay way to do that?
Of course the ideal would be having “Action when song is not completed” in the Audio Player component.
Hey there @Productology Welcome to the community
It would be easier to track which sessions the user has completed with a many-to-many relationship of users and sessions.
WHen a user completes the session, add them to the many-to-many relationship for “completed sessions” and then you can use that as a filter for actions/lists.
Example: Where Session > Completed by users > contains > logged-in user
This condition/filter is for you to use when the user has completed the sessions.
Example: Where Session > Completed by users > does not contain > logged-in user
This condition/filter is for you to use when the user has not completed the sessions.
Thanks, I already did that (I followed theadalouy’s instructions: Drip Course Content - #11 by theadaloguy)
What I’m looking for now is a way to track incomplete plays…
I see. I understand.
You can simply add another many-to-many relationship just like I had mentioned but you can do this when the user starts the session.
So create 2 many-to-many relationships between the sessions: “Started by Users” and “Completed by Users”. When a user presses play on a session or visits the screen with the session, add an action to add the user to the “started by users” relationship and when the user completes the session, add them to the “completed by users” relationship.
You can then use that as a filter. Where Current session > Started by users > includes logged in user and filter where current session > completed by users > does not include > logged in user.
That’s actually a great solution, thanks.
I’m missing to record the drop-off minute (the exact second in which the user drops the session by exiting the page or closing the app), but I guess that’s a piece of information I can live without.
Now I have another issue, maybe not concerning Adalo: how to “visualize” the data I gather from this setting.
In my mind, it’s something similar to what I realized here on Airtable:
In columns I have session (and ideally every time I add a new record to the “Sessions” collection, a new column is created), and in rows I have users (and, of course, every time a new user signup up and it’s recorded in the “Users” collection, a new row is added).
Then, within each cell I have the “Started Plays” (in blue) and the “Completed Plays” (in green).
How do you think this can be achieved?