Dreams Core is a modern, responsive business management dashboard template built with Laravel, Livewire and Tailwind CSS. Every page is a Livewire full-page component and all internal links navigate like a single page application. It provides a comprehensive collection of pre-built pages, reusable UI components, and powerful dashboards to streamline business operations from a single platform. Manage employees, CRM, finance, inventory, projects, billing, payments, expenses, reports, and more with an intuitive and user-friendly interface.
System Overview
The Dreams Core template requires a modern Laravel development environment with PHP 8.3+ support, essential extensions, and development tools for optimal performance and development experience.
Core Technologies
Backend Framework
Laravel 13.36.0
Full-Stack Framework
Livewire 4.4.7
Frontend Framework
Tailwind 4.3.3
Programming Language
PHP 8.4
System Requirements
Composer
For PHP package dependency management
PHP Extensions
bcmath, ctype, fileinfo, json, mbstring, openssl, pdo, tokenizer, xml
Node.js
For the Vite and Tailwind CSS build process
Text Editor
VS Code, Sublime Text, or any code editor
Development Tools
Local Server
XAMPP/WAMP/MAMP
Version Control
Git
Web Browser
Any modern browser
Important Note
Livewire needs JavaScript enabled in the browser. Ensure all PHP extensions are enabled in your server configuration. For production deployment, consider using a managed hosting service that supports Laravel 13.x and PHP 8.3+.
Dreams Core offers 3 powerful dashboard variations and 10+ fully functional, prebuilt application modules with a clean, modular structure.
Livewire Highlights
- SPA-style navigation with
wire:navigateand a progress bar - Livewire 4 single-file page components (
pages::) - Persisted sidebar: scroll position and open menus survive navigation
- Theme and sidebar state restored before first paint (no flash)
Ready for Dynamic Pages
- Add state and actions to any page component
- Bind forms with
wire:modelandwire:submit - Route straight to components with
Route::livewire() - Laravel validation, Eloquent and queues work as usual
Prebuilt Applications
- Employee & CRM Management
- Finance, Inventory & Project Scheduling
- Payments, Expenses & Revenue Reports
- Sales, Campaigns & Lead Management
- Built-in Chat & File Manager
Layout & Mode Features
- Dashboard Added
- Full responsive design (Mobile, Tablet, Desktop)
- Built-in Light / Dark Mode Toggle
- Full RTL Layout Direction Support
- Layout Direction Variations
Project Overview
The Dreams Core Laravel Livewire project is a standard Laravel 13 application with
Livewire 4 installed, located in dreams-core/laravellivewire/. Every page of the
template is a Livewire single-file component inside resources/views/pages/, rendered into
the shared layouts in resources/views/layouts/.
dreams-core/
└── laravellivewire/
├── app/
│ ├── Http/
│ │ └── Controllers/
│ ├── Models/
│ └── Providers/
│
├── bootstrap/
│ └── cache/
│
├── config/
│ ├── app.php
│ ├── database.php
│ └── livewire.php # Livewire config (layout, namespaces, navigate options)
│
├── database/
│ ├── migrations/
│ └── seeders/
│
├── public/
│ ├── index.php
│ └── build/ # Compiled assets (npm run build)
│ ├── css/
│ ├── img/
│ ├── js/
│ └── libs/
│
├── resources/
│ ├── css/ # style.css (Tailwind 4) and plugin themes
│ ├── js/ # script.js, chart-data.js, livewire-bridge.js ...
│ ├── img/
│ └── views/
│ ├── layouts/ # app.blade.php, auth.blade.php (layouts::app, layouts::auth)
│ ├── partials/ # sidebar, topbar, breadcrumb, footer, vendor-scripts ...
│ ├── components/ # modal-popup.blade.php
│ └── pages/ # one Livewire single-file component per page (pages::name)
│
├── routes/
│ └── web.php # Route::livewire('/uri', 'pages::name')
│
├── storage/
├── tests/
│
├── artisan
├── composer.json # laravel/framework ^13 + livewire/livewire ^4
├── package.json
└── vite.config.js
Livewire 4 Single-File Components
Dreams Core uses Livewire 4 full-page components. Each page is one
.blade.php file that holds a small PHP class (layout, title and, later, your state and actions) on top and the page
markup below it. Pages are rendered into {{ $slot }} of a shared layout. Below are the actual files from the project.
Main Layout File
resources/views/layouts/app.blade.php (layouts::app) provides the common
HTML structure, sidebar, topbar and scripts. The page is injected through {{ $slot }}, and the
$title and $breadcrumb variables come from the page component:
<!DOCTYPE html>
<html lang="en">
<head>
<script data-navigate-once> /* restores theme + sidebar state before first paint */ </script>
@include('partials.title-meta', ['title' => ($title ?? '')])
@include('partials.head-css')
@vite('resources/js/livewire-bridge.js')
</head>
<body>
<div class="app-shell">
@persist('sidebar')
@include('partials.sidebar')
@endpersist
<div class="app-main">
@include('partials.topbar')
@include('partials.breadcrumb', ['breadcrumb' => ($breadcrumb ?? '')])
{{ $slot }}
@include('partials.footer')
</div>
</div>
@include('components.modal-popup')
@include('partials.vendor-scripts')
</body>
</html>
Login, register, lock-screen and error pages use layouts::auth (no sidebar or topbar).
Sample Page Component
A page lives in resources/views/pages/account-add.blade.php. The PHP block at the top is the
Livewire component; the markup after it is the page:
<?php
use Livewire\Attributes\Layout;
use Livewire\Attributes\Title;
use Livewire\Component;
new #[Layout('layouts::app', ['breadcrumb' => 'Add Account'])]
#[Title('Add Account')] class extends Component
{
//
};
?>
<main class="p-4 lg:p-6 space-y-5 w-full mx-auto max-w-full">
<!-- You page content -->
</main>
Routes
Pages are registered in routes/web.php with Route::livewire(), using the
pages:: namespace configured in config/livewire.php:
use Illuminate\Support\Facades\Route;
Route::redirect('/', '/index');
Route::livewire('/index', 'pages::index')->name('index');
Route::livewire('/account-add', 'pages::account-add')->name('account-add');
Route::livewire('/login', 'pages::login')->name('login');
Key Livewire Features Used
Single-File Components
One file per page: PHP class on top, Blade
markup below (pages::name)
Layout & Title Attributes
#[Layout] and #[Title]
choose the layout, breadcrumb and page title
SPA Navigation
wire:navigate on every internal link
swaps pages without a full reload
Persisted Sidebar
@persist('sidebar') keeps the menu,
its scroll position and open sub-menus between pages
Route::livewire()
Routes point straight at a page component, no controllers required
Blade Partials
Sidebar, topbar, breadcrumb and footer stay
reusable @include partials
Single Page Application behaviour
Every internal link carries Livewire's wire:navigate. Clicking a link fetches the next page in the background,
swaps only the content, updates the URL and shows a progress bar, so the browser never does a full reload.
1. Links
Add wire:navigate to any link that should navigate without a reload:
<a wire:navigate href="{{ url('accounts') }}">Accounts</a>
2. Persisted Sidebar
The sidebar is wrapped in @persist('sidebar') in layouts/app.blade.php. The same DOM node survives every
navigation, so the scroll position and the open sub-menus stay exactly where you left them; only the active menu highlight changes.
3. Page Scripts (Script Bridge)
The template scripts (script.js, charts, date pickers ...) were written for full page loads. Because a Livewire
navigation does not reload the document, resources/js/livewire-bridge.js loads them: libraries once, page modules again on every visit, and it
removes the previous visit's event listeners so handlers are never bound twice. Scripts are declared in partials/vendor-scripts.blade.php as meta tags:
<meta name="lw-script" content="{{ URL::asset('build/libs/apexcharts/apexcharts.min.js') }}">
<meta name="lw-module" content="{{ Vite::asset('resources/js/chart-data.js') }}">
lw-script: a classic library, loaded once for the whole session.lw-module: an app module fromresources/js, re-run after every navigation.
input in vite.config.js, then register it with an
lw-module meta tag (wrap it in @if (Route::is('your-page')) to load it only on that page).
4. Page-Level CSS
A page that needs its own CSS (for example the error pages) keeps a <style> block inside the component's root element.
@push does not reach the layout from a Livewire page component.
5. Opting Out
Remove wire:navigate from a link to make it a normal full page load.
Laravel Livewire Setup
Follow these steps to set up the Dreams Core Laravel Livewire application on your local development environment. Livewire 4 is already
listed in composer.json, so composer install installs it together with Laravel — there is nothing extra to configure.
Prerequisites
Installation Steps
Project Setup
Extract the Dreams Core Laravel Livewire project to your web server directory:
Install PHP Dependencies
Open a terminal in the project directory and run:
composer install
livewire/livewire).
Install Node.js Dependencies
Install the frontend dependencies (Vite, Tailwind CSS and the template libraries):
npm install
Environment Configuration
Configure your Laravel environment:
cp .env.example .env
php artisan key:generate
DB_* settings in the .env file
Database Setup
Run the migrations:
php artisan migrate
Build Frontend Assets
Compile Tailwind CSS and copy the template libraries to public/build:
npm run build
npm run dev, because the vendor libraries are copied into public/build/libs.
Access Application
Start the development server and open the application:
php artisan serve
npm run dev in a second terminal while you edit CSS or JS.
http://127.0.0.1:8000
yourdomain.com/laravellivewire/public
Adding a page takes three steps.
1. Generate the component
php artisan make:livewire pages::my-page --sfc --emoji=false
This creates resources/views/pages/my-page.blade.php. Add the layout and title, and put your markup below the PHP block:
<?php
use Livewire\Attributes\Layout;
use Livewire\Attributes\Title;
use Livewire\Component;
new #[Layout('layouts::app', ['breadcrumb' => 'My Page'])]
#[Title('My Page')] class extends Component
{
//
};
?>
<main class="p-4 lg:p-6 space-y-5 w-full mx-auto max-w-full">
<h1 class="font-display font-bold text-[19px]">My Page</h1>
</main>
2. Register the route
// routes/web.php
Route::livewire('/my-page', 'pages::my-page')->name('my-page');
3. Link to it
Add the page to resources/views/partials/sidebar.blade.php (or any link) with wire:navigate:
<a wire:navigate href="{{ url('my-page') }}">My Page</a>
Adding Livewire behaviour
The template pages are static markup. To make a page dynamic, give its component state and actions and bind the markup with
wire:model and wire:submit:
<?php
use Livewire\Attributes\Layout;
use Livewire\Attributes\Title;
use Livewire\Component;
new #[Layout('layouts::app', ['breadcrumb' => 'Add Category'])]
#[Title('Add Category')] class extends Component
{
public string $name = '';
public function save(): void
{
$data = $this->validate(['name' => 'required|min:3']);
// Category::create($data);
$this->reset('name');
}
};
?>
<main class="p-4 lg:p-6">
<form wire:submit="save" class="space-y-4">
<input type="text" wire:model="name" class="w-full field-control">
@error('name') <p class="text-danger-500">{{ $message }}</p> @enderror
<button type="submit" class="btn btn-primary">Save</button>
</form>
</main>
The default typography font for the template is Geist. If you want to change it to another Google font (like Inter or Roboto):
Open the style file resources/css/style.css and update the @import statement at the top of the file as well as the primary font variable in the @theme configuration block:
/* Update the variable inside the @theme block */
font-family: 'Inter',sans-serif;
All theme colors are defined as design tokens under the @theme directive in your resources/css/style.css file. These variables control the look and feel of components:
@theme {
--gold: #D4AF37;
--gold-light: #F4D03F;
--gold-dark: #B8860B;
--gold-soft: #C9A227;
}
Changing Element Colors
You can customize the color of any element by editing its class or variable assignment in the CSS file. For example, changing the header topbar background color:
:root.hd-auto.mode-light .header-glass {
background: var(--bg2);
}
How it Works
Theme switching works by adding or toggling the data-theme="dark" attribute on the root <html> element. The template automatically stores the user's theme selection in their session storage.
1. Attribute Control
To enable dark mode, set the attribute on the root tag:
<html lang="en" class="dark">
2. Tailwind CSS v4 Integration
In style.css, dark mode uses a custom variant that links the Tailwind dark: modifiers directly to the HTML attribute:
@custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));
You can write responsive layouts by simply adding prefix variants to any tag like dark:bg-dark-900 or dark:text-white.
Dreams Core supports full Right-to-Left (RTL) reading directions. To change the layout from Left-to-Right (LTR) to RTL:
1. Update the HTML Tag
Simply add the dir="rtl" attribute and appropriate language code to your root tag:
<html lang="ar" dir="rtl">
2. Tailwind RTL Processing
Tailwind CSS automatically transforms positioning utilities (like margins, padding, and flex alignments) using standard logical properties when the dir="rtl" attribute is active.
RTL Page Reference
A preconfigured RTL demo is available. You can view /layout-rtl in your browser or source files to see a live demonstration.
Dreams Core includes multiple popular icon packages ready for use. You can use any of the following icon libraries:
1. Lucide Icons
Use Lucide icons with the icon-[name] class prefix:
<i class="icon-house"></i>
<i class="icon-users"></i>
<i class="icon-settings"></i>
2. Phosphor Icons
Use Phosphor icons with the ph-[style] ph-[name] prefix classes (e.g. bold, duotone, regular):
<i class="ph-duotone ph-plus-circle"></i>
<i class="ph-bold ph-calendar"></i>
3. Font Awesome Icons
Use Font Awesome icons with standard classes:
<i class="fa-solid fa-hashtag"></i>
<i class="fa-brands fa-html5"></i>
4. Tabler Icons
Use Tabler icons with the ti ti-[name] class prefix:
<i class="ti ti-menu-2"></i>
The default vertical layout with a left sidebar, topbar, and center content area.
- Sidebar: Navigation menu, logo, profile details, and collapsible dropdowns.
- Topbar: Search input, user alerts, settings, and profile toggle actions.
- Responsive: Collapses into an overlay sidebar on tablets and mobile screens automatically.
A screen-saving option that collapses the sidebar to show icons only. Add class mini-sidebar to the <body> to activate.
- Icon View: Collapses to 56px to maximize the main work area.
- Hover Expand: Hovering expands the sidebar to reveal module text labels.
- Toggle: Switch between default and mini sidebar using the toggle button in the topbar.
Dreams Core comes with 24+ pre-styled UI components. You can find these page components in your resources/views/pages/ directory (e.g. ui-accordion.blade.php) or click below to view their live layouts:
Dreams Core is developed by Dreams Technologies and is available under both Envato Extended & Regular License options.
Regular License
Usage by either yourself or a single client is permitted for a single end product, provided that end users are not subject to any charges.
Extended License
For use by you or one client in a single end product for which end users may be charged.
What are the main differences between the Regular License and the Extended License?
If you operate as a freelancer or agency, you have the option to acquire the Extended License, which permits you to utilize the item across multiple projects on behalf of your clients.
Dreams Core is built upon several open-source libraries, frameworks, and typography assets. We appreciate the contribution of the following resources:
| Asset Name | Official Website URL |
|---|---|
| Tailwind CSS | https://tailwindcss.com/ |
| Vite JS | https://vite.dev/ |
| Lucide Icons | https://lucide.dev/ |
| Tabler Icons | https://tabler.io/icons |
| Font Awesome | https://fontawesome.com/ |
| Phosphor Icons | https://phosphoricons.com/ |
If you have any questions or run into issues with the template, feel free to contact us via email at support@dreamstechnologies.com.
Response Time: Typically 12–24 hours on weekdays (GMT+5:30). Support covers template bugs, errors, and standard features. It does not cover custom installations or custom coding changes.
Contact SupportDo you need custom development for your application?
If you need customization, new page integration, feature setups, or database connections, our engineering team can help tailor this template to your precise specifications.
- Tailoring features to your exact branding and workflow.
- Deploying the template to your production servers.
- Integrating backend endpoints and databases.
Thank You
Thank you for choosing **Dreams Core**! We hope this template facilitates building your application. We kindly ask you to share your feedback by leaving a rating on ThemeForest.
Leave a Review