Open in app

Sign In

Write

Sign In

Craig Morris
Craig Morris

155 Followers

Home

About

Jun 12, 2021

4 Strategies for Future Events with Event Sourcing

Most systems will have to deal with future or deferred events. Even the most common example of software on the web — a blog — will have the ability to “publish” a post in the future at a certain time. When that time is reached, the read model should return…

Event Sourcing

5 min read

4 Strategies for Future Events with Event Sourcing
4 Strategies for Future Events with Event Sourcing
Event Sourcing

5 min read


Apr 8, 2021

Laravel Octane on Heroku

Laravel Octane is a new way of running Laravel applications at super high speeds: “Laravel Octane supercharges your application’s performance by serving your application using high-powered application servers, including Swoole and RoadRunner. Octane boots your application once, keeps it in memory, and then feeds it requests at supersonic speeds.” Swoole…

Laravel

2 min read

Laravel Octane on Heroku
Laravel Octane on Heroku
Laravel

2 min read


Jan 13, 2021

A “default first” approach with Tailwind

Tailwind CSS is a mobile first, utility CSS framework which will vastly increase productivity while implementing designs in your web app or website. A small DX improvement I make in my Tailwind projects, which I’m describing as a “default first” approach (this is a semi-joke derived from mobile first). It…

Tailwind Css

1 min read

A “default first” approach with Tailwind
A “default first” approach with Tailwind
Tailwind Css

1 min read


Jan 13, 2021

Continuous Laravel Blueprint DX

Laravel Blueprint is a wonderful tool that helps scaffold Laravel apps in the early stage of development. It uses a simple YAML format, like the below: Then run php artisan blueprint:trace and the models, migrations, factories, Nova resources will all be generated. This saves a lot of time, but…

Laravel

1 min read

Laravel

1 min read


Dec 1, 2020

Put tests next to what they’re testing in Laravel

This is a matter of personal preference, it basically means that if you have a file, say app/Services/Calculator.php and you wanted to write a test for this class, instead of hiding the test away in a tests/Unit/Services/CalculatorTest.php …

Test Driven Development

1 min read

Test Driven Development

1 min read


Nov 26, 2019

Laravel on Heroku: The Ultimate Guide

Heroku provides a good base level guide to get a Laravel running on its platform, however, it really stops at the bare minimum. We’ve got 10+ (micro-ish) services running in production on Heroku and over the years we’ve fine tuned our setup to ensure that these apps are performant and…

Laravel

5 min read

Laravel on Heroku: The Ultimate Guide
Laravel on Heroku: The Ultimate Guide
Laravel

5 min read


Sep 9, 2018

Better Environment Variable Management in Laravel and Node

I think point 3 of the 12 factor app is one of the most important and easily achievable factors to achieve. Frameworks like Laravel encourages this behaviour out of the box, with the loading of the .env file and the config directory for the different services the application might do…

Laravel

2 min read

Laravel

2 min read


Jul 5, 2018

Single File (WordPress) Components

Every developer loves to hate WordPress, and they have good reason to! It’s built on PHP which has its many flaws and does not follow any modern software architectures. However, there’s no denying the popularity of the “platform”, it powers 20% of the internet and as such there is a…

Web Development

2 min read

Web Development

2 min read


Jul 5, 2018

The URI is the best place to store state

If you have state that can be stored in the URI, I highly suggest you store it there, because: It’s understandable by the user The user can easily change it It can be easily shared It can be easily saved / bookmarked It’s had “Time Travel” since the first browser Normal users can time travel through their state (no devtools)

1 min read

1 min read


May 15, 2018

Laravel Firebase Auth

If you authenticate with Firebase in your app, authenticating with your API is very easy, as the Firebase token is a JWT. All we really need to is implement a Guard with a user function that returns an Authenticatable object. Because our user is actually stored in the JWT token…

API

1 min read

API

1 min read

Craig Morris

Craig Morris

155 Followers

Solutions Architect. Technical Lead. Full-stack Developer. http://craigmorris.io

Following
  • Freehand by InVision

    Freehand by InVision

  • Telmo Alves

    Telmo Alves

  • MC Dean

    MC Dean

  • Dropbox

    Dropbox

  • Peter Warner-Medley

    Peter Warner-Medley

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech