How to hanlde changing plans in a SaaS

I am working on a SaaS product that I intend to have multiple plans for, I will have a limit of 50 of item A example and then a per user cust where I will have a base plan of 3 users.

I’m building this application primarily out of Node.js microservices. I was wondering where it makes sense to put in the controls for this type of limiting (the 50 items A not the per-user that seems simple enough).

Do I put it as its own service or is there a reasonable way to integrate it into say an API gateway or auth service?

Currently, the services I have that would be involved in item A are:

  • API gateway

  • Auth

  • Service A

I’d like to do it in a way that I could remove the limiting per item later on as I have plans to change my pricing plan structure as the product develops.

I’m open to almost anything, I have a few poorly thought out ideas like adding a middleware that checks the user model and if the user’s company/payment/plan data says that it exceeds the limit then I would return an error.

How can I forward SaaS calls from the client to a third-party service?

In the browser (e.g., for mysite.com) there is Javascript for third-party services, say somesaas.com. Let’s say that I rewrite the Javascript so that it calls https://proxy.mysite.com instead of https://somesaas.com. Then that proxy will invoke https://somesaas.com, rewriting headers as needed.

Of course, my proxy will see all the traffic, but I don’t see that that is a problem. The traffic comes from my webapp and serves the purposes of my webapp. In terms of Same-Origin Policy, it is all mysite.com.

The calls are Ajax, so the browser will not show the user that the calls are to proxy.mysite.com rather than somesaas.com

I can see that if the user is sending sensitive data to somesaas.com and expects that mysite.com will never see it, that could be a problem with user expectations.

But would this architecture be blocked by some security layer?

crear Saas con java

Hola tengo una duda como puedo crear un sistema web Saas en java no tengo bien identificado el proceso o el manejo del desarrollo ya que solo he creado aplicaciones monoliticas con java jsp servlet en el backend y en front hmtl css javascript jquery pero tengo la duda de como es la arquitectura o la estructura del desarrollo de una aplicacion de ese tipo mi duda es como creo una interfaz para cada usuario que se registre pueda ser configurable su plantilla en cuestion de colores fuentes etc etc, y tengo la duda de que si tengo que crear una base de datos para cada cliente que se registre y lleve su propia informacion si es asi como seria la mejor manera para el mantenimiento de este tipo de aplicaciones

Design a SaaS based web system with customizable modules

Currently, in the beginning of designing a SaaS system, that provide web-based systems for tenants.


About the system

There are a set of existing components, each tenant might want different components in their system, and they should be able to customize which components to use & show in their pages.

The customization should be done via an admin page, without development from the tenant.

And, should be able to develop new components (by SaaS provider or tenants), to extend the platform, with minimal effects, based on the common API/Standard.


Current draft design

  • For frontend
    • Create reusable widgets, that each represnt a component for the site.
      (e.g js/css utils)
    • In the admin page, user could choose which widgets to use, and could customize each widget via the params provided by widget.
  • For backend
    • Create each function as a micro-service. (e.g spring-boot applications)
    • Widgets from frontend has callbacks to call these services.
  • For extension components.
    • Wrap underlying resources (e.g data storage), and expose them in a standard way, so that simplify component developer’s work.

The questions are

  • In frontend part, is there a good library or solution to assemble those widgets?
    I only have limited experience with frontend programming (js / css / html), not sure how to do this properly & efficiently.
  • Is there any other ways to achieve the goal of assembling a webpage / website from small widgets / functionalities.
  • Any other suggestion on the design?

What are the correct steps to build a SaaS B2B company UX experience?

I’m currently working for a SaaS B2B project in a specific niche, and this is my first experience of a kind.

On of my first toughts is to have a consistente user experience throughout the customer journey with the company:

  1. The brand name and colors that remit to what the software does (and all of its collaterals – business cards, template presentations, folders, etc.)
  2. The company web page with its call to actions specific for a certain point in the customer journey, sending specific messages during these points.
  3. The software UI itself

At the end, a consistent UX depends on consistency on these points, and that is recognized if we look at Salesforce, Box, Workday or other top successfull SaaS B2B companies.

My doubts on this topic is related to the process of building this consistency in defined and sequential steps. I’m an UX developer, not a designer, and wish to know how to estabilish a formal and consitent process to build what I call “The company user experience” – the 3 steps above. Consider that I will be working with different people, some of then third party, to make this work. Consider also that I have several sprints on the product development cycle.

So, I would think of something like:

a) Define company goals and history b) Build the Logo and Collaterals c) Define the product stories (what is it for, problem solved, customer stories) d) Define customer buying journey e) Build the website f) Define the product UI Libraries (Web and Mobile) g) Develop product sprints (UI + Business Logic) h) Go back to (c) and start over 

Thinking that way, I’am having too many doubts on how to make it work. Examples:

  • Should I really start with the Logo?
  • Should I first do (a), (c) and (d) before going to development of Logo, website and UI Library?
  • Can I develop the website in parallel of the UI Libraries, or should serially ?
  • How to handle different people on different steps?
  • Are there any important steps missing?

My final goal is an structured process to follow in order to be build these whole tasks.

Connecting saas and erp for invoice creation to customers

So the question is not directly about how do i do this in code but more high level. We have a saas that till now was generating its own invoices and had a lot of accounting functionality in it, remainders, paying with cc/paypal etc . But we are at the level now where we want to switch all the accounting bits to ERP because it does not make sense to implement all double booking rules and other into out app. That ultimately means that i have to have some data about customers in both systems, or resolve to split the app into a lot smaller pieces that would talk (think microservices) im not for that solution right now.

So the question is how do i outsource the invoicing to erp. Do i outsource it completely as in the user would have an account in our ERP and use SSO for login with app/erp but it would be two different systems that we would like to blend as best as posibile, or the other option is that i outsource only the task of generating the invoices and pdf-s to the erp and that i those later import back in the app and there are they available to the customer.

How to other do this, i imagine in most cases the saas is completly different then ERP.