Wave - The Software as a Service Starter Kit, designed to help you build the SAAS of your dreams πŸš€ πŸ’°

Overview

Introduction

Wave is a Software as a Service Starter Kit that can help you build your next great idea πŸ’° . Wave is built with Laravel, Voyager, TailwindCSS, and a few other awesome technologies. Here are some of the awesome features ✨ :

Demo

View a live demo here, or deploy your own instance to DigitalOcean, by clicking the button below.

Deploy to DO

Installation

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

git clone https://github.com/thedevdojo/wave.git project_name

Next, we can install Wave with these 4 simple steps:

1. Create a New Database

During the installation we need to use a MySQL database. You will need to create a new database and save the credentials for the next step.

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://wave.test

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

3. Add Composer Dependencies

Next, we will need to install all our composer dependencies by running the following command:

composer install

4. Run Migrations and Seeds

We need to migrate our database structure into our database, which we can do by running:

php artisan migrate

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

πŸŽ‰ And that's it! You will now be able to visit your URL and see your Wave application up and running.

Watch, Learn, and Build

We've also got a full video series on how you can setup, build, and configure Wave. 🍿 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 documentation here.

Comments
  • Update Wave with Laravel 9.

    Update Wave with Laravel 9.

    This PR updates Wave's Laravel application to a base Laravel 9 version and also bumps all dependencies to support Laravel 9. This is in response to #46 and my own desire to update the base Laravel app to a newer version.

    Updating to Laravel 9 will force a minimum of PHP 8.0.2, 7.4 and lesser will not work anymore since Laravel 9 forces ^8.0.2.

    PR is not fully tested yet, hence why it's being submitted as a draft. Testers are more than welcome. To test, clone this PR and report any issues found back here and they'll be resolved.

    Tested and working on PHP 8.1+

    • [x] Authentication
    • [x] User Profiles
    • [x] User Impersonation
    • [x] Subscriptions
    • [x] Subscriptions Plans
    • [x] User Roles
    • [x] Notifications
    • [x] Announcements
    • [x] Blog
    • [X] API
    • [X] Voyager
    • [x] Themes
    opened by thinkverse 4
  • Match default laravel config better. Main reason it to user using php…

    Match default laravel config better. Main reason it to user using php…

    Hi

    I wanted to rather use phpredis over predis.

    But there was no env variable to allow this.

    So I've gone over what a default install database config looks like and added any of the missing settings.

    Though I've left it so that predis is still the default. But you can now override it with.

    REDIS_CLIENT

    opened by timhaak 4
  • role-based-blade-directives

    role-based-blade-directives

    create this PR for having more blade directives in Wave with regard to user roles. It might have useful for SAAS with many user roles. an example like this; "@role('role') {role based content } @endrole('role') and have the conditional rendering functionality of laravel with ease. (notrole does not seem logical but I kept the same structure with other blade direvtives of wave)

    opened by fatihsamur 2
  • Updated user factory in default directory

    Updated user factory in default directory

    Hi, I'm trying to contribute to this project because I see a lot of potential.

    I didn't know if the existent UserFactory is to be intended to be used or if we should use the one inside Wave.

    However I think this PR doesn't hurt

    opened by Punksolid 2
  • Remove explicit values from seeders incrementing column

    Remove explicit values from seeders incrementing column

    Fixes the following error:

    [2021-05-27 18:25:07] local.ERROR: SQLSTATE[23505]: **Unique violation: 7 ERROR:  duplicate key value violates unique constraint "menus_pkey"**
    DETAIL:  Key (id)=(3) already exists. (SQL: insert into "menus" ("name", "updated_at", "created_at") values (sidebar, 2021-05-27 18:25:07, 2021-05-27 18:25:07) returning "id") {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 23505): SQLSTATE[23505]: Unique violation: 7 ERROR:  duplicate key value violates unique constraint \"menus_pkey\"
    

    Only affecting PostgreSQL.

    Seems like when you explicitly assign a value to the incrementing column PostgreSQL does not register this in the next sequence causing the duplicate key value violates unique constraint error. By leaving it out, everything works properly.

    opened by bobbyiliev 2
  • Bump composer/composer from 2.3.3 to 2.3.7

    Bump composer/composer from 2.3.3 to 2.3.7

    opened by thinkverse 1
  • Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5

    Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5

    opened by thinkverse 1
  • Twilio SMS integration

    Twilio SMS integration

    Try to add Twilio SMS integration https://www.twilio.com/docs/sms/api Notify Your Clients And Administrators Via SMS Messages Send Mass SMS Using Recipient Filtering Define SMS Template Counterpart Of Each Email Template Define Mass SMS Templates Estimate Message Length Using Character Counter Notify Chosen Administrators Via SMS When: Specified Product Is Ordered Specified Product Addon Is Ordered Ticket With Specified Priority Is Opened Or Flagged Support Ticket Have Response Support Ticket Department Reassigned Specified Administrator Or Client Logs In Product Automatic Setup Failed Or Succeeded Service Is Suspended Service Unsuspension Failed Or Succeeded New Order Is Submitted New Cancellation Request Is Submitted Enable/Disable SMS Notifications Per Administrator Enable/Disable SMS Gateways Check Connection With SMS Gateways Enable/Disable SMS Templates View Verification Status Of Clients And Orders Manage Clients Verification Status, Accepting SMS And Marketing SMS Agreements From Addon Manually Verify Client Status On Client Summary Page Send SMS From Client Summary Page SMS Templates - Merge Fields Support Choose Client Custom Field To Be Used As Client Phone Number Set Custom Token Length And Characters Set Adjust Format Number To International Automatically View SMS History

    opened by domaingood 1
  • IS STRIPE INTEGRATION SUPPORTED YET?

    IS STRIPE INTEGRATION SUPPORTED YET?

    Based on this pull request(https://github.com/thedevdojo/wave/pull/38), I think Devdojo team decided to add Stripe support (which I'm so happy about), but I cant see some of the commit's made by https://github.com/magarrent/wave, in Wave. It seems like Stripe has only been partially supported in Wave. Is that the case? If so, is there any upcoming plans to complete it? i I'm honestly so confused of the final outcome

    Btw, I apologize for the all-caps. I just noticed after I had submitted this

    opened by titonova 1
  • When would wave support Laravel 9

    When would wave support Laravel 9

    Firstly, I would like to apologize for using an unconventional means to make this discussion. But considering that discussions are turned off, I had to. I'm sorry.

    I just would like to ask, is there any plan soon for wave to support Laravel 9? As i am not a pro member, I do not know if there are any steps/discussions being made to allow Wave to support Laravel 9.

    The reason I ask is because I was planning to get involved in upgrading Wave to Laravel 9, and merge it as a pull request. But I want to be sure that there are no already set plans for that to prevent conflicts and prevent me from wasting my time.

    Thank so you much for you anticipated reply. Keep up the good work!

    opened by titonova 1
  • Update default Tailwind theme dependencies

    Update default Tailwind theme dependencies

    This PR updates all dependencies of the Tailwind theme to their latest versions, also removed unused dependencies, and adds one new one. PR also fixes the toast and plan switcher functionality to work with Alpine 3 since updating broke them.

    This PR tags a new version of the default Tailwind theme, updating it to 1.1, and updates the built version of the theme that comes with Wave to match the new 1.1 version.

    If merged then this PR will supersede #19, IMO that's fine since there haven't been any updates since September. πŸ€·β€β™‚οΈ

    New dependencies (1)

    • @tailwindcss/forms

    Updated dependencies (14)

    • @tailwindcss/typography | 0.3.0 β†’ 0.5.0
    • alpinejs | 2.6.0 β†’ 3.5.1
    • autoprefixer | 10.2.4 β†’ 10.4.0
    • axios | 0.21.1 β†’ 0.24.0
    • glob-all | 3.1.0 β†’ 3.2.1
    • laravel-mix | 4.0.7 β†’ 6.0.39
    • laravel-mix-purgecss | 4.2.0 β†’ 6.0.0
    • laravel-mix-tailwind | 0.1.0 β†’ 0.1.2
    • lodash | 4.17.19 β†’ 4.17.21
    • postcss | 8.2.4 β†’ 8.4.4
    • resolve-url-loader | 2.3.1 β†’ 4.0.0
    • sass | 1.26.10 β†’ 1.43.4
    • sass-loader | 7.1.0 β†’ 12.3.0
    • tailwindcss | 2.0.2 β†’ 3.0.0

    Removed dependencies (5)

    • @tailwindcss/custom-forms
    • cross-env
    • less
    • less-loader
    • vue-template-compiler
    opened by thinkverse 1
  • Fix migration step

    Fix migration step

    To fix the following error while migrating: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table translations add unique translations_table_name_column_name_foreign_key_locale_unique(table_name, column_name, foreign_key, locale))

    opened by NawrasBukhari 1
  • Stripe integration

    Stripe integration

    Hey there!

    I'm testing the new Stripe integration that I've built. It works fine but test some of you and see if I missed something. Hope this will help a lot of people!

    This PR does not replace paddle integration, I designed it for work with both integrations, just choose what you want.

    opened by magarrent 6
  • Update README.md to include php extensions installations, as well as database & user creation.

    Update README.md to include php extensions installations, as well as database & user creation.

    Hey peeps!

    When I installed Wave on my server I got an error that I don't have ext-dom and other ext extensions. I installed them of course, but I think it is a good idea for people, not that engaged with PHP.

    I also added instructions for creating the database + user for the project.

    Let me know what you think!

    opened by denctl 1
