Image for post
Image for post
Photo by Fotis Fotopoulos on Unsplash

Recently I had a good idea for a SaaS side-business. I thought. But I made a big mistake that in the end cost me a week of time. I want to share with you what I could have done to avoid that failure.

Just to be honest: I didn’t have the perfect business idea, yet. But I’m always eager looking our for opportunities. You may be the same kind of person, that’s why you are currently reading this article. I’m a web developer and I have quite some experience with designing, building and operating web applications. …


When Vapor was released in Summer 2019 many developers considered it as the all-in-one solution for one of their main issue with developing great software: Hosting it in a scalable and cheap way.

Laravel’s latest commercial product promises to solve this issue in a Laravel-agnostic way: Hosting the project on AWS Lambda and leverage the auto-scaling features of Amazon’s cloud services. But there are issues and limitations with this way of hosting your (profitable) side-business. …


Image for post
Image for post
Photo by Felicia Buitenwerf on Unsplash

Laravel 8 introduced a new “beautifully designed application scaffolding” that is supposed to give you “the perfect starting point for your next Laravel application”. While this sounds great, the community actually reacted kind of ambivalent to this new release.

This is something that shouldn’t be a problem in a healthy open-source community. Debian, which is a widely used Linux distribution, had a huge discussion about the introduction of systemd in 2013 and in 2019 voices were raised that there should be even another vote about the subject of controversy.

However when dealing with the (current) Laravel community you can’t expect those kind of differentiated discussions. There were a few posts about the initial experience with Jetstream in the /r/laravel sub-reddit and Taylor — the maintainer of Laravel — ultimately tweeted that “nights like tonight” make him consider moving Jetstream to closed source. …


Image for post
Image for post
Symbolic Image for Rate Limiting (by twinsfisch — unsplash.com)

Whenever you develop a Laravel-based application that makes it into production you’ll probably provide some kind of API. Either for internal usage or for the customer to consume. However you most likely want to install some kind of rate limiting mechanism to make sure nobody is overusing your API and thus risking to take down your hosting infrastructure.

A well-known mechanism to prevent APIs from being overloaded with requests (kind of DoS) is a rate limiting. You’ll define a maximum number of requests in a given amount of time and when a client hits that maximum your web server will answer with HTTP 429 Too Many Requests. …


The latest Larvel 5.7 ships with a new small feature (see PR) that enables you to except URIs from maintenance mode, which can be pretty handy if you want your users to access pages even when your application is down.

Image for post
Image for post

When you are running your online business within the European Union you usually need to put your name, address and contact possibilities on your website to comply with EU law (please be aware that this is not a legal advice).

In the past this was quite difficult to achieve when using the maintenance mode in Laravel. You were required to put your contact information on your 503.blade.php template. Since Laravel 5.7 the basic laravel/laravel composer package ships with a CheckForMaintenanceMode default middleware that defines an empty $except array. …


Image for post
Image for post

When working at the laravel/framework repository you may want to setup your development environment accordingly to run all the unit tests to verify that you did not break anything during coding.

I’m using macOS High Sierra and Docker to comply with the phpunit setup of the Laravel framework. First of all you need to make sure to clone your forked GitHub repository of the laravel/framework repo.

git clone https://github.com/<username>/framework

After that you need to pull the missing vendor requirements using composer . I’m assuming that you are running Homebrew as packet manager and have PHP ≥7.2 in place. …


When tinkering around with Laravel you usually won’t think about some practical considerations you should watch out for, when developing an application that will go live one day. I recently put a Laravel-written web application into production and I wish there was an article like this one that tells me about things I should do or use to make my life much easier.

Also — I’ve recently started a whole “Laravel in production” series. It starts off with an article about Laravel’s built-in rate limiting features and why you should consider putting the rate limiting on the edge of your web-server stack (e.g. …


When using Laravel ≥ 5.7 you should use the new built-in MustVerifyEmail contract. Check out this free Laracasts video for details about the usage!

When it comes to user registration and account creation in your web app, you usually don’t only want to verify the pure correctness of an e-mail address according to a regular expression. You also may want to verify the existence of a mailbox behind the address your user provided. …

About

Tobias

DevOps Engineer — I’m building and breaking stuff that is related to web development.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store