Skip to content
Orbix Laravel · Bootstrap 5 v1.0.5

Folder structure

Orbix is a standard Laravel 13 application. The template adds a few configuration files, Blade components and a small TypeScript layer:

orbix-laravel/
├── app/
│   ├── Http/Controllers/LocaleController.php   language switcher endpoint (session)
│   ├── Http/Middleware/SetLocale.php           locale from ?lang=, the session or APP_LOCALE
│   ├── Support/Orbix.php                       locales, text direction, inline assets
│   └── helpers.php                             ox_text() plural helper
├── config/
│   ├── orbix.php                               CSS engine, languages, brand name
│   ├── orbix-menu.php                          sidebar menu (also feeds the command palette)
│   └── orbix-pages.php                         route name => URI of every page
├── lang/{en,es,pt,fr,ar}.json                  translations (shared by Blade and JavaScript)
├── packages/foundry-ui/                        design system bundled with the template (local npm package),
│                                               with its SCSS sources (see Customize with SCSS)
├── public/
│   ├── build/bootstrap/                     compiled CSS, JavaScript and fonts (npm run build)
│   ├── icon-sets/                              full icon sets for the icon browser pages
│   └── images/                                 demo photos (CC0 / public domain) and their CREDITS.json
├── resources/
│   ├── css/engines/bootstrap.css            CSS engine entry
│   ├── css/foundry/                            design system compiled from SCSS by the build (generated)
│   ├── css/orbix.css, css/orbix/               template styles (tokens only, logical properties)
│   ├── js/app.ts                               entry: theme, i18n, behaviors, page modules
│   ├── js/core/                                i18n, formats, charts, shell preferences
│   ├── js/pages/                               one module per page family (<body data-module>)
│   ├── js/boot/                                no-flicker boot scripts inlined in <head>
│   ├── scss/brand.scss                         brand settings of the design system (colors, radius, fonts)
│   ├── svg/sprite.svg                          icon sprite inlined in every page (generated)
│   └── views/
│       ├── components/layouts/                 app, auth and blank layouts
│       ├── components/shell/                   head, sidebar, topbar, footer, page header, customizer, command palette
│       ├── components/{apps,auth,forms,...}/   reusable blocks (product card, mail row, password field, ...)
│       └── pages/                              one Blade view per page
├── routes/web.php                              pages from config/orbix-pages.php + locale routes
├── scripts/                                    build of the CSS engine, icon sprite and icon sets
└── tests/Feature/                              PHPUnit: pages, translations, hard-coded text, sources, build

How a page is put together

  1. config/orbix-pages.php maps a route name to a URI, for example 'dashboards.crm' => 'dashboards/crm'.
  2. routes/web.php registers every entry with Route::view(); the view is resources/views/pages/dashboards/crm.blade.php (dots become folders). The routes can be cached.
  3. The view uses a layout component (<x-layouts.app>), the shell renders the sidebar from config/orbix-menu.php, and resources/js/app.ts starts the theme, the translations and the behaviors.
  4. If the layout declares module="dashboards/crm", the page script resources/js/pages/dashboards/crm.ts is loaded on demand (charts, calendars and other interactive widgets).