Folks – I’m really excited to share that I’ve launched version 1 of Bowsley. It’s a tool built on top of Laravel Forge that automates the collection of hosting fees from clients. It also automatically handles late payments by temporarily disabling the website after a configurable grace period has passed. I built it to solve… Continue reading Bowsley is… live!
If you’re using Bitbucket, then using their Pipelines feature as your CI/CD tool is a natural choice. Here’s a pipeline script that I use as a starting point for my new projects. For every pull request created, the pipeline will perform the following tasks: Running your test suite. Ensuring code standards are adhered to. Running… Continue reading Setting up a simple Bitbucket pipeline for a Laravel application
I started building an app in public: Bowsley, an app to add reseller hosting features to Laravel Forge. The idea is simple. Collect hosting fees from clients without you having to chase them. In the spirit of openness, this is the first part in a series of posts that explains the process. Coming up with… Continue reading Bowsley – building a Laravel application in public
At the early stages of a tech startup, the amount of DevOps work required is very limited. This makes it unfeasible to get an expert to handle your server and application setup. A more likely scenario is that you, as tech lead, will need to handle this yourself. Here’s the strategy I’ve used for many… Continue reading Early stage DevOps strategy for launching your Laravel application
Part of creating a successful Staging and Test environment for your application is generating dummy data as part of your deployment process. This dummy data is used during development, the QA process and even for feature demos. Making it easy for application states to be achieved with minimal “setup” (that tends to be tedious, data-entry… Continue reading Why dummy data matters – and how to generate it
As of 3rd July 2018, Malta has become the first country to provide a legal framework for businesses working in the blockchain space. That and the friendly political attitude towards blockchain-based companies means that more foreign companies (like Binance) will set up shop in Malta, more local companies (like Intelliblock) will emerge and more opportunities for blockchain developers & consultants, corporate & legal services and marketing services will be there for the taking.
Recently I’ve had to interact with a number of SOAP web services, and I’ve come up with some techniques to help build good SOAP web service consumers. The two most important goals when building a SOAP consumer is for the code to be maintainable and testable. Dark Beginnings A natural first approach is to write one class that… Continue reading Writing SOAP Web Service Consumers in PHP
For some reason, I always have trouble setting up Font Awesome (quickly) with Laravel & Elixir. It’s three easy steps. Pull in font-awesome with npm or yarn Import Font Awesome’s stylesheets in your app.scss file Copy Font Awesome’s font files to your public directory Configure Elixir to do this automatically for you in your gulpfile: This… Continue reading Copying Font Awesome Fonts with Laravel Elixir
I created a staging environment that I’m proud of, and I’d like to share it with you. I wanted my staging environment to accomplish two things: Always show the latest version of the project Be automatically populated with dummy data The Staging Server Accomplishing the above is easy with Forge and Laravel. The first step in… Continue reading The Perfect Staging Environment
Amo Chohan wrote a very good article detailing a technique he uses to clean up controllers when dealing with complex search queries in eloquent. I’m also enjoying Adam Wathan‘s latest release: Refactoring to Collections – a read guaranteed to make you smarter. Amo really nailed the functionality here – but I think the final class… Continue reading Refactoring Advanced Eloquent Filters To Collections