Code Monkey home page Code Monkey logo

laravel-spark's Introduction

Spark

Introduction

This is an alpha, experimental release of Spark. Things will change. Things will break. Thank you for testing!

Spark is an experimental project primarily intended for building business oriented SaaS applications, and is highly opinionated towards that use case.

Installation

First, install the Spark installer and make sure that the global Composer bin directory is within your system's $PATH:

	composer global require "laravel/spark-installer=~1.0"

Next, create a new Laravel application and install Spark:

	laravel new application

	cd application

	spark install

After installing Spark, be sure to migrate your database, install the NPM dependencies, and run the gulp command. You should also set the AUTHY_KEY, STRIPE_KEY, and STRIPE_SECRET environment variables in your .env file.

You may also wish to review the SparkServiceProvider class that was installed in your application. This provider is the central location for customizing your Spark installation.

Defining Subscription Plans

Subscription plans may be defined in your app/Providers/SparkServiceProvider.php file. This file contains a customizeSubscriptionPlans method. Within this method, you may define all of your application's subscription plans. There are a few examples in the method to get you started.

When defining a Spark plan, the plan method accepts two arguments: the name of the plan and the Stripe ID of the plan. Be sure that the Stripe ID given to the plan method corresponds to a plan ID on your Stripe account:

	Spark::plan('Display Name', 'stripe-id')
		->price(10)
		->features([
			//
		]);

Yearly Plans

To define a yearly plan, simply call the yearly method on the plan definition:

	Spark::plan('Basic', 'basic-yearly')
		->price(100)
		->yearly()
		->features(
			//
		);

Coupons

To use a coupon, simply create the coupon on Stripe and access the /register route with a coupon query string variable that matches the ID of the coupon on Stripe.

    http://stripe.app/register?coupon=code

Site-wide promotions may be run using the Spark::promotion method within your SparkServiceProvider:

	Spark::promotion('coupon-code');

Teams

To enable teams, simply use the CanJoinTeams trait on your User model. The trait has already been imported in the top of the file, so you only need to add it to the model itself:

	class User extends Model implements TwoFactorAuthenticatableContract,
	                                    BillableContract,
	                                    CanResetPasswordContract
	{
	    use Billable, CanJoinTeams, CanResetPassword, TwoFactorAuthenticatable;
	}

Once teams are enabled, a team name will be required during registration, and a Teams tab will be available in the user settings dashboard.

Roles

Team roles may be defined in the customizeRoles method of the SparkServiceProvider.

Customizing Spark Views

You may publish Spark's common Blade views by using the vendor:publish command:

	php artisan vendor:publish --tag=spark-basics

All published views will be placed in resources/views/vendor/spark.

If you would like to publish every Spark view, you may use the spark-full tag:

	php artisan vendor:publish --tag=spark-full

Customizing Spark JavaScript

The resources/assets/js/core/components.js file contains the statements to load some common Spark Vue components. Vue is the JavaScript framework used by the Spark registration and settings screens.

You are free to change any of these require statements to load your own Vue component for a given screen. Most likely, you will want to copy the original component as a starting point for your customization.

laravel-spark's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

laravel-spark's Issues

Laravel spark install

Hi;

I followed your install instructions, except the install folder name, I used "spark" instead of "application".

The "laravel new spark" command was achieved without errors, but in the next step "spark install" command failed.

In fact there is no "spark.php" file nor any file related to Spark application is there.
Do you know what can be the problem?

In advance, thank you;
Youness.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.