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 SAAS. I'll do my best to keep it up to date, but feel free to contribute.
Note that I built this template from the code of my last SAAS: NotionForms, so it might look a bit odd in some places.
- Laravel 8
- Vue + VueRouter + Vuex + VueI18n + ESlint
- Pages with dynamic import and custom layouts
- Login, register, email verification and password reset
- Authentication with JWT
- Socialite integration
- TailwindCSS v2
- Multiple Front-end components (forms, buttons, nav)
- Welcome Page
- Pricing Page
- Admin space with user impersonation
- Stats with Laravel Model Stats
composer create-project --prefer-dist JhumanJ/laravel-vue-tailwind-spa
- Edit
.env
and set your database connection details - (When installed via git clone or download, run
php artisan key:generate
andphp artisan jwt:secret
) php artisan migrate
npm install
# Build and watch
npm run watch
npm run production
This project comes with GitHub as an example for Laravel Socialite.
To enable the provider create a new GitHub application and use https://example.com/api/oauth/github/callback
as the Authorization callback URL.
Edit .env
and set GITHUB_CLIENT_ID
and GITHUB_CLIENT_SECRET
with the keys form your GitHub application.
For other providers you may need to set the appropriate keys in config/services.php
and redirect url in OAuthController.php
.
To enable email verification make sure that your App\User
model implements the Illuminate\Contracts\Auth\MustVerifyEmail
contract.
# Run unit and feature tests
vendor/bin/phpunit
# Run Dusk browser tests
php artisan dusk