Middleware
This might be a scary subject for most, but middleware gives you so much flexibility if you need to implement functionality that needs to be handled on every request, or on a group of requests.
Do not make middleware if you only need the functionality on a single request and you might never need to extend it to more requests.
This is obviously up to your discretion but use it wisely, with great power come great responsibility.
Authorization
In addition to providing built-in authentication services, Laravel also provides a simple way to authorize user actions against a given resource. For example, even though a user is authenticated, they may not be authorized to update or delete certain Eloquent models or database records managed by your application. Laravels authorization features provide an easy, organized way of managing these types of authorization checks.
Validation
