πββοΈ
Surf Introduction
Surf, the opinionated Software as a Service Starter Kit that can help you build your next great idea
- Authentication
- User Profiles
- User Impersonation
- Subscriptions
- Subscription Plans
- User Roles
- Notifications
- Announcements
- Fully Functional Blog
- Out of the Box API
- Voyager Admin
- Customizable Themes
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.
.env.example
file
2. Copy the 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.