I have to develop the product from the scratch, designing the whole of the backend by myself.
The repetitive problem I face is how, to begin with, data modeling.
As sometimes clients provide vague information about the product, let us take an example if the client wants to develop a school management SAAS product.
Then my approach will be
- There will be a Super admin managing all Admin of the School.
- Registration of school will be a subscription model.
- Other features like timetable creation, and payment mode.
Most of the intrinsic details get left out like if a student can log in, or their parents can log in, is there any login for teachers, librarians, and accountants.
Considering this scenario
Over time I stuck in overthinking scenarios and their handling.
If somehow I have made schemas, and want to add other features like in this case login with a different role. It becomes difficult to upgrade schema in most cases.
So what measure should follow when need to start a project from scratch or if by chance anything needs to be added later?