Metadata

Tell us a bit about the project you are creating.
8.6.8

Starter Kit

Laravel provides a few starter kits for your application, which provide various authentication features out of the box.

Authentication

Depending on which starter kit you choose, it might make sense to install additional packages. If you are unsure whether you need them or not, have a look at the authentication ecosystem overview section of the official documentation, which explains everything well.

Database

Choose one of the supported databases. In order to quickly spin up an in-memory database while running tests, SQLite is included by default.

Storage

Laravel integrates uses Flysystem to abstract away any filesystem, like your storage folder, remote FTP servers or cloud storage like Amazon S3 or DigitalOcean Spaces.

Some filesystems are not as popular, so they are not supported out of the box. Choose the ones you need from the options below. To simulate a S3-like filesystem, you can choose to include the MinIO sail service, which is api compatible with S3, but runs locally so you don't need to configure cloud storage for your local development needs.

Cloud

Cache

Some of the data retrieval or processing tasks performed by your application could be CPU intensive or take several seconds to complete. When this is the case, it is common to cache the retrieved data for a time so it can be retrieved quickly on subsequent requests for the same data.

The cache system is pretty flexible, so you can choose between a variety of drivers. Redis is used by default when setting up a new Laravel application and can also be used for other things, such as powering your background queues.

Driver Documentation

Queue

While building your web application, you may have some tasks, such as parsing and storing an uploaded CSV file, that take too long to perform during a typical web request. Thankfully, Laravel allows you to easily create queued jobs that may be processed in the background. By moving time intensive tasks to a queue, your application can respond to web requests with blazing speed and provide a better user experience to your customers.

Laravel queues provide a unified queueing API across a variety of different queue backends, such as Amazon SQS, Redis, or even a relational database.

Driver Documentation

Laravel Scout provides a simple, driver based solution for adding full-text search to your Eloquent models. Using model observers, Scout will automatically keep your search indexes in sync with your Eloquent records.

Currently, Scout ships with Algolia and MeiliSearch drivers. Writing custom drivers is simple, so you are also free to extend Scout with your own search implementations.

Driver Documentation

Development Tools

Debugging your application can be a pain, but Laravel provides some additional tools to make it a bit easier. Laravel Telescope provides a nice dashboard of all events, requests, jobs and everything else happening in your application and Mailhog enables you to preview your outgoing mails locally, instead of sending them.

If you find yourself ssh-ing into your remote servers and running the same tasks over and over, you should give Laravel Envoy a try. It enables you to define sets of commands locally using the already familiar Blade syntax.

Testing

Laravel ships with PHPUnit out of the box, but some might prefer using the newer Pest library. If you enable this option, the tests included with your starter will also use Pest.

If feature and unit tests are not enough, you can go one step further and test your websites using a real browser using Selenium and Laravel Dusk.

Payment & Billing

Dealing with money, credit cards or billing is always scary. Luckily Laravel Cashier provides first-party integrations for the popular payment processing platforms Stripe, Paddle and Mollie.

Simply choose an implementation and configure your credentials. We'll automatically add billing capabilities to your user model.

Cashier

Almost there

When you submit this form by pressing the red "Generate" button, a zip archive will be generated and downloaded. This archive contains a slightly adjusted version of the default Laravel application. Most importantly it contains a shell script which completes the initialization process and actually installs all selected components. So after you've downloaded and unzipped the archive, open a terminal in your project folder and run

./initialize

Alternatively you can check the generated Readme for further instructions. If you want to re-use or share your configuration, press the "Share" button to generate a link.