{"id":13560417,"url":"https://github.com/thinkverse/surf","last_synced_at":"2025-08-23T20:25:54.197Z","repository":{"id":37091908,"uuid":"492017226","full_name":"thinkverse/surf","owner":"thinkverse","description":"Surf, an opinionated fork of Wave - the SAAS starter kit, with Laravel 9.","archived":false,"fork":false,"pushed_at":"2023-02-04T02:02:12.000Z","size":12694,"stargazers_count":29,"open_issues_count":3,"forks_count":7,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-14T08:16:23.655Z","etag":null,"topics":["laravel","paddle","saas","saas-starter","wave"],"latest_commit_sha":null,"homepage":"https://devdojo.com/wave","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thinkverse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-05-13T19:26:38.000Z","updated_at":"2024-07-23T20:45:51.000Z","dependencies_parsed_at":"2024-01-14T03:46:56.229Z","dependency_job_id":null,"html_url":"https://github.com/thinkverse/surf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkverse%2Fsurf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkverse%2Fsurf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkverse%2Fsurf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkverse%2Fsurf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thinkverse","download_url":"https://codeload.github.com/thinkverse/surf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221820898,"owners_count":16886225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel","paddle","saas","saas-starter","wave"],"created_at":"2024-08-01T13:00:43.650Z","updated_at":"2024-10-28T11:27:13.602Z","avatar_url":"https://github.com/thinkverse.png","language":"PHP","funding_links":[],"categories":["Starter Kit"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eSurf 🏄‍♀️\u003c/h1\u003e\n\n## Introduction\n\nSurf, the opinionated Software as a Service Starter Kit that can help you build your next great idea 💰. Surf is fork off [Wave](https://devdojo.com/wave), and is built with [Laravel](https://laravel.com), [Voyager](https://voyager.devdojo.com), [TailwindCSS](https://tailwindcss.com), and a few other awesome technologies. Here are some of the awesome features ✨:\n\n - [Authentication](https://wave.devdojo.com/docs/features/authentication)\n - [User Profiles](https://wave.devdojo.com/docs/features/user-profiles)\n - [User Impersonation](https://wave.devdojo.com/docs/features/user-impersonation)\n - [Subscriptions](https://wave.devdojo.com/docs/features/billing)\n - [Subscription Plans](https://wave.devdojo.com/docs/features/subscription-plans)\n - [User Roles](https://wave.devdojo.com/docs/features/user-roles)\n - [Notifications](https://wave.devdojo.com/docs/features/notifications)\n - [Announcements](https://wave.devdojo.com/docs/features/announcements)\n - [Fully Functional Blog](https://wave.devdojo.com/docs/features/blog)\n - [Out of the Box API](https://wave.devdojo.com/docs/features/api)\n - [Voyager Admin](https://wave.devdojo.com/docs/features/admin)\n - [Customizable Themes](https://wave.devdojo.com/docs/features/themes)\n\n## Deployment Issues\n\nSurf 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.\n\n## Installation\n\nTo install Surf, you'll want to clone or download this repo:\n\n```\ngit clone https://github.com/thinkverse/surf.git project_name\n```\n\nNext, we can install Surf with these **5 simple steps**:\n\n### 1. Create a New Database\n\nWe'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.\n\n### 2. Copy the `.env.example` file\n\nWe 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`.\n\nThen, 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.\n\n```bash\nAPP_URL=http://surf.test\n\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=surf\nDB_USERNAME=root\nDB_PASSWORD=\n```\n\n### 3. Add Composer Dependencies\n\nFollowing that, we'll need to install all composer dependencies through the following command:\n\n```php\ncomposer install\n```\n\n### 4. Update Paddle Plans\n\nTo make sure your plan IDs are up-to-date, you'll need to update the [PlansTableSeeder](database/seeders/PlansTableSeeder.php).\n\nTo create a Paddle plan, navigate to your Paddle account and click on Catalogue » **Subscription Plans**.\n\n\u003csmall\u003eUse the [**sandbox-vendors.paddle.com**](https://sandbox-vendors.paddle.com) account for testing, and [**vendors.paddle.com**](https://vendors.paddle.com) account for production.\u003c/small\u003e\n\nUpdate the `plan_id`, `price`, `trial_days`, etc. in the plans seeder array.\n\n```diff\n    'name' =\u003e 'Basic',\n    'slug' =\u003e 'basic',\n    'description' =\u003e 'Signup for the Basic User Plan to access all the basic features.',\n-   'plan_id' =\u003e '1',\n+   'plan_id' =\u003e '12345',\n    'default' =\u003e 0,\n    'price' =\u003e '5',\n    'trial_days' =\u003e 0,\n```\n\n### 5. Run Migrations and Seeds\n\nWe must migrate our database schema into our database, which we can accomplish by running the following command:\n\n```php\nphp artisan migrate\n```\n\nFinally, we will need to seed our database with the following command:\n\n```php\nphp artisan db:seed\n```\n\nThat's it! You will now be able to visit your URL and see your Surf application up and running. 🎉\n\n## Watch, Learn, and Build\n\nDevDojo 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](https://devdojo.com/pro) subscription. By subscribing to a [DevDojo Pro](https://devdojo.com/pro) subscription you will also be supporting the ongoing development of this project. It's a win win! 🙌\n\n[Click here to watch the Wave Video Series](https://devdojo.com/course/wave).\n\n## Documentation\n\nCheckout the [official Wave documentation here](https://wave.devdojo.com/docs).\n\n## Support Wave\n\nGive Wave and DevDojo support by following DevDojo on [Twitter](https://twitter.com/thedevdojo) and upvoting them on [Product Hunt](https://www.producthunt.com/posts/wave-2-0).\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://www.producthunt.com/posts/wave-2-0\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.devdojo.com/images/april2021/upvote-product-hunt-img.png\" height=\"auto\" width=\"auto\"\u003e\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkverse%2Fsurf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinkverse%2Fsurf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkverse%2Fsurf/lists"}