I think that there is no βrightβ answer, basically it comes down to the fact that, in your opinion, it will be easiest to build and maintain over time. So this is what I will do.
Combine the modules into more manageable units and place them in different website designs where the modules will be areas. If sharing a presentation is the most important here, then these will be the criteria by which you would group the modules into a website with different areas. Also, if they share some views, it is likely that they are also logically more or less similar, so you end up grouping them by their logical value. Then you could use them as different projects in a solution or different solutions.
There is also a way to use views from different projects . I personally have never done this, and the link is what gave Google a quick search, so be sure to look at it in detail. This can make your views re-accessible to all websites.
On models and repositories, I would get them in a completely separate project, which will then link to all websites. More recently, I try to build my models and repositories without any βclientsβ, so I usually put them in a completely separate project, and I try to create them so that they can be easily used on a website, on the Internet, a service or a desktop application .
I hope this helps, but as I said, this is by no means the correct answer (and it may be completely wrong, so if someone has a better idea, please share). By the way, if you have 8-10 developers who will work on it, be sure to ask them. A bunch of different opinions from smart people, as a rule, are combined with useful ideas.
source share