I have to make a key decision regarding our organization / website architecture.
Here is my context. Our main website will be available in different countries. Even if the business is almost the same, there are some features specific to the region. Of course, this applies to translations, but also the master / layouts and the business process. These differences are due to various legislative acts. In the beginning we will have 4 or 5 derivations, but the goal may be 20.
A simple comparison might be the Stackoverflow and the Stack Exchange Network. The basic functions are exactly the same between a website, but there are business rules for a particular site.
In my opinion, in principle, there are two possible approaches:
- Having a single website that manages the functions of a region / country . It will retain the basic functions on the same site, but will include communication between all regions. There is also the risk of โIFโ in the code. Devs and maintainability are optimal (a unique solution for everyone), but risky (can break others). The way to do this is a combination of portable areas and a custom viewing mechanism (a common presentation template in the parent folder and output to a subfolder).
- Availability of one website in each region / country A common website will be implemented. There will be some common components, but each website will have its own life cycle; Devs and maintainability are simpler but more expensive (if there are many derivatives)
Note that this organizationโs other influence is deployment and availability.
What is the best way to organize this?
Edit: We already have experience in MVC, and as a general guide, we know about the best practices of MVC: thin controllers, DI, ViewModels, Action Filters, ...
source share