Consider that StackOverflow is about practical, detailed questions about code and programming, while your question is more about software engineering and asks about suggestions on "best practices" (which are considered off topic). Please take your time to review the
tour and read
How to Ask. —
musicamante 40 secs ago