Data Organization Advice - Stuck

Hi All,

I’m stumped on the best way to organize the below data. I can’t seem to think of a way that creates less data storage / complexity than the others.

What I have so far:

  • Users can create a thing type “Pet” that ties back to them.
  • I have a static list of health “To Do’s” that are categorized by thing type “Life Stage” (puppy, junior, adult, etc.). Some To Do’s apply only to one life stage, some to multiple.
  • Based on the “User’s” “Pet’s” “Life Stage,” I display the appropriate “To Dos.”
    *To display them in a specific order, I have a field in each To Do for each Life Stage so I can number them for each Life Stage: “Puppy #”, “Junior #”, “Adult #”. Something that is 4 for a Puppy might be 7 for an Adult because Adults have more To Do’s. I’m not happy with this but it gets worse…

I need to store and display Y/N responses for each of these by pet. I envision it as a health checklist, where users can check off Yes when they’ve completed the task for the specific Pet. FYI Users can have more than one Pet.

An RG would display:
TO DO / Done?
[To Do Text] / [Dynamic Checkbox]

I created the below which is terrible. What’s a better solution?

  1. Each “Pet” has a field for every single To Do, for all “Life Stages.” For example, “Puppy 1 Y/N”, “Puppy 2 Y/N,” “Junior 1 Y/N”, “Junior 2 Y/N”. However there are about 15 To Do’s for each life stage.
  2. I thought I could try to connect “Puppy 1 Y/N” to a To Do that has a “Puppy #” = 1.

I am just not thinking about this the right way.

When a new pet is created, should I just create new To Do’s for each pet? But then there will be so much text stored in my data…

Thanks for your help :sweat:

Hi @jamie, here’s what I’d do with your database:

Pet

  • Life stage (Life Stage)
  • Name (text)
  • etc.

Life Stage

  • Name (text)
  • To Do’s (List of To Do’s)

To Do

  • Name (text)
  • Number (number)

Checklist

  • Completed To Dos (List of To-Do’s)
  • Pet (Pet)

Number the To-do’s from 1 - End, regardless of Life Stage. I hope that’s not complicated to figure out, but I think it should keep this easy for you. If Puppy and Junior have To-Do’s 1-5, but not Adult, that’s fine. Adult will start at 6 and that’s the first number for that Pet’s Stage. Your repeating group can display the index # , which always starts at 1, instead of the To-Do #.

Add To-Dos only to the Life Stage they belong.

For the checklist, create a new Checklist record per pet (and if needed, per pet’s life stage). As the user checks the box in the To Do repeating group, this record gets updated: “Completed To-Do’s add current cell’s To-Do.” This way it’s way more dynamic and you don’t have to have a billiondy (technical number) fields.

PS - one thing you could adjust if you want is the To-Dos. You can add another field to that type for Life Stage. If the numbering is less confusing with each To-Do unique to the life stage and you don’t mind having three “Get pet’s teeth cleaned” (one for each stage), then you can do that too.

Hope this helps!


Gaby at Coaching No Code Apps (formerly Coaching Bubble)

Courses & Products, Tutorials, Private Coaching, and High-level Development

Start Learning Today :mortar_board:

2 Likes

Thank you!! I really appreciate you taking the time. This is so much cleaner!