Releases(2.0.1)
  • 2.0.1(May 6, 2021)

    This new version contains support for the new Tall stack theme available to users who have access to the Wave Pro repo: https://devdojo.com/wave#pro. This new theme makes it easy to build your application using the TallStack πŸ™Œ

    tallstack

    Upgrade Steps

    To upgrade to the latest version, you will need to download this version and replace the wave folder in the root directory with the wave folder in your application.

    There are a few small files that got changed in this update as well. Not a breaking change but some small updates that you may optionally change.

    Updated validation translations file

    This version has updated all english validation translations with the latest version. You can replace the file located at resources/lang/en/validation.php.

    Updated tailwind theme settings/invoices page

    Finally, there is a small update that will cause an error on the /settings/invoices page if the user does not have any active invoices. You can make this update in 2 different ways.

    • Replace the file located at resources/views/themes/tailwind/partials/plans.blade.php
    • Or you can replace line 11 and 48 with the following: https://github.com/thedevdojo/wave/commit/51948863f7af3a9101d9996fad04f7aadd793104#diff-8ecd4c30c57f5312f16cea2b263aaba94c8ad5da1625fa03f9e0fcf6305c5b34R11-R48

    There are many more awesome things coming to Wave very soon 😎

    Remember if you wish to support the Wave Project and want to access some premium resources. Be sure to check-out DevDojo pro at https://devdojo.com/pro

    Happy SaaS Building πŸ‘

    Talk to you soon.

    Source code(tar.gz)
    Source code(zip)
  • 2.0(Apr 12, 2021)

