Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ZenUML's avatar

Is Spark the best choice for me?

I am working on a tiny SaaS project (https://www.zenuml.com). It has been released for more than a year without subscription/payment support. It is a pure front-end project and is currently hosted as a serverless site using Firebase as the storage.

I have 15 years of experience of software development but have not coded much in PHP. I hope the integration effort would be minimum. Ideally, I only need to start Spark on zenuml.com and query users' information from the app front-end (which runs at https://app.zenuml.com). Spark (or any other framework) handles all other stuff with no development effort involved.

I read something on laraship's site (https://www.laraship.com/laraship-vs-laravel-spark-alternative/):

What’s wrong with Spark? People got stuck when buying Spark thinking that they are now ready to start their idea, wait! there is still a lot to do yet, you need to build your interface, you need to build your administration panel, profile subscriptions management.

I don't feel it reads right. But it worried me a lot.

I am also checking other frameworks such as Grafite (https://www.grafite.ca/). I am looking forward your advice. Thanks in advance.

0 likes
6 replies
Cronix's avatar

I wouldn't. Spark is really meant to be used in a NEW app, not an existing one (the docs state this as well). The app needs to be built around Spark. It's really a lot harder to take an existing app and put spark in it. You'll probably end up rewriting the majority of your code.

Can Spark be integrated into an existing application?

Spark is not designed to be integrated into existing applications. Spark is designed for new applications.

https://spark.laravel.com/docs/7.0/faq#existing

Stockholm's avatar

It sounds to me like you could set up laravel with spark as a separate entity, only to handle your subscriptions.

Your existing application can remain as it is. Then you move the user between different urls for different actions.

After the setup I suppose that your existing application is able to connect to a mySQL database, where you have all the info you need to evaluate if your user is a paying customer or not.

If you want to have some kind of shared login between the applications you could use AuthO which is available in Laravel.

To go further in joining your applications you could use Laravels Rest API. Spark generates an API key for you automatically.

Cronix's avatar

It would probably be a lot easier to just implement Laravel Cashier (which Spark uses) yourself to handle the payments/subscriptions instead of trying to get Spark to work in an existing app, which has a lot of additional functionality built on top. https://laravel.com/docs/5.7/billing

ZenUML's avatar

@STOCKHOLM - Thanks @stockholm This is very close to what I am thinking. As said in my question, I am thinking run Spark and my existing app on a different domain (www vs app). I may not even connect my existing app to mysql immediately.

My question is if I did that what is the extra benefit using Spark than implementing Cashier then (as suggested by @cronix ).

Stockholm's avatar

With a standard installation of Laravel w Laravel Cashier you would have to build VIEWS and controllers for:

-users with teams and team members/invitations.

-presentation of your subscription

-subscription signup, switching

-handling the user/team Card details w Stripe

-notifications

-invoices

-and much more.

You would also have to learn more Laravel than your original question suggest that you want to do at this moment.

Spark delivers this for you.

It is very important that you read the documentation for Spark because it is not easy to tweak Spark if it doesn’t fit into your business model. (Without a more indepth knowledge of Spark and Laravel)

Please or to participate in this conversation.