Laravel Spark, the banner product of Laravel PHP framework, exhibits two sides of the same story. On one side it ensures ease of formulation but on the other side discomfort of developing the software parts for a service application.

Spark sets the platform for the subscription application services like billing, invoices, password reset, profile photos, authentication, etc. One may even call it as a tool functioned to accelerate the pace at which SaaS application spins. Since most of the SaaSes are equipped with majorly similar components like user accounts, payment plans, stripe based payments, etc. Sparklets you jump over the hassle of recreating the functionalities with every novel Laravel app created and instead benefits you with a bonus of free SaaS landing pages to boot.

LARAVEL SPARK INSTALLATION

Ease of installation is what Spark boasts of. One just needs to type the command

But before running the command, one needs to ensure that his or her system is equipped with Global Composer Bin. This will ensure that when Spark is run through Command, it gets detected automatically from the folder.

Now, it’s time to for Laravel installation. So,

Laravel installation

And finally, Spark installation.

Spark installation

This is followed by all the prompts wherein YES should be your only answer.

prompts

These commands can also be prompted manually:

  • php artisan migrate
  • npm install
  • gulp

Finally, go to the .env file and set up the stripe token and Authy key. The author key is a 2FA system (2 Factor Authentication), for ensuring the protection of logins and also one can sign up for free API key.

CHANGES BROUGHT IN BY SPARK

  • Changes in the default view. For example: Instead of showing welcome, it now shows spark:: welcome
  • Updated user model to billable and 2FA (Factor Authentication)
  • Addition of stripe related fields to the user.
  • Addition of CashierServiceProvider and StripeServiceProvider
  • Changing password reset email to Spark password reset email.
  • Up gradation of creating a table to include Cashier, Team, and Two-Factor Auth columns.
  • Pulling in of app.js into Elixir and addition of some Spark-specific Sass variables to app.scss.

NEW FILES FROM SPARK

  • app/Providers/SparkServiceProvider.php
  • $invoiceWith ( for customization of invoices created by Spark)
  • customizeRegistration() (to add validation requirements and customize the user creation process)
  • customizeRoles()( For role setting)
  • customizeSettingsTabs() (For customizing default settings)
  • customizeProfileUpdates() (For customizing the user update process)
  • customizeSubscriptionPlans() ( For modifying the time plans into yearly, monthly, etc)
  • app/Team.php
  • database/migrations/DATE_create_teams_table.php
  • resources/assets/js/app.js
  • resources/assets/js/spark/components.js
  • resources/views/home.blade.php
  • md ( For terms of service page)

SPARK LOGIN PAGE

SPARK LOGIN PAGE

SPARK PASSWORD RESET PAGE

SPARK PASSWORD RESET PAGE

SPARK REGISTRATION PAGE

SPARK REGISTRATION PAGE

TERMS OF SERVICE PAGE

TERMS OF SERVICE PAGE

AUTHENTICATION

Laravel Spark comes built in with an extensive authentication framework that is interspersed in the software application, easily. It supports two-factor authentication (2FA).

PAYMENTS

Add a Stripe. Add a free monthly or yearly plan and finally add them to SparkServiceProvider.