A Laravel-Vue-Tailwind SAAS Starter Kit.

Super SAAS Template My name is Julien Nahum, I've founded multiple Software-As-A-Service companies. This repo is the base I'm using to create a new SA

Julien Nahum 12 Aug 5, 2022
Laravel API starter Kit will provide you with the tools for making API's that everyone will love

Laravel API Starter Kit Laravel API starter Kit will provide you with the tools for making API's that everyone will love, API Authentication is alread

Jose Luis Fonseca 389 Sep 8, 2022
A Laravel Starter Kit for Laravel. Built with Laravel 8.

Laravel Get Started Project Laravel Get Started Project is a basic crud app built with laravel 8. In this app a basic product crud created. Features i

Nazmul Hasan Robin 7 Dec 5, 2021
Laravel + Livewire + Bootstrap 5 UI starter kit.

bastinald/ui Laravel + Livewire + Bootstrap 5 UI starter kit. Requirements Laravel 8 NPM Features Bootstrap 5 pre-configured Textarea autosize Floatin

null 75 Aug 24, 2022
a free, open-source dashboard panel starter kit for Laravel

QAdmin a free, open-source dashboard panel starter kit for Laravel. Just intall and everything is ready Tech Stack Client: ruangAdmin, Bootstrap, Jque

null 29 Aug 9, 2022
One click, Fully Decoupled Drupal Site starter-kit with Druxt

