- Item Name : DreamsPOS - POS & Inventory Management Admin Dashboard Template
- Published: 21 July 2022
- Item Version : v2.1.8
- Author : Dreams Technologies
- Support via email: [email protected]
- Support via themeforest: Take me there
DreamsPOS - POS & Inventory Management Admin Dashboard Template
A point of sale admin template can help organize and track inventory in a business. The template includes fields for items, quantities, prices, and descriptions. It also includes fields for customer information.
System Overview
The Dreams POS template requires a modern web server environment with Yii 2.0+ framework support, PHP 8.2+ compatibility, essential extensions, and development tools for optimal performance and development experience.
Core Technologies
Backend Framework
Yii 2.0.53
Frontend Framework
Bootstrap 5.3.8
Core Language
PHP 8.4
System Requirements
Node.js
Npm for sass compilation
PHP Extensions
intl, pdo, xml, ctype, iconv, json, mbstring, openssl, session, tokenizer, fileinfo
Composer
Latest version for dependency management
Development Tools
Vscode, Terminal
Development Tools
Local Server
XAMPP/WAMP/MAMP
Version Control
Git
Web Browser
Any modern browser
Important Note
Ensure all PHP extensions are enabled in your server configuration. For production deployment, consider using a managed hosting service that supports Yii 2.0+ and PHP 8.2+.
Core Features
Product Management
Seamless product browsing with dynamic search, smart filters, and visually rich catalogs.
Inventory Control
Real-time stock tracking, batch management, and low-stock notifications.
Billing & Invoices
Generate professional invoices, manage payments, and track sales history.
Point of Sale
Fast checkout process with barcode scanning, discounts, and multiple payment options.
Supplier & Purchase Management
Manage suppliers, track purchase orders, and maintain procurement records.
Reports & Analytics
Detailed sales, purchase, and inventory reports with real-time business insights.
Technical Features
Yii 2 Framework
Modern PHP MVC architecture
Composer Management
Dependencies & autoloading
Service Container
Dependency injection & configuration
PHP Views
Native PHP templating with layouts
URL Management
Pretty URLs & custom routing rules
Component System
Configurable application components
Debug Extension
Development debugging tools
Gii Code Generator
Rapid code generation tools
Performance
Optimized cache & HTTP handling
UI/UX Features
Modern Design
Creative and contemporary UI
Responsive Bootstrap 5.3.8
Mobile-first responsive design
SCSS Styling
Advanced CSS preprocessing
Font Awesome & Tabler
Comprehensive icon libraries
Easy Customization
Color and font customization
W3C Validated
Cross-browser compatibility
Project Overview
This Yii project follows the standard directory structure, separating application code, configuration, views, and assets for better organization and maintainability.
Legend
views/layouts/main.php
: Main Layout Template
This file serves as the main layout template using Yii 2's PHP view system. It provides the common HTML structure and includes partial views for consistent page elements.
Uses $this->render('partials/...')
for partial includes and $content
variable for content injection.
<?php
use yii\helpers\Html;
use yii\web\View;
/* @var $this View */
/* @var $content string */
?>
<!DOCTYPE html>
<?= $this->render('partials/theme-settings') ?>
<head>
<?= $this->render('partials/title-meta') ?>
<?= $this->render('partials/head-css') ?>
</head>
<?= $this->render('partials/body') ?>
<?= $this->render('partials/loader') ?>
<!-- Begin Wrapper -->
<?= $this->render('partials/main-wrapper') ?>
<?= $this->render('partials/topbar') ?>
<?= $this->render('partials/sidebar') ?>
<?= $this->render('partials/twocolumn-sidebar') ?>
<?= $this->render('partials/horizontal-sidebar') ?>
<?= $content ?> <!-- Main content of the page -->
</div>
<!-- End Wrapper -->
<?= $this->render('partials/modal-popup') ?>
<?= $this->render('partials/vendor-scripts') ?>
</body>
</html>
views/layouts/auth_main.php
: Authentication Layout
This layout is specifically designed for authentication pages (login, register, password reset, etc.) that don't require the main navigation menu.
It provides a clean, focused interface without the main navigation elements.
<?php
use yii\helpers\Html;
use yii\web\View;
/* @var $this View */
/* @var $content string */
?>
<!DOCTYPE html>
<?= $this->render('partials/theme-settings') ?>
<head>
<?= $this->render('partials/title-meta') ?>
<?= $this->render('partials/head-css') ?>
</head>
<?= $this->render('partials/body') ?>
<?= $this->render('partials/loader') ?>
<!-- Begin Wrapper -->
<?= $this->render('partials/main-wrapper') ?>
<?= $content ?> <!-- Main content of the page -->
</div>
<!-- End Wrapper -->
<?= $this->render('partials/vendor-scripts') ?>
</body>
</html>
views/index.php
: Content Page Template
Each view is rendered within the layout using the $content
variable. Controllers specify which layout to use and pass data to the view.
This approach provides clean separation of concerns and maintains consistent layout across all pages while allowing flexible content.
<div class="page-wrapper">
<div class="content">
<!-- Your specific page content here -->
</div>
<?= $this->render('partials/footer') ?>
</div>
Yii 2 PHP View System
This project uses Yii 2's native PHP view system. Key features include:
- Partial view rendering with
$this->render()
method - Built-in helpers and widgets for UI components
Follow these steps to set up DreamsPOS Yii 2 application on your local development environment. This guide covers environment setup, Yii 2 installation, and configuration.
Installation Steps
System Requirements
Ensure you have the required software installed for Yii 2:
Install Dependencies
Open terminal/command prompt in the project root directory and run:
composer install
Start Development Server
Start the Yii 2 development server and access the application:
php yii serve
Or use PHP's built-in server:
php -S localhost:8080 -t web/
http://localhost:8000
Overview
Sass (Syntactically Awesome Style Sheets) is a CSS preprocessor that extends CSS with variables, nesting, mixins, and more. This guide covers the installation and setup of Sass for the DreamsPOS template.
Prerequisites
Node.js Installation
Before installing Sass, ensure you have Node.js installed on your system:
https://nodejs.org/en/download/
Installation Steps
Install NPM Package Manager
Install the latest version of npm package manager:
npm install -g npm@latest
Install Sass Globally
Install Dart Sass globally using npm:
npm install -g sass
Verify Installation
Check if Sass is installed correctly:
sass --version
Compilation Methods
Method | Description | Default Sass Command | npm Script Command | |
---|---|---|---|---|
One-time Compilation (Production) |
Compile SCSS files once for production with minified output |
sass web/assets/scss/main.scss:web/assets/css/style.css
|
npm run sass
|
|
Watch Mode (Development) |
Automatically recompile on file changes for real-time development |
sass web/assets/scss/main.scss:web/assets/css/style.css --watch
|
npm run sass:watch
|
|
Run Without Source Map (Production/Optional) |
Compile SCSS without generating source maps, ideal for production builds |
sass web/assets/scss/main.scss:web/assets/css/style.css --style=compressed --no-source-map
|
npm run sass:no-map
|
Best Practices
Development
- Use watch mode for real-time updates
- Enable source maps for debugging
- Organize SCSS with partials
Production
- Use compressed output style
- Minimize file size
- Optimize for performance
Overview
The Dreams POS Yii 2 application implements an intelligent title generation system using PHP that analyzes route names and converts them into user-friendly page titles. This system processes route names through multiple transformation steps to create readable, properly formatted titles.
views/partials/title-meta.php
This partial view contains the title generation logic
Key Features
Extensible
Easily extendable with custom title generation rules
Smart Suffix Detection
Automatically customize suffixes like "Icons", "Charts", etc.
Title Formatting
Converts route names to properly formatted page titles
Yii 2 Integration
Easily accessible in Yii 2 views via the $this->title
property
Smart Acronym Detection
Automatically detects and formats common acronyms in route names
Professional Appearance
Consistent and polished title formatting
Examples
- index → "Admin Dashboard"
- account-statement → "Account Statement"
- ban-ip-address → "Ban IP Address"
- ui-alerts → "Alerts"
- chart-js → "JS Charts"
- reset-password-1 → "Reset Password"
How It Works
- The system captures the current route name from the Yii 2 router
- Removes common prefixes and numeric suffixes
- Converts underscores and hyphens to spaces
- Applies proper title case formatting and handles acronyms
- Processes special cases and exceptions
- Returns the formatted title for display in the view
Title Format
All generated titles follow this consistent format:
<title> {Generated Title} | Dreams POS - Inventory Management & Admin Dashboard Template</title>
For expense-category
Expense Category | DreamsPOS - Inventory Management & Admin Dashboard Template
The system automatically handles title generation using Yii 2 Controllers. For custom acronyms and suffixes like "Icons" or "Charts", you may need to manually add them to the title generation logic in views/partials/title-meta.php
.
Overview
The application provides comprehensive RTL (Right-to-Left) language support for languages like Arabic, Hebrew, and Persian. It uses Yii 2 PHP templating to conditionally load RTL-specific styles and assets.
RTL Implementation
RTL support is implemented through the following components:
RTL CSS Loading
The application uses PHP conditionals in views/layouts/partials/head-css.php
to load the appropriate CSS file based on the current page:
<?php
use yii\helpers\Url;
$path = Yii::$app->request->getPathInfo();
// Handle root path - if empty, treat as index page
$page = empty($path) ? 'index' : basename($path);
?>
<?php if ($page !== 'layout-rtl'){?>
<!-- Bootstrap CSS -->
<link rel = 'stylesheet' href ="<?= Url::to('@web/assets/css/bootstrap.min.css') ?>">
<?php }?>
<?php if ($page === 'layout-rtl'){?>
<!-- Bootstrap RTL CSS -->
<link rel="stylesheet" href="<?= Url::to('@web/assets/css/bootstrap.rtl.min.css') ?>">
<?php }?>
RTL Layout Structure
The application uses a dedicated RTL layout template that can be extended by other templates when RTL support is needed. The RTL layout includes:
- RTL-specific CSS classes and overrides
- Right-aligned navigation and UI elements
- Mirrored layout for RTL languages
Key Features
- PHP-Powered Conditional Loading - Dynamically loads RTL or LTR styles based on the current route
- Bootstrap RTL Support - Leverages Bootstrap's built-in RTL CSS framework
- Component-Based Architecture - Leverages Yii 2's component system for modular RTL support
- Page-Based Detection - Automatically detects RTL pages and loads appropriate stylesheets
The conditional CSS loading automatically detects RTL pages using Yii 2's routing system and loads appropriate Bootstrap stylesheets. This approach ensures that RTL-specific styles are only loaded when needed, improving performance and maintainability while leveraging Yii 2's built-in asset management capabilities.
Use Font Awesome icons with spesific class
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="assets/plugins/fontawesome/css/fontawesome.min.css">
<link rel="stylesheet" href="assets/plugins/fontawesome/css/all.min.css">
</head>
</html>
<i class="fas fa-times"></i>
<i class="fas fa-chevron-down"></i>
<i class="fa-regular fa-user"></i>
Please note that our respond can take up to 2 business days.
- Availability to answer questions, Answering technical questions about item’s features, Assistance with reported bugs and issues, Help with included 3rd party assets.
- Any customization request will be ignored.
- Please make sure to read more about the support policy.
If this documentation does not address your questions, please feel free to contact us via email at Item Support Page
We are in the GMT+5:30 time zone and typically respond to inquiries on weekdays within 12-24 hours. Please note that in rare cases, the response time may extend to 48 hours, especially during holiday seasons.
We strive to offer top-notch support, but it's only available to verified buyers and for template-related issues such as bugs and errors. Custom changes and third-party module setups are not covered.
Don’t forget to Rate DreamsPos!
DreamsPos 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.
Plugin Name | URL |
---|---|
Bootstrap | https://getbootstrap.com/docs/ |
jQuery | https://jquery.com/ |
Fontawesome | https://fontawesome.com/ |
Select2 | https://github.com/select2/select2 |
Date Timepicker | https://cdnjs.com/libraries/jquery-datetimepicker |
Google Fonts | https://fonts.google.com/ |
Fancy Box | http://fancybox.net/ |
Moment JS | https://momentjs.com/ |
Full Calendar | https://fullcalendar.io/ |
Morris | https://morrisjs.github.io/morris.js/ |
Owl Carousel | https://www.npmjs.com/package/ngx-owl-carousel-o |
Range-Slider | https://ionicframework.com/docs/api/range |
Do you need a customized application for your business?
If you need a customized application for your business depends on your specific requirements and goals, Please contact us.
Customization can be the key to success, ensuring your project perfectly aligns with your unique goals and requirements.
Don't Miss Out on the Benefits of Customization!
Unlock the potential of your project. It's time to ensure that your project isn't just another cookie-cutter solution but a truly unique and effective one.
Discover how customization can make a difference in your project's success. Let's create a solution that's as unique as your vision!
- We'll tailor the application to meet your specific needs and preferences.
- We will upload your website to the server and ensure it is live.
Thank You
Thank you once again for downloading DreamsPos.
We hope you're enjoying your experience, and we kindly request that you take a moment to share your valuable review and rating with us.