Multi users and clients

Options
I'm looking for advise from DB developers more experienced than myself. I'm developing a haulage application for my own use that will have multiple user logins for delivery drivers and office staff. Also there will be for example tables containing customers and products etc. 

 I also wish to provide the app as a product to external companies if it is successful for ourselves. 
So my question is about structure. 

Can I utilize Xano workspaces for each new client (potential app customer) and copy and paste an existing project to a new workspace somehow? 
Or should each DB record contain a client reference. So all clients data gets mingled into one database (including  client customers etc)

Thanks for the advise.  

Comments

  • Sean Montgomery
    Sean Montgomery Administrator

    ADMIN

    Options
    Hi Colm,

    What you are describing is tenancy - single vs multi.

    The Xano SaaS application itself is single tenant. Each instance has its own resources and our backend synchronizes the Xano software to each instance.

    Each workspace within the instance is individually separated from other workspaces but they do share the same resources. Depending on your definition of single tenancy, you could say a workspace is slightly single tenant - but since it shares resources it isn't fully like the instance is.

    Each workspace is considered multi-tenant. That means that all of your customers would reside in the same workspace.

    The challenge with single tenant applications is the ability to synchronize the application across all other single tenants. Xano isn't setup to do that within your individual instance, but that would be a pretty powerful feature down the line which we are considering. 

    Each workspace really should be considered a unique project and all customers for that project would reside in that workspace.

    Tenancy is a complex topic so if you want more information about I'd be happy to share.

     
  • Colm Fitzgerald
    Options
    Hi ,

    Thank you for taking the time to reply and for sharing your thoughts. 
    It actually clears up for me how the likes of Xano manages this issue. 
    You have a backend updating all instances with the latest software versions.

    So for myself its not really an option yet. I would need an individual master Xano database and master front end application. An external tool would then be needed to update each database and frontend as new versions of the product are released. 

    I just wanted make sure I wasn't missing anything while I'm still early in play.

    Thanks again.