I am trying to understand if an approach I would like to take is allowed in the world of Salesforce.
- I am looking to build an app with ReactJS as the frontend and Salesforce as the backend.
- There is going to be a single Salesforce admin(?) user and a single connected app to facilitate communication from the ReactJS app.
- All communication (data via list views, detail views, DMLs etc) between frontend and backend will occur via custom APIs written in Apex.
- I will create a "Custom User" object in Salesforce and any user registrants from the ReactJS will end up in my "Custom User" object in Salesforce (I will store their name, email, encrypted password etc in a custom object).
- I will be paying Salesforce for a single license, but will charge my clientele for as many custom users they create from my ReactJS app.
- Fortunately, majority of the users will have the same level of access, so profile security is not a top concern at this time.
- I don't want all the bells and whistles Salesforce offers out of the box (besides Apex, Flows).
Why am I choosing to do this?
- Salesforce platform licenses are cost prohibitive for my app/business model
- ReactJS developers are easier to find and more affordable than Salesforce developers
- ReactJS is more open-ended and less limiting than LWC/Aura
- I could leverage React Native to create a custom branded mobile app in the near future
- If I ever choose to move out of Salesforce (because of governor limits), I am at least half way there because the UI would have been decoupled from Salesforce
- Why Salesforce at all? I am veteran developer myself and can save backend implementation $$ if I did it myself in Salesforce
I am basically bypassing the Salesforce licensing model to save on licensing costs. Is this allowed?