/surf

Surf, an opinionated fork of Wave - the SAAS starter kit, with Laravel 9.

Primary LanguagePHPMIT LicenseMIT

Surf ๐Ÿ„โ€โ™€๏ธ

Introduction

Surf, the opinionated Software as a Service Starter Kit that can help you build your next great idea ๐Ÿ’ฐ. Surf is fork off Wave, and is built with Laravel, Voyager, TailwindCSS, and a few other awesome technologies. Here are some of the awesome features โœจ:

Deployment Issues

Surf has not been tested with DigitalOceans APP platform. If you are using Surf on DigitalOcean, don't be surprised if you experience issues. Docker has also not been tested and is not recommended.

Installation

To install Surf, you'll want to clone or download this repo:

git clone https://github.com/thinkverse/surf.git project_name

Next, we can install Surf with these 5 simple steps:

1. Create a New Database

We'll need to utilize a MySQL database during the installation. For the following stage, you'll need to create a new database and preserve the credentials.

2. Copy the .env.example file

We need to specify our Environment variables for our application. You will see a file named .env.example, you will need to duplicate that file and rename it to .env.

Then, open up the .env file and update your DB_DATABASE, DB_USERNAME, and DB_PASSWORD in the appropriate fields. You will also want to update the APP_URL to the URL of your application.

APP_URL=http://surf.test

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=surf
DB_USERNAME=root
DB_PASSWORD=

3. Add Composer Dependencies

Following that, we'll need to install all composer dependencies through the following command:

composer install

4. Update Paddle Plans

To make sure your plan IDs are up-to-date, you'll need to update the PlansTableSeeder.

To create a Paddle plan, navigate to your Paddle account and click on Catalogue ยป Subscription Plans.

Use the sandbox-vendors.paddle.com account for testing, and vendors.paddle.com account for production.

Update the plan_id, price, trial_days, etc. in the plans seeder array.

    'name' => 'Basic',
    'slug' => 'basic',
    'description' => 'Signup for the Basic User Plan to access all the basic features.',
-   'plan_id' => '1',
+   'plan_id' => '12345',
    'default' => 0,
    'price' => '5',
    'trial_days' => 0,

5. Run Migrations and Seeds

We must migrate our database schema into our database, which we can accomplish by running the following command:

php artisan migrate

Finally, we will need to seed our database with the following command:

php artisan db:seed

That's it! You will now be able to visit your URL and see your Surf application up and running. ๐ŸŽ‰

Watch, Learn, and Build

DevDojo got a full video series on how you can setup, build, and configure Wave, which is the underlying starter kit Surf is made from. You can watch first few videos for free, and additional videos will require a DevDojo Pro subscription. By subscribing to a DevDojo Pro subscription you will also be supporting the ongoing development of this project. It's a win win! ๐Ÿ™Œ

Click here to watch the Wave Video Series.

Documentation

Checkout the official Wave documentation here.

Support Wave

Give Wave and DevDojo support by following DevDojo on Twitter and upvoting them on Product Hunt.