Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/axeldotdev/ssk

The SaaS Starter Kit (SSK) help you build your app quickly.
https://github.com/axeldotdev/ssk

inertia laravel saas shadcn starter-kit tailwindcss vue

Last synced: 3 months ago
JSON representation

The SaaS Starter Kit (SSK) help you build your app quickly.

Awesome Lists containing this project

README

        


SSK UI Screenshot



PHP 8.2


Laravel v11.x


Inertia v1.x


Vue v3.x

# SaaS Starter Kit (SSK)

The main goal of SSK is to help you (and me) build app quickly and it brings a ton of cool features on top of Laravel Breeze.

But my other goal is to use it as a storage for all the class, enums, traits, configs and other stuff that I use in every app I work on. And I hope it will be usefull for you too like a big Gist.

You can also use the [Livewire version here](https://github.com/axeldotdev/ssk-livewire).

## Installation

```bash
git clone [email protected]:axeldotdev/ssk.git your-project-name
cd your-project-name
composer install
cp .env.example .env
php artisan key:generate
php artisan storage:link
php artisan migrate
npm install
npm run build # npm run dev
```

By default the database is **SQLite** and the session, cache and queues are stored in it. It allows you to start building your app quickly and focus on the system later.

Horizon is installed and configure so you can switch your queues to redis very quickly.

**SSK** is just a wrapper around **Laravel Breeze** who is a wrapper around **Laravel**. You have all the power to modify it to suit your need.

## Available Features

- πŸ§‘β€πŸ’» Login and registration with email, phone, Google or Microsoft
- βœ… User verification via email or phone (depending on the sing up method)
- πŸ”‘ Reset password for email
- πŸ“œ Privacy policy and Terms of service pages (with localized markdown files)
- 🀝 Onboarding (account, company, collaborators)
- πŸ§‘β€πŸ’Ό Collaborators invitation by email or phone
- 🏁 Multiple tenants (companies)
- πŸ”¬ Active sessions management *[coming soon]*
- πŸ–‹οΈ Company transfer ownership *[coming soon]*
- πŸ” 2FA *[coming soon]*
- πŸ’» API via token *[coming soon]*
- πŸ” Global search with shortcuts *[coming soon]*
- πŸ“– API documentation (with localized markdow files)
- πŸ‡ΊπŸ‡Έ English and πŸ‡«πŸ‡· French translations
- 🚦 Multiple feature flags (to enable the features listed above)

## Features Flags

To activate or deactivate a feature, you just need to open the class and change the boolean returned in the `resolve` method.

The features are located in the folder `app/Features`.

### SignViaEmail

Allows you to login and register via an email address.

### SignViaPhone

Allows you to login and register via a phone number.

### SignViaSSO

Allows you to login and register via a SSO provider.

You can add providers in the `config/socialstream.php` file and register the env variable in the `config/services.php` file.

SSK comes with Google and Microsoft by default.

### VerifyUser

Allows you to verify the user by email or phone according to his sign method.

### OnboardUser

Allows you to show an onboarding view to help user start using your app and register some important informations.

The onboarding feature just give you a basic system, it's up to you to add forms and other things into it.

### ApiTokens

Allows you to manage API tokens.

It comes with a view that list tokens and a form to create them. The tokens are default Laravel Sanctum tokens scoped on users.

### ApiDocumentation

Allows you to show an API documentation in your app when the user is authenticated.

The API works with markdown file so it's really easy to use, no PHP or Vue to add.

## Upgrading

If you need to upgrade your project to the newer version of SSk, we recommend you to follow [the upgrading guide](UPGRADING.md).

But! SSK is a starter kit and once you use it to init your project, the code is yours and you don't really need to upgrade to follow the newer version.

## Testing

```bash
php artisan test
```

## Changelog

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

## Contributing

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

## Need Help?

🐞 If you spot a bug, please [submit a detailed issue](https://github.com/axeldotdev/ssk/issues/new?assignees=&labels=bug&template=bug_report.md), and wait for assistance.

πŸ€” If you have a question or feature request, please [start a new discussion](https://github.com/axeldotdev/ssk/discussions/new). For quick help, ask questions in the appropriate channel.

πŸ” If you discover a vulnerability, please review [our security policy](../../security/policy).

## Security Vulnerabilities

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

## Credits

- [Axel Charpentier](https://github.com/axeldotdev)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.