Over the past few weeks startonline.com.ua picked up a lot of new functionality. The underlying engine is our Laravel + Filament CMS, and it evolves alongside our client projects. Here are the key updates from versions 0.3.0 → 0.3.5.

Theme and plugin system

The biggest architectural update: the CMS is no longer just a studio landing page — it's a platform that can run client sites without touching the core.

  • ThemeServiceProvider — themes override views, routes, and config
  • ForceLocale middleware for single-locale themes (no /uk prefix)
  • Vite reads CMS_THEME — builds theme-specific styles and scripts
  • Conditional route loading: if a theme ships routes/web.php, core ones are skipped

f1service.com.ua already runs on this infrastructure — see the companion post.

Site search

Added live search with an icon in the header: AJAX dropdown with real-time results, full results page, multilingual. Covers pages, services, products, and blog.

Banner / Slider module

A new block type for any page:

  • Unlimited slides with drag-and-drop ordering
  • Multilingual images and text per slide
  • Link the whole banner or a dedicated CTA button
  • Arrow controls, indicator dots, autoplay settings

Admin panel improvements

  • Toggles for phone in header, contacts in footer
  • Parent selector when creating menu items
  • Hover dropdown in the header on desktop, correct behavior on mobile
  • SortableJS drag-and-drop for nested menus
  • @stack('styles') in the admin layout — per-page CSS without hacks

Production deployment

startonline.com.ua itself went live in production today: Ubuntu 24.04 + FastPanel, PHP 8.4, MySQL 8.0, nginx with HTTP/2, Let's Encrypt. Laravel caches warmed (config:cache, route:cache, view:cache, event:cache), Filament assets published, cron for schedule:run.

What's next

  • Migrate more client sites to the theme architecture
  • Add a form-builder module that pushes to CRM
  • Extend the module system (reviews, FAQ accordion, timeline)

Want a similar CMS for your site? Get in touch.