We love to build web applications. Since we started PLint-sites in 2013, we developed a variety of applications, from tools that automate important business processes to user-friendly webshops. Although these applications may look very different from the outside, there is a lot of overlap in the fundamental setup. Most applications need routing, user management, authentication, emails and many other common features. We don’t want to reinvent the wheel in every project, so we use the Laravel framework. It has everything we need to quickly scaffold a new project and extend it with every custom feature we like.
The framework is well documented and actively maintained by a broad community. New features are continuously added, security updates are released when needed, and there are lot’s of open-source third party packages available to extend the basic functionality of Laravel. By using Laravel, we are able to focus on the project itself, whether it’s a small website or a big application.
In this post, we provide an overview of projects and posts related to application development with Laravel.
Projects
We use Laravel in many projects. Below you’ll find a selection of applications that are publicly available. Please note that most are in Dutch only!
- Webshop Horren.com
- Webshop Finefoods Online
- Cycling blog Train-mee
- BabyChart
- CyclingStory’s Koersspel
- Our website plint-sites.nl
- Uitvaart Utrecht
Overview posts
There are many aspects related to developing web applications using Laravel. Below you’ll find an overview of the posts we wrote about Laravel, grouped by subject.
Local development
For local development, there are several options. We use Homestead, a vagrant box that provides a simple way to manage a Virtual machine including Nginx, PHP, MySQL and redis. We wrote a post on using SSL on Homestead and another post on updating your Laravel Homestead Box when new versions are released.
Server management and deployment
Obviously, a Laravel application that’s developed locally, should be deployed to a live server at some point. We use Laravel Forge and Envoyer to deploy our applications. When applications grow larger, a more advanced server setup may be desired, and this can still be achieved by using Forge and Envoyer.
Queues and other background processes
Queues and background tasks are important in many applications. We described how to handle cron jobs in a Laravel application. Queues can easily be managed using the Horizon package. However, in specific situations, you may have one server with multiple applications that all make use of queues. This requires some specifics in the setup which are described in Running queues for multiple applications on the same server with Laravel Horizon.
Laravel basics
The basic features of Laravel are well described in the official documentation. However, for some subjects, we described how to implement them in real world applications.
- Customizing emails in Laravel
- Eloquent relations in Laravel
- Accessors and mutators in Laravel
- Validation of requests in Laravel
- Validation of user input with a request in Laravel: authorization
- Protect your images in Laravel
- Laravel’s view composers
- Optimizing CRUD operations: inserting data into a database
Javascript
Many applications have a frontend that makes use of Javascript. We wrote a post on using Javascript in a Laravel application and a post on Laravel-mix and the spread operator.
Applying Laravel
In the end it’s all about using Laravel in real world applications. We wrote a blog series on using WordPress as a headless CMS for a Laravel application. In the first post, we describe how to set up WordPress for this purpose. The second post describes how to connect the Laravel app to the WordPress system and the final article describes how to get the data from WordPress to Laravel.
In another series, we describe how to build a basic admin panel using Laravel including authentication, authorization and CRUD operations.