Hi fellow Adalo users
I am working on an app that is going to help people with building better mental health.
It’s based on something called ABC - Act Belong Commit.
The Act-Belong-Commit guidelines for positive mental health provide a simple approach you can adopt to become more mentally healthy: Act - Do something, Belong - Do something with someone, Commit - Do Something Meaningful.
The app is supposed to give the user a set of different activities, in three different categories (Act, Belong, Commit). And by doing 1 of each activity each day, you are building better mental health.
The goal for each user is to do 21 activities in a week. (7 Act activities, 7 Belong activities and 7 Commit activities)
Here the user can see that they have completed 6 ACT activities, 4 BELONG activities and 5 COMMIT activities. That gives a total of 15 activities. The progress bar is counting toward 21 activities, which is the target of the week.
Now I am stuck. Maybe you can help me with some of the questions below?
The user should try to complete 7 activities of each category each week. How can I track how many activities the user has done the last seven days and give a positive notification when the user has reached its target of 7 activities in 7 days?
The progress bar is counting toward 21 completed activities. But how can I make sure that it is counting the progress toward 7 Act activities + 7 Belong activities + 7 Commit activities? Today you could just complete 21 ACT activities and the progress bar would show 100% complete.
How can I reset the stats for a new week? But also record the great achievement done by the user? The user should be able to see a history of weeks.
How can I show your completed streak for the last week/month/year? I.e the user completes 1 Act activity, 1 Belong activity, and 1 Commit activity during the day. That should constitute a “completed day”. If the user does the same number of activities the following day, then the user has a streak. How could I track this and report it to the user in a nice fashion?
Thank you to everyone that could shed some light on this
Regards,
Tor Martin
This looks like business requirements and need special attention which can be paid service.
Some of your needs should use batch processing, which Adalo can do but tricky, meaning not in straight ways.
Adalo do not provide Do…While loop out of the box, which is similar to backend workflow in other no code tool, so to do that we need to have chained actions using countdown components that will act similar to backend workflow.
Whenever you are ready, we can have private discussion.
The Act-Belong-Commit guidelines are a simple and effective way to build better mental health, and having an app to help guide users through the process is a fantastic idea.
I think it’s important to prioritize our mental health, especially in today’s world, where there are so many stressors and challenges.
Thank you for sharing this valuable guidance on setting up a database for a mental health app! Mental health is such an important area, and having a well-structured database is crucial for ensuring data privacy and seamless functionality. I appreciate how you highlighted the importance of designing the database with user privacy in mind. Especially for sensitive information like personal logs or therapist notes.
To track weekly activities, use timestamps to filter and count activities completed in the last 7 days for each category. For the progress bar, ensure it calculates progress based on 7 Act, 7 Belong, and 7 Commit activities.
Your mental health app sounds like an amazing initiative! Tracking user activities and ensuring the correct progress is counted can be tricky, but here are some solutions to help you move forward:
1. Tracking Activities for the Last 7 Days & Sending Notifications
Use a timestamp when logging activities in your challenges_completed database.
Create a query that filters activities within the last 7 days and counts them per category (Act, Belong, Commit).
Set up a conditional logic to trigger a positive notification when each category reaches 7.
2. Ensuring the Progress Bar Counts Correctly
Instead of a simple total count, structure your query to count 7 Act + 7 Belong + 7 Commit separately.
Use a MIN(Act, Belong, Commit) function to ensure all categories are progressing together before increasing the percentage completion.
3. Reset Stats for a New Week & Keep History
Create a weekly_progress table that logs the user’s weekly achievements.
Every new week, move the previous week’s data from challenges_completed to weekly_progress before resetting the counts.
Display historical progress from weekly_progress so users can track past achievements.
4. Tracking Streaks (Daily, Weekly, Monthly)
Define a “completed day” as having at least 1 Act + 1 Belong + 1 Commit logged.
Store this as a boolean for each day.
Use a counter that checks for consecutive “completed days” to track streaks and display them in a user-friendly way.
If you’re also focusing on user mental well-being while developing this, you might find Mental Health Connect helpful for additional insights and support.