Editorialthemev3
EditorialTheme starter kit built on Laravel 13.x and Filament 3.x with a ready-to-use multi-panel structure.
#EditorialTheme Start Kit Filament 3.x and Laravel 13.x
#About EditorialTheme
EditorialTheme is a robust starter kit built on Laravel 13.x and Filament 3.x, designed to accelerate the development of modern web applications with a ready-to-use multi-panel structure, styled with the Editorial Terminal theme: paper + terminal aesthetic, Fraunces / DM Sans / JetBrains Mono typography, amber palette, light and dark schemes and a terminal-style login.
#Features
- Laravel 13.x - The latest version of the most elegant PHP framework
- Filament 3.x - Powerful and flexible admin framework
- Multi-Panel Structure - Includes three pre-configured panels:
- Admin Panel (
/admin) - For system administrators - App Panel (
/app) - For authenticated application users - Public Panel (frontend interface) - For visitors
- Admin Panel (
- Editorial Terminal Theme -
jeffersongoncalves/filament-editorial-themeon every panel, with the terminal login (and its light/dark toggle) on the Admin and App panels - Environment Configuration - Centralized configuration through the
config/editorialtheme.phpfile
#System Requirements
- PHP 8.2 or higher
- Composer
- Node.js and PNPM
#Installation
Clone the repository
laravel new my-app --using=jeffersongoncalves/editorialthemev3 --database=mysql
#Using FilaKit CLI
Or use FilaKit CLI for a simplified setup:
filakit new my-app --kit=jeffersongoncalves/editorialthemev3
Install FilaKit CLI:
composer global require jeffersongoncalves/filakit-cli
#Easy Installation
EditorialTheme can be easily installed using the following command:
php install.php
This command automates the installation process by:
- Installing Composer dependencies
- Setting up the environment file
- Generating application key
- Setting up the database
- Running migrations
- Installing Node.js dependencies
- Building assets
- Configuring Herd (if used)
#Manual Installation
Install JavaScript dependencies
pnpm install
Install Composer dependencies
composer install
Set up environment
cp .env.example .env php artisan key:generate
Configure your database in the .env file
Run migrations
php artisan migrate
Build frontend assets
pnpm run build
Run the server
php artisan serve
#Installation with Docker
Clone the repository
laravel new my-app --using=jeffersongoncalves/editorialthemev3 --database=mysql
Move into the project directory
cd my-app
Install Composer dependencies
composer install
Set up environment
cp .env.example .env
Configuring custom ports may be necessary if you have other services running on the same ports.
# Application Port (ex: 8080) APP_PORT=8080 # MySQL Port (ex: 3306) FORWARD_DB_PORT=3306 # Redis Port (ex: 6379) FORWARD_REDIS_PORT=6379 # Mailpit Port (ex: 1025) FORWARD_MAILPIT_PORT=1025
Start the Sail containers
./vendor/bin/sail up -d
You won’t need to run php artisan serve, as Laravel Sail automatically handles the development server within the container.
Attach to the application container
./vendor/bin/sail shell
Generate the application key
php artisan key:generate
Install JavaScript dependencies
pnpm install
#Editorial Terminal Theme — jeffersongoncalves/filament-editorial-theme
All three panels use jeffersongoncalves/filament-editorial-theme:
EditorialThemePlugin::make()is registered in each panel provider (the App panel keeps its green accent via->primaryColor(Color::Green)).- Each panel's
resources/css/filament/{panel}/theme.cssimports Filament's theme, then the editorial theme, and itstailwind.config.jsincludes the theme's views incontentso Tailwind keeps the utilities its partials use. - The Admin and App logins (
app/Filament/{Admin,App}/Pages/Auth/Login.php) extend thefilament-admin/filament-userlogins — so inactive accounts are still rejected — and only swap in the theme's terminal view, with a light/dark toggle next to the clock.
Customize it from the plugin (footer, sidebar status, fonts, paper grain…) or by overriding the theme's CSS tokens below the
@import in each panel's theme.css — see the theme's README.
#Authentication Structure
EditorialTheme comes pre-configured with a custom authentication system that supports different types of users:
Admin- For administrative panel accessUser- For application panel access
#Development
# Run the development server with logs, queues and asset compilation composer dev # Or run each component separately php artisan serve php artisan queue:listen --tries=1 pnpm run dev
#Customization
#Panel Configuration
Panels can be customized through their respective providers:
app/Providers/Filament/AdminPanelProvider.phpapp/Providers/Filament/AppPanelProvider.phpapp/Providers/Filament/PublicPanelProvider.php
Alternatively, these settings are also consolidated in the config/editorialtheme.php file for easier management.
#Themes and Colors
Each panel can have its own color scheme, which can be easily modified in the corresponding Provider files or in the
editorialtheme.php configuration file.
#Configuration File
The config/editorialtheme.php file centralizes the configuration of the starter kit, including:
- Panel routes
- Middleware for each panel
- Branding options (logo, colors)
- Authentication guards
#Developer Logins — dutchcodingcompany/filament-developer-logins
Quick-login buttons are enabled on the Admin and App panels for local development. The list is built dynamically from the database, restricted to active records (status = true).
- Admin panel (
app/Providers/Filament/AdminPanelProvider.php): pulls fromApp\Models\Admin. - App panel (
app/Providers/Filament/AppPanelProvider.php): pulls fromApp\Models\User. - Both panels are gated by
app()->environment('local'), so the buttons never appear in staging/production.
To change the column shown on the buttons, edit the ->users(...) closure in each provider (for example, swap pluck('email', 'name') for pluck('email', 'email')).
Reference
- Plugin repository: https://github.com/DutchCodingCompany/filament-developer-logins
#Resources
EditorialTheme includes support for:
- User and admin management
- Multi-guard authentication system
- Tailwind CSS integration
- Database queue configuration
- Customizable panel routing and branding
#License
This project is licensed under the MIT License.
#Credits
Developed by Jefferson Gonçalves.