Add Filament as a feature to be installed to Laravel through Spin #108
Replies: 4 comments 5 replies
-
Hey @jaydrogers, I wouldn't say there are a lot of steps in installing Filament alone, but overall, from nothing to App, yes of cour!! The typical install
Filament is a foundation, a set of tools, for App Development. People tend to see it as a Admin Panel, but it's so much more. Typically, you run these 2 commands, and you're good to go:
Either you seed a database user, or you can create it right away:
Filament (and other apps) with presetsI have to propose and can collaborate on: This could be a yaml/json file, and could be in the source, or made on a website. Look at this example, from https://start.spring.io This could generate a file, or a command script. Say: I click save and copy a string This uuid would feed from that app, and would return said json, and spin would feed from that. This could go on for hours, but not sure if you want to follow this path, so let me know! This would also apply to infrastructure things like: redis? queue? horizon? cron? etc Further discussion
|
Beta Was this translation helpful? Give feedback.
-
This looks great, @jaydrogers! Really excited to get Filament and Spin working together! Just had a few thoughts to share: CompatibilityAs long as the Laravel app supports Filament's requirements (below), there should be no issue whatsoever with installing Filament when running
When installing Filament, if Livewire isn't already installed, Composer will pull Livewire 3 in as a dependency, so there shouldn't be anything to worry about there. Needing Node in the PHP containerWe shouldn't need to add Node into the PHP container. Anything we need Node for (compiling front-end assets on individual plugins and custom themes) should be able to just use the existing Node container that Spin created by default. Filament Panel vs. individual pluginsAs you noted in your original post, Filament is actually an ecosystem of TALL stack packages that can be used individually or combined together. The one outlier here is the Panel builder package. Panel builder is actually an opinionated combination of all of our other Filament packages. I bring this up because, in the install script, if someone chooses the "panel" option, we'll likely want to prevent them from selecting the rest or auto-select them since they will be installed anyways. Beyond that, though, all of the remaining packages can be installed in whatever combination people want! Using Filament with
|
Beta Was this translation helpful? Give feedback.
-
Hey @jaydrogers Speaking of it.... |
Beta Was this translation helpful? Give feedback.
-
Just an updateI haven't forgotten about this. This is in my inbox and I plan on switching to this once I have serversideup/php v3.4 out the door 😃 There are lots of improvements in that release that will benefit the experience with Filament. Looking forward to getting to this soon! |
Beta Was this translation helpful? Give feedback.
-
👉 Describe the problem
👥 Problem evidence & reach
This has been a discussion with @ijpatricio and @alexandersix
🥰 Describe the "impact" on users?
Automating these steps will simplify the adoption of Filament, making it easier to ship self-hosted apps with Spin.
🏆 How to solve this problem
Add Filament as a feature
Create a Filament menu feature
If Filament is selected as a feature on the first menu, display another menu that allows them to select Filament features. We will allow them to select:
Automated install
Depending on what the user selects above, Spin will create a new project (and even initialize in an existing project), then perform the installation.
💯 How do we validate the problem is solved?
spin init
and add Filament to their project with Spin🗣️ Further Discussion
spin init laravel
then choosing Filament? Will it cause conflicts?@ijpatricio and @alexandersix: If you can take a look at what I have above and let me know your thoughts. To be honest, I haven't had the chance to use Filament yet -- but I am excited to get this process going 😃👍
Feel free to comment below and we can update this first post with additional notes.
Beta Was this translation helpful? Give feedback.
All reactions