It is great that you are investing much time upfront so that the app comes out as best as possible.
The structure I suggested is not complete. It is just one way to do it and then the rest needs to be expanded on.
In essence, you are facing the challenge that we all face when building an app. To create a dB structure that is as optimized as possible and provides for scalability if needed. For this I refer you to the following material which is very useful!
I know I did not provide you with a straightforward answer. To get into the details of a specific course of action on how to build an app plan, takes much more time and insight into what the vision for that app is. So, I prefer to share app building concepts that have and continue to help me when building.
Hope this helps a bit and best of luck with your project!