It has now been just over a year since I last published an article to my site. A lot has changed in both my life, and on this site, as you’ve probably noticed by now.
The purpose of this article is to give you a glimpse into the future of ollieread.com, as well as give you some information on what I’m working on, and what I will be working on.
The last year of my life has been jam packed, primarily off the back of my daughter being born on the 1st of November 2018. I’ve been here, just had little time to work on any public content, jumping between client work and being a Dad.
A few months ago my partner, and baby mama joined my company, Sprocketbox Ltd as a director, and took on her first solo contract. She’s absolutely smashing it.
Over the past few months I made the decision to move ollieread.com to be a property of Sprocketbox Ltd, my company. The only thing this will change, besides being able to claim the tax back on ollieread.com related purchases, is that all content released by myself whether premium or open source, will be released under the sprocketbox brand. Essentially, packages will be hosted and released by the sprocketbox github organisation.
You’ll have noticed by now that the site has had a complete overhaul, replacing the old pixelart styled design with a cleaner one. There’s still a pixelart me sprite, yes I meant sprite, hover over it.
The entire codebase was built from the ground up, all of which is available on github. The architecture of the new site is very different to the old one, sporting a modular styled approach and utilising actions and operations over controllers and repositories (I’m going to write an article about it).
While the site is still a work in progress, there are 2 notable features.
I was previously using Disqus, but I decided to sack that off and write my own. No more JS files injected randomly into the page. The comments support full markdown including GitHub flavoured markdown to help with users trying to debug their code.
You’ll notice that all articles now have a list of topics and versions (if they have them, admittedly this one doesn’t). This allows me to link content to specific topics and specific versions of supporting software. At the time of writing this it doesn’t do much besides display, but I’m working on the ability to filter by both of these, allowing you to find content that matches exactly what you need.
Besides client work and this site, I have been working on, and will be working on, a whole bunch of content.
As you may have seen, I have been working on a course called Multitenancy with Laravel.
You may be familiar with the Kitchen Sink Academy, a subscription based course/lesson service that I announced, stupidly, not long before my daughter was born. This is still in the works, and something I’ll be jumping straight back into once I’ve finished Multitenancy with Laravel.
These are the only courses I have planned right now, but I definitely want to look into the possibility of creating more in the future.
I have a whole wall of post-it notes listing many topics that I’m going to write about. Many of these planned topics/articles will make use of a new feature I’m working on, called Article Series. This feature will let me break the articles down into smaller articles, linking together under one overarching series, hopefully making it more digestable.
In the near future I’ll be announcing a release schedule for content, with the aim to publish a new article every X days/weeks/months.
Below is a brief look at some of the articles I have planned.
A writeup on the way I approached this site, dumping the old controller and repository for something akin to command queries, but not as restrictive.
A series covering the creation of RESTful APIs with Laravel.
Descriptive HTTP Methods
Using HTTP methods to more appropriately describe the request.
Descriptive HTTP Status Codes
Using HTTP status codes to more appropriately describe the response.
Utilising HTTP Headers
Turbocharging your API by utilising HTTP headers to their fullest potential.
A series exploring all of the different options for authorising users in Laravel.
A look into role based access control and how we can implement it with Laravel. (An update of my previous article).
A look into access control lists, specifically Laravels policies, and how we can implement them.
A look into how we can store a combination of up to 64 different permissions as a single 64 bit integer. (This site uses bitwise permissions)
Sometimes Laravels default Gate doesn’t cut it, lets see what we can do to change that.
A look into some common design patterns, from a purely PHP approach, including but not limited to:
- Pipeline Pattern
- Builder Pattern
- Repository Pattern
- Service Container Pattern
- Factory Pattern
- Proxy Pattern
- Facades & Service Locator Pattern
I’ve also got a number of packages in the works, for use on my own projects but also for release.
The multitenancy package.
The Nova alternative.
Improved blade components and prototyping tools.
An overhaul of Laravels authentication system.
An extension of Laravel Eloquents functionality.
Goes hand in hand with Eloquent+.
The successor to Articulate.
A whole bunch of component packages that nicely slot together as a framework.
The content I write on my site, though partly for me, is mostly for you. If there’s something in particular you’d like to see covered, something you’d like addressed, whether it’s an idea for a course, article or package, please get in touch. You can reach me on twitter @ollieread or join the discord.
Cover image by Matt Wojtaś