I am building a learning platform. For this I need to save the users progress. Currently I have it set up that each page has a couple different learning sections that are hidden and only shown step by step.
But I can’t figure out how I can add a Progress bar. It should be able to save the progress even after reloading, so the data has to be saved to the user.
For this I have created a different Data Type (Courses) that I have linked to the User.
My problem is how to store the data, make a different yes/no field for each section? If yes how do i make the progress bar read fields set as yes/total fields?
Or is there any other method that might be easier, also for scale?
Thanks alot for any help, I just started using bubble so sorry if I am being stupid.
What i suggest, give each section a Mark, and record user completion of that section this will increase user points, thus with point you can calculate the percentage of progress.
Do you mean something like a invisible checkbox, that is checked when going to the next section?
No, inside user a number field … Where when each session is complete you add value into it.
I do this in my app. I have a ‘courses’ thing and a ‘course chapter progress’ thing.
Courses has a list of Course Chapters (total chapter in a course, for example 5)
Course Chapter Progress - Stores the course and some other data and records are added as they complete chapters.
My progress bar just calculates the completed chapters vs total chapter in the course.
You need to create a data type for
Users courses
user_course
depending on the level of “progress” you could track it several ways:
- if you just want to track completed courses you could have a list that you add to on the user (not ideal but it’s simple and fine for limited number of courses)
- if you want to track each course specifically for each user then you’d need user_course which has a user field, course field and maybe a list of completed course sections. count the sections complete vs the total to get progress per course. then you could do a search of the user_course to get overall progress also - you may want to hold the overall progress on the user if it is frequently displayed
- on each course you could show the user_course data to show the progress per course for that user.
you’d need to update the user_course and user stats on a button click or page load to keep the progress up to date.