DruxtSite quickstart - Drupal One click, Fully Decoupled Drupal Site starter-kit with Druxt. DruxtSite connects Drupal to Nuxt via JSON:API to provide

DruxtJS 11 Sep 2, 2022
Dynamic Framework :: A PHP starter kit for Noobs

A PHP starter kit for Noobs Author : Abdulbasit Rubeiyya The dynamic framework is not exactly a framework, but more of a starter kit for you, the thin

Abdulbasit Rubeiyya 1 Mar 24, 2022
Starter-kit for running a Drupal 9 website with Tome in Gitpod

DrupalPod + Tome Starter-kit Starter-kit for running a Drupal 9 website with Tome in Gitpod Getting started Click the Use this template button in GitH

DrupalPod 3 Apr 15, 2022
Starter-kit for running a Drupal 9 website in Gitpod

DrupalPod Starter-kit Starter-kit for running a Drupal 9 website in Gitpod Getting started Click the Use this template button in GitHub and follow the

DrupalPod 8 Apr 15, 2022
A simple starter kit for using TypedCMS with the Laravel framework.

TypedCMS Starter Kit for Laravel Our stater kits are tailored solutions for each platform, unlike the simple API wrappers offered by other vendors. Th

TypedCMS 1 Nov 20, 2021
πŸ”ͺ WordPress + React Starter Kit: Spin up a WordPress-powered React app in one step

Postlight's Headless WordPress + React Starter Kit is an automated toolset that will spin up three things: A WordPress backend that serves its data vi

Postlight 4.3k Sep 20, 2022
πŸ‘” Enterprise Web application starter kit or template using Laravel

Laravel Enterprise Starter Kit (LESK) Description LESK, is a template project based on the Laravel LTS, combining a set of features that can kick star

Sebastien Routier 1 Dec 31, 2020
Laravel React Webpack Starter Kit

About Laravel Laravel React Webpack Starter Kit This starter kit is designed to get you up and running with with react.js with Laravel, built on top o

Biju Nakarmi 33 Sep 4, 2020
A Laravel-Nuxt starter kit.

Laravel-Nuxt A Laravel-Nuxt starter project template. Features Nuxt 2 Laravel 8 SPA or SSR Socialite integration VueI18n + ESlint + Bootstrap 4 + Font

Cretu Eusebiu 1.1k Sep 19, 2022
A Laravel-Vue SPA starter kit.

Laravel-Vue SPA A Laravel-Vue SPA starter kit. Features Laravel 8 Vue + VueRouter + Vuex + VueI18n + ESlint Pages with dynamic import and custom layou

Cretu Eusebiu 3k Sep 28, 2022
A starter kit that integrates Laravel with Vue CLI, Inertia.js, TailwindCSS and Vuetify

Laravel Viltify Laravel Viltify is a heavily opinionated Laravel starter kit. It's intent is to seamlessly integrate V ue, I nertia.js, L aravel, T ai

Matheus Dal'Pizzol 46 Jul 13, 2022
An administration starter kit for Laravel.

Craftable About Demo Packages used Requirements Installation New project Add to existing project Basics Documentation Where to go next? About Hi Craft

BRACKETS 845 Sep 22, 2022
It's a dashboard theme/UI-Starter Kit with Laravel, Inertia and Vue (JetStream).

TailAdmin Inertia It's a dashboard theme/UI-Starter Kit with Laravel, Inertia and Vue (JetStream). Setup Directions npm install composer install Chang

Sinan AYDOĞAN 101 Sep 18, 2022
Laravel Boilerplate / Starter Kit with Gentelella Admin Theme

Laravel Boilerplate Project Laravel Boilerplate provides a very flexible and extensible way of building your custom Laravel applications. Table of Con

Labs64 837 Sep 12, 2022