Note that there are some explanatory texts on larger screens.

plurals
  1. POSuggestions needed on an architecture for a multiple clients and customisable web application
    primarykey
    data
    text
    <p>Our product is a web based course managemant system. We have 10+ clients and in future we may get more clients. (Asp.net,SQL Server)</p> <p>Currently if one of our customers need extra functionality or customised business logic, we will change the db schema and code to meet the needs.</p> <p>(we only have one branch code base and one database schema)</p> <p>To make the change wont affect each others route, we use a client flag, which defined in a web config file, thus those extra fields and biz logic only applied to a particular customer's system.</p> <pre><code>if(ClientId = 'ABC') { //DO ABC Stuff } else { //Normal Route } </code></pre> <p>One of our senior colleagues said, in this way, small company like us can save resources on supporting multiple resources.</p> <p>But what I feel is, this strategy makes our code and database even harder to maintain.</p> <p>Anyone there crossed similar situation? How do you handle that?</p> <p><strong>Update</strong>:If this is not a right question for SO, can someone move this question to a proper stackexchange site?</p> <p><strong>Update2</strong>: you are right. The code is becoming smelly now, and I quite sure will be a nightmare sooner or later. Our company is doing the product and to save the effort, later products for other customers are based on the previous one. I know the ideal way is seperate the @e-j-brennan dev teams into 2 parts. One team works on core product and made it highly customisable, and team two works on customising for a particular client. However if since our company is so small, it is really a dilemma situation. :(</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload