Metadata

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

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.

For some actions involving migrations it is required to install the doctrine/dbal package. If you plan to e.g. modify existing columns to make them nullable, make sure to include this package!

File Storage

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

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.

Utility
Traditional Servers
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

If you choose to use Redis for your queues, it makes sense to also include Laravel Horizon. Horizon allows you to easily monitor key metrics of your queue system such as job throughput, runtime, and job failures.

Mail

Laravel provides out-of-the-box support for sending mail via sendmail and SMTP. Additional drivers can be installed for popular services like Postmark or Mailgun. Alternatively, you can easily configure one of the 3rd party transports supported by Symfony Mailer.

Additional Driver Documentation

Mailpit is included by default to ease local development. It intercepts mails sent by your application and displays them in a simple web interface.

Broadcasting

Websockets enable real-time updates for events in your applications. This is realized on the client-side by installing Laravel Echo, but the server needs a long-running component to push updates to the clients.

Laravel supports services such as Pusher or Ably, but the community has developed several packages as well, that let you self-host the websocket server for free alongside your application.

Additional Channel

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.

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.