SaaS app with angularjs and nodejs, how do i organize different clients? : <p>I’m trying to decide what to do I this scenario:</p>

<p>I want to create a product that I want to sell in a SaaS business model, I already have the backend more or less thought out and some code in place in nodejs. It handles oAuth, sessions, and controls the roles of the users when accessing a certain endpoint.</p>

<p>The doubt is in the frontend architecture:
Each client will share the same functionality, but the design of their page will be completely different from one another. 
I want to put as much of the app logic that I can in services, so I can reuse it, my idea is to only change controllers/templates/directives from client to client, is this ok?</p>

<p>Should I have different folders and serve the static files for each client from nodejs?
ex:
in nodejs I would know the url for client1 was called so I would serve client1-index.html?</p>

<p>should I put each client in their own nodejs server and their own host?</p>

<p>what other ways are there?</p>

<p>I would like to be able to easily reuse the services as I’ll be introducing changes to the features or adding more, and I want to do this upgrades easily.</p>

<p>There will also be an admin panel that will be exactly the same for all of them, the part that will change is the one my client's users see.</p>

<p>Think of it as having many clients and giving each of them a store, so they can sell their stuff. They want an admin page and a public page. The admin page will the same for all, but the public page has to change.</p>

<p>So, and app that shares the same functionality across users but looks completely different for each one of them, how would you do it?</p>
