This is a Work In Progress project, I’m using this to document the progress!

So, I’m into 3D printing since I got my Creality Ender 3 last year, and I thought that things could be a bit more interesting with a Delta style printer. My choice was the FLSUN QQ-S Pro which has a larger build volume than the Ender 3 and has a relatively small, but solid community on Facebook behind it.

During the first print, a couple of ideas formed in my head, how to make the printer more quiet, because I like to leave the printers running…

During one of our dev runs, there were some fancy action requirements and I was really happy to find that Laravel Nova supports actions on the index table rows!

So imagine that how bummed we were when we found out that said actions don’t really know anything about the table row’s contents at which ones ends they are sitting at… even though it works just fine on the resource detail screen. But, as always, there’s a way, and you don’t even have to install a 3rd party library to solve this!

You only need to do a couple of things…

While the Duet Web Control is nice and RepRapFirmware is a proven and solid workhorse with proven track record, I’ve really wanted to get on the Klipper bandwagon!

I wanted to see what the Klipper Hype is all about and what It can do for me in print quality and ease of life aspects.

First of all: Klipper is an alternate firmware for your 3D printer which offloads the heavy lifting (calculations) to an external provider (Raspberry Pi, Laptop, Desktop, …). This allows for a whole lot actually! Imagine that your printer is still rocking that old and faithful 8-bit…

Visual Studio Code has been becoming one of the most versatile tools out there, for just about any kind of software development. Be it for DIY code hacking for Arduinos or professional level development with the aid of powerful extensions.

One of these extensions is the Remote Containers extension from Microsoft, which enables the developer to log into a docker container and use it as a full featured development environment.

This feature can be further augmented with the use of a .devcontainer/devcontainer.json

If you follow my stories, you probably know by now that I’ve got an ongoing fight to get Vuex properly working with my Laravel Nova admin site.

A quick recap

The first iteration was to attach a Vuex Store to the Nova global object, which works… but not an ideal one…

The second trial was to modify the Source files for Nova to access the Root creation and append my Vuex store there. (This is a viable approach if you don’t install Nova through composer). This approach was quickly deprecated by version 1.1.9 …

The last version of Nova, just got released a couple days ago with a round of bug fixes and while these are indeed good things, but for tool developers a nice little yet undocumented vue component has been smuggled in!

Progress Button

The new Progress button in action

The addition of the progress button component does not only make the UI fancier, but enables tool developers to rely a bit more on Nova’s very own components when creating a nice interface for the tool… (this also means quicker development as well). To check out the component just head to the `resources/js/components/ProgressButton.vue` file. Usage examples can be found through out the Nova base code, particularly in: Create, Update, Attach actions.

I certanly hope that with time, more and more of what Nova offers on the front-end side will be just as documented as with what’s on the back-end!

UPDATE: After 1.1.8 this solution has some issues which makes it conflict with the implementation for the Index view’s filters. This solution wasn’t even recommended to apply in the beginning…

UPDATE 2: There’s a follow up article which doesn’t involve editing Nova’s source files: Laravel Nova & Vuex… a future proof solution?!

If you found this article you’ve been probably asking the same questions as I have, and even found my previous article about this topic. …

Have you ever wanted to create that URL for your post in the model with storing only the slug? Or do some calculation based on your stored data?

Well, here’s the solution!

This is your average Laravel model:

namespace App;
use Illuminate\Database\Eloquent\Model; class Post extends Model {

First, we will add the custom attribute to our list, like this:

namespace App;
use Illuminate\Database\Eloquent\Model; class Post extends Model
* The accessors to append to the model's array form.
* @var array
protected $appends = ['url']; }

This is necessary for the model’s toArray()


Since Laravel Nova is the fresh kid on the block, the community is still working on how to best solve things and to come up with best practice solutions. Until a better solution comes around, extending the base Nova prototype is our best bet to use both Nova & Vuex in one tool:

Miklós Galicz

I am one of the lucky ones, who was able to turn a hobby into a way of living 😁 | If you like what I’m doing, buy me a coffe at

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