Starting out correctly for a SaaS platform?

Good Day,

I have a monolithic application written in PHP and also uses WordPress as application platform.
This has been fine, but has grown where further expansion is problematic.

I would like to restructure the application to be more of a SaaS type approach.

The application currently has around 100+ companies using it, with around 4000 users.
Each company generates around 5000 transactions.
The type of services we provided was things like Payment management, Event management and Asset Management and a few others.

My question is really… would you say that using Ionic with Angular with a node.js backend is the right way to go for the future?
This is a huge thing to move everything from php, and so I want to make the right choice here.

Now I know that you cannot possibly give a definite answer to this, as there are many factors, and also I realize that this is only your opinion, but I would value all of your opinions.

Thank you in advance for your advice.

I really appreciate it.
Kind Regards

Great question! There’s not one true answer here.

First -> What’s the issue you’re trying to solve? “further expansion is problematic.” - does that mean performance issues? deploying updates quickly? Reaching multiple platforms like web, native, desktop etc.?

Regardless, I suggest that don’t give up on your PHP backend! Don’t throw out that effort unless you really need to. Ionic apps are web apps, which means your app could make API calls to your PHP backend. If you have content in Wordpress you’d like to use too, you could also pull it into the app using the Wordpress API.

hope that helps.

2 Likes

I second @netkow’s advice on keeping your existing backend. I would even argue that having the frontend and backend being implemented in different languages is a virtue, and Node.js would be my absolute last choice for a backend to an Ionic app.

A crucial feature of separating frontend/backend in the first place is that it allows you to make radical changes in one or the other without affecting the other one. This unleashes the true power of REST and JSON. When you use the same implementation language, there will naturally be a tendency to reuse code, and the second that you do that, now your frontend and backend are cross-contaminated and can no longer be rearchitected independently as easily.

1 Like

Thank you very much both @netkow and @rapropos !
The problem with the PHP Code and MySQL infrastructure, is that it was poorly written (some even by me) and this is causing major issues in terms of performance and sql queries.
May I ask though, why would you not use Node.js - this is not to bash - but I need to know before I hop onto this new path.
Where I am currently in the thought process is using Ionic Angular for writing SPA or Mobile, then connecting it to AWS Lambda for functions and also for a Database making use of DynamoDB.
Are there any major warning lights here?
If not Node.js for Lambda functions, what would you suggest I use?

Thank you both!

I tried to answer that in my previous post: using something other than JavaScript protects you from the temptation to cross-pollute your frontend and backend code.

Thank you, makes sense. What would you suggest I use though?

That veers into religious territory, and what you’re familiar with matters as well. All I can really say is what I use, which is Golang.

Hahahaha fair enough! :slight_smile: Thank you.

For a different perspective - Node is great. The Ionic team uses it here and there. Bringing your JavaScript knowledge to the backend is powerful and shouldn’t be overlooked.

Your thoughts around Ionic + AWS makes sense, and could work just fine. Check out AWS Amplify too, which smooths out some of the rough edges of AWS’ services.

1 Like

Thank you - will do.