Hello! I’m new to Adalo. I have some database design experience, but it was years ago and I am struggling with configuration for a student class & homework app. Currently, I have 5 database collections (ERD below):
- User - students at the school
- Classes - all classes available at the school. A student will not be in every class
- Homework - homework assignments for each class
- User Class Results - this tracks the user’s enrolled classes & their status/grade in the class
- User Homework Results - tracks completion of each task for the user
I have designed the database with the following connections
- User - Classes (M:M) - student can be in many classes. A class can have many students
- User - Homework (M:M) - students can have many homework asmts. A homework assignment can be given to many students
- Class - Homework (M:M) - each class has many homework asmts. Each homework could be used in many classes (e.g., 2 first grade classes assign the same homework). I could design this 1:M, but prefer this model
- User - User Class Results (1:M) - a user would have many classes with different results, but those results would only be for 1 student
- Class - User Class Results (1:M) - a class would have many users with different results, but those results would only be for 1 class
- User - Homework Results (1:M) - a user would have many homework results, but each of those would only have 1 user
- Homework - User Homework Results (1:M) - a homework assignment would have many results for different users, but each homework result would only tie to one homework assignment
Questions:
- Does this look correct or reasonable? Could it be more efficient?
- Is this something Adalo can support? Specifically, it does not seem to handle M:M relationships well in the scenario below:
On the class page, each student should see a list of their Homework (ie. requirements). It should have a toggle to show if THAT student has completed those homework assignments
I can get the homework displayed here:
But the toggle does not get down to data from the User Homework Results to show if they have completed that assignment or not.
I have considered assigning all the “Homework” when the user joins the class and then using that table, but I don’t think it’d automatically update if new homework was added to that class. Any help would be appreciated. Thanks!