Welcome to the first issue of my new series! At the end of each month, I aim to write a round up of the some of the month's news from the Laravel and web development community.
This month, we have a new Laravel documentary trailer, some cool new products and packages and 6 new releases of Laravel.
If you have any ideas of particular news you'd like me to cover in the future issues, make sure to let me know!
Laravel Origins: The Documentary
The trailer for an exciting new documentary called "Laravel Origins: The Documentary" was released this month. The documentary is set to be launched on 2nd March and will be all about the history of Laravel and how it got started.
Personally, I'm looking forward to watching this documentary when it's released. For the past 4 years of my life, building websites and web apps with Laravel has been my primary source of income. So, I think it'll be really inspiring to hear how the framework went from just an idea in someone's head into a framework that's used by thousands of develpers around the world.
If you haven't already seen the trailer, you can check it out here:
"Saloon" PHP Package
As it's described in the GitHub repo, Saloon is "a PHP package that helps you write beautiful API integrations. It introduces a standardised, fluent syntax to communicate with third party services and has out of the box support for Laravel".
It provides an object oriented approach that you can use for building requests to APIs. To understand it a bit more, let's take a look at the basic example in the documentation:
1use App\Http\Saloon\Requests\GetForgeServerRequest;23$request = new GetForgeServerRequest(serverId: '123456');45$response = $request->send();6$data = $response->json();
As you can see, it allows you to bundle your requests into objects. In my own personal projects, I try and use an approach similar to this because I find it manageable and testable. So, it's really cool seeing a package like this that will be feature-rich and tested. It's definitely something that I will be using in my future projects.
The service aims to take away the stress of handling the distribution of your apps, so that you can focus on your code and building awesome new features for your users. It has plug & play support for Electron, PHP (Composer), Python (PyPI), and NodeJS (NPM).
At the moment, I don't have any paid products, so I don't have a need for this service. But, if I create a paid product or PHP package in the future, I'll definitely be using this. So, if you're thinking of releasing any new software this year, I'd recommend checking out Unlock and seeing if it's right for you.
"Showcode Desktop" App Launched
Steve is actively adding new features to Showcode and, it appears that everytime I look at the site, there's a new cool feature that's been added.
At the time of writing this post, you can download Showcode Desktop for $19.99. That will get you updates for a year, offline and unlimited tabs & templates. However, judging from how many new features have been added recently, I'd expect there to be even more new additions to the desktop app to be added regularly.
If you're interested in downloading Showcode Desktop, you can purchase it and download it here from Unlock (yes, the Unlock we were just discussing above).
"Peppermint v0.2" Tagged
Peppermint is an open-source, self-hosted ticket management/help desk solution built with Next JS. The project is still in it's early stages, but the latest version has some new improvements, such as:
- Support for personal and ticket-related file uploads.
- Markdown support for ticket creation.
- Improved ticket detailing.
- A UI/UX overhaul using Tailwind
- Personal notebooks
- Full mobile responsiveness
It looks like Jack also has plenty of new features lined up to add soon. So, make you sure to head over to the Peppermint GitHub repo and drop a star to show your support!
Here's a quick sneak peek of what Peppermint looks like so far:
Switching to Fathom Analytics
This month, I decided to make the switch from Google Analytics to Fathom Analytics for my website's analytics. It's something that I'd been meaning to do for a while but kept pushing to the bottom of my to do list. But, after reading their "Your website analytics are breaking the law", I decided to finally make the jump. I've only been using the service for less than a month, but so far, I'm loving the simplicitly of the dashboard and how easy it is to navigate.
Building a Chrome Extension
Mango Two is a browser extension that you can use for generating short URLs. It's not intended to be a new, fancy product; it's purely an educational project for myself. But, once it's in a releasable state, I'll make sure to make the GitHub repo public so that other people can contribute to it and improve it.
So far, the extension is being built with TypeScript. To generate and serve the shortened URLs, it uses a simple API that I have built using Laravel and my own Short URL package.
I've already found this to be a valuable learning experience because I've had a chance to delve into different TS/JS concepts like promises and the different build tools that exist. The best part is that by the end of the project, I'll also have a cool fully functioning browser extension that you can download to use yourself.
Updating Packages for Laravel 9
Another of my goals for 2022 was to contribute more to open-source projects than I did in 2021. So far, this month, I managed to make 4 pull requests to other people's projects that were merged:
- Added steps for upgrading Nginx (#73)
- Added 'sole' method to Laravel 9 upgrade guide (#7593)
- Updated code to use
- Updated code to use
- Moved config and routes out of 'src' folder (#20)
If you're interested in checking out the entire changelog for each of the releases, I recommend checking out the release notes for each one on GitHub. Here are the main additions that were added in the releases:
- Added ability to define extra default password rules (#40137)
- Added a
mergeIfMissingmethod to the Illuminate Http Request class (#40116)
- Enable only-to-others functionality when using Ably broadcast driver (#40234)
- Added ability to customize json options on JsonResource response (#40208)
pipeThroughcollection method (#40253)
- Added onLastPage method to the Paginator (#40265)
- Allow method typed variadics dependencies (#40255)
ably/ably-phpto composer.json to suggest (#40277)
- Implement Full-Text Search for MySQL & PostgreSQL (#40129)
- Added whenContains and whenContainsAll to Stringable (#40285)
- Support action_level configuration in LogManager (#40305)
- Added whenEndsWith(), whenExactly(), whenStartsWith(), etc to Stringable (#40320)
- Makes it easy to add additional options to PendingBatch (#40333)
- Added method to MigrationsStarted/MigrationEnded events (#40334)
- Allow enums as entity_type in morphs (#40375)
- Added support for specifying a route group controller (#40276)
- Added phpredis serialization and compression config support (#40282)
- Added a BladeCompiler::render() method to render a string with Blade (#40425)
- Added a method to sort keys in a collection using a callback (#40458)
- Allow caching to be disabled for virtual attributes accessors that return an object (#40519)
- Added better bitwise operators support (#40529, def671d)
- Added getOrPut on Collection (#40535)
- Improve PhpRedis flushing (#40544)
Hopefully, this post should have shown you at least one cool new thing from the web dev world in January 2022.
If you enjoyed reading this post, I'd love to hear about it. Likewise, if you have any feedback to improve the future ones, I'd also love to hear that too.
If you're interested in getting updated each time I publish a new post, feel free to sign up for my newsletter below.
Keep on building awesome stuff! 🚀