Help with Database Design - running into issues with M:M relationship

Hi, I am building a classroom app for users (students) to see their classes and homework. I’d like feedback on the MVP database design, and am running into an issue using it in Adalo. Are there any good templates for something like this?

The application has 5 core database relationships. Does this seem right?

  • Users - Classes (M:M) - students can have many classes. A class can have many students
  • Users - Homework (M:M)- students have many homework assignments. A homework assignment can be given to many students
  • Classes - Homework (M:M)- A class can have many homework assignments. A homework assignment can be tied to many classes (e.g., two classes given the same homework to their students)
  • Users - User Class Progress (1:M) - a user will a User Class progress for each class (e.g., includes grade & date finished for that student-class match). Each User Class Progress only has 1 student
  • Class - User Class Progress (1:M) - a class will a User Class progress for each student (e.g., includes grade & date finished for that student-class match). Each User Class Progress only has 1 class
  • Users - User Homework Progress (1:M) - a user will a User Homework Progress for each homework assignment (e.g., grade for that homework, status & date finished for that homework-class match). Each User Homework Progress is only for 1 student
  • Homework - User Homework Progress (1:M) - a homework assignment will have different grades & progress for each student (e.g., grade for that homework, status & date finished for that homework-class match). Each User Homework Progress is only for 1 student

Questions

  1. Does this look reasonable? Is there a better way to do it in Adalo?
  2. In Adalo, I have run into issues with the M:M lookups. Are there any templates or examples I could use for something like this? If not, I’ll post those exact questions

Hi @bfarr37 ,

Try using spreadsheet and fill with example data, forget for a moment about many to many relationship, just duplicate the rows if you need and add another sheet to remove the duplication.

Do this for 3-5 students in different classes and homeworks, name them, then you will find the database layout that you need.

Hi Yongki, are you from in Indonesia?

Yes, you too ?