Dreamsemr

Introduction

Dreams EMR - Electronic Medical Record Admin Dashboard Template. A modern, feature-rich laravel-based Electronic Medical Record system designed for healthcare professionals.

Requirements

System Overview

The Dreams EMR Yii 3 template requires a modern web server environment with Yii 3 (yiisoft) framework support, PHP 8.2 - 8.5 compatibility, essential extensions, and development tools for optimal performance and development experience.

Core Technologies
Yii
Backend Framework

Yii 3 (yiisoft)

Frontend Framework

Bootstrap 5.3.8

Programming Language

PHP 8.4

System Requirements
Composer

For PHP package dependency management

PHP Extensions

intl, pdo, xml, ctype, iconv, json, mbstring, openssl, session, tokenizer, fileinfo

Node.js

For Vite build process & SCSS compilation

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

Ensure all PHP extensions are enabled in your server configuration. For production deployment, consider using a managed hosting service that supports Yii 3 (yiisoft) and PHP 8.2 - 8.5.

Features

Dreams EMR offers powerful admin template and modern interface.

Built-in Applications
  • Calendar
  • Chat
  • To Do
  • Notes
  • File Manager
  • Social Feed
  • Kanban
  • Email
  • Call
Layout Features
  • Creative Design
  • Fully Responsive
  • Color & Fonts is easily changed
  • W3C Validated Code
  • Build with Bootstrap v5.x used
  • Compatible Browsers: IE8+, Firefox, Safari, Opera, Chrome
  • Dark, Light with RTL Supported
  • Various Sidebar Colours
  • Multiple Layouts

File Structure

Project Overview

The Yii project follows the Yii 3 (yiisoft) directory structure with the main application located in dreams-emr/yii/. Configuration lives under PSR-11 driven config/ packages, application code under PSR-4 src/, and the public webroot is isolated under public/.

dreams-emr/
|_ yii/
|   |_ config/
|   |   |_ common/
|   |   |   |_ aliases.php
|   |   |   |_ application.php
|   |   |   |_ bootstrap.php
|   |   |   |_ di/
|   |   |   |   |_ application.php
|   |   |   |   |_ error-handler.php
|   |   |   |   |_ logger.php
|   |   |   |   |_ router.php
|   |   |   |_ params.php
|   |   |   |_ routes.php
|   |   |_ console/
|   |   |   |_ commands.php
|   |   |   |_ params.php
|   |   |_ environments/
|   |   |   |_ dev/params.php
|   |   |   |_ prod/params.php
|   |   |   |_ test/params.php
|   |   |_ web/
|   |   |   |_ di/
|   |   |   |   |_ application.php
|   |   |   |   |_ psr17.php
|   |   |   |_ params.php
|   |   |_ configuration.php
|   |_ src/
|   |   |_ bootstrap.php
|   |   |_ Environment.php
|   |   |_ Shared/
|   |   |   |_ ApplicationParams.php
|   |   |_ Web/
|   |   |   |_ BasePath/
|   |   |   |   |_ StripBasePathMiddleware.php
|   |   |   |_ NotFound/
|   |   |   |   |_ NotFoundHandler.php
|   |   |   |   |_ template.php
|   |   |   |_ Pages/
|   |   |   |   |_ Action.php
|   |   |   |   |_ PageMeta.php
|   |   |   |   |_ pages.php
|   |   |   |   |_ layouts/
|   |   |   |   |   |_ main.php
|   |   |   |   |   |_ auth.php
|   |   |   |   |_ partials/
|   |   |   |   |   |_ head-css.php
|   |   |   |   |   |_ modal-popup.php
|   |   |   |   |   |_ search-modal.php
|   |   |   |   |   |_ settings-nav.php
|   |   |   |   |   |_ sidebar.php
|   |   |   |   |   |_ title-meta.php
|   |   |   |   |   |_ topbar.php
|   |   |   |   |   |_ vendor-scripts.php
|   |   |   |   |_ templates/
|   |   |   |   |   |_ index.php
|   |   |   |   |   |_ employees.php
|   |   |   |   |   |_ payroll.php
|   |   |   |   |   |_ ... (one file per page)
|   |_ public/
|   |   |_ assets/
|   |   |_ index.php
|   |   |_ favicon.ico
|   |   |_ favicon.svg
|   |   |_ robots.txt
|   |_ tests/
|   |   |_ Console/
|   |   |_ Support/
|   |   |_ Unit/
|   |   |_ Web/
|   |_ runtime/
|   |_ docker/
|   |_ composer.json
|   |_ package.json
|   |_ yii
|   |_ yii.bat

Yii Structure

Yii 3 Template Structure

Dreams EMR uses Yii 3's yiisoft/view and yiisoft/yii-view-renderer packages, rendered through a single PSR-15 Action that resolves the requested slug to a template and (optionally) an alternate layout. Below are the actual files from the project.

Main Layout File

This is the actual master layout file from the project (src/Web/Pages/layouts/main.php) that provides the common HTML structure, navigation, and scripts for all pages:

<?php

declare(strict_types=1);

use App\Shared\ApplicationParams;
use App\Web\Pages\PageMeta;

/**
 * @var ApplicationParams $applicationParams
 * @var string $content
 * @var Yiisoft\View\WebView $this
 * @var Yiisoft\Router\CurrentRoute|null $currentRoute
 */

$page = PageMeta::slug($currentRoute ?? null);

$this->beginPage();
?>
<!DOCTYPE html>
<html lang="<?= $applicationParams->locale ?>">
<head>
    <base href="<?= PageMeta::baseUrl() ?>">
    <?= $this->render('../partials/title-meta') ?>
    <?= $this->render('../partials/head-css') ?>
    <?php $this->head() ?>
</head>

<body>
<?php $this->beginBody() ?>

    <div class="main-wrapper">

        <?= $this->render('../partials/topbar') ?>

        <?= $this->render('../partials/sidebar') ?>

            <?= $content ?>

    </div>

    <?= $this->render('../partials/modal-popup') ?>
    <?= $this->render('../partials/vendor-scripts') ?>

<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>
Single Page Action

Every page is served by one PSR-15 action (src/Web/Pages/Action.php). The route slug resolves the matching template and, for auth-style pages, swaps in the alternate layout - there is no per-page controller.

final readonly class Action
{
    public function __construct(
        private WebViewRenderer $viewRenderer,
        private NotFoundHandler $notFoundHandler,
    ) {
        $pages = require __DIR__ . '/pages.php';
        $this->slugs = $pages['slugs'];
        $this->auth = $pages['auth'];
    }

    public function __invoke(CurrentRoute $currentRoute, ServerRequestInterface $request): ResponseInterface
    {
        $slug = $currentRoute->getArgument('slug') ?? 'index';

        if (!in_array($slug, $this->slugs, true)) {
            return $this->notFoundHandler->handle($request);
        }

        $renderer = in_array($slug, $this->auth, true)
            ? $this->viewRenderer->withLayout('@src/Web/Pages/layouts/auth.php')
            : $this->viewRenderer;

        return $renderer->render(__DIR__ . '/templates/' . $slug);
    }
}
Sample Page Template

This is an excerpt from the actual dashboard template (src/Web/Pages/templates/index.php). Each template sets its own page metadata via $this->setParameter() and outputs plain Tailwind-driven markup that the layout renders into $content:


        <!-- Your Page content Goes Here-->
Yii 3 View System

This project uses Yii 3's yiisoft/view package via WebViewRenderer. Key features include:

  • Partial view rendering with $this->render() method
  • Per-page layout swapping via WebViewRenderer::withLayout()
  • PSR-11 dependency injection configured under config/common/di/
  • PSR-7/PSR-15 routing with yiisoft/router and yiisoft/router-fastroute

Installation

Yii 3 Framework Setup

Open terminal/command prompt in the project root directory and run:

Prerequisites
Composer
MySQL/SQLite
Web Server (Apache/Nginx)
Tip: Use XAMPP, WAMP, or MAMP for local development
Installation Steps
1
Project Setup

Extract the Dreams EMR Yii project to your web server directory:

XAMPP: htdocs/dreamsemr/yii/
WAMP: www/dreamsemr/yii/
2
Install PHP Dependencies

Open terminal/command prompt in the Yii project directory and run:

composer install
Note: Ensure Composer is installed on your system
3
Access Application

Start your web server and access the Yii application:

php yii serve
Example URLs:
Yii Server: http://127.0.0.1:8080
Live Server: yourdomain.com/yii/public/

Fonts

The default font is Inter. To change the font:

Update the @import URL and the --font-family-primary variable in style.css:

// Font
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

	body {
		font-family: "Inter", sans-serif;
	}
		

Color System

The design token variables are defined in the @theme block of your CSS file. Here are the primary color tokens:

Background Color Change

You can change the header background color in style.css as per your wish


	.header {
		background: #fff;
		left: 0;
		position: fixed;
		right: 0;
		top: 0;
		height: 60px;
	}
		

Dark Mode

How it Works

Dark mode is controlled by a theme attribute/class on the root element. When activated, all design tokens are overridden to dark variants.

The theme is controlled by the data-theme attribute on the <html> element:

<html lang="en" data-theme="dark">

Dark mode styles are defined in the [data-theme=dark] block in style.css:

[data-theme=dark] {
	--color-dark: #D8DDDF;
	--color-light: #19222E;
	--color-white: #0B0D0E;
}

RTL Support

To enable Right-to-Left (RTL) layout, add the dir="rtl" attribute to the <html> tag:

<html lang="en" dir="rtl">

Tailwind CSS handles RTL layout transformations automatically when the dir attribute is set. All margin, padding, and positioning utilities adapt to the RTL direction.

RTL Demo

An RTL demo page is available at layout-rtl.php in the HTML version for reference.

Icons

Use Tabler Icons with specific class


	<!DOCTYPE html>
	<html lang="en">
		<head>
            <!-- Tabler Icon CSS -->
            <link rel="stylesheet" href="assets/plugins/tabler-icons/tabler-icons.min.css">
		</head>
	</html>


	<i class="ti ti-dashboard"></i>
	<i class="ti ti-stethoscope"></i>
	<i class="ti ti-chart-pie-3"></i>
	

Layout Options

Dreams EMR offers multiple layout options to suit different application needs. Each layout can be combined with light or dark mode.

Default Layout

The default layout features a full vertical sidebar on the left, a horizontal topbar at the top, and the main content area. This is the standard layout used across all dashboard pages.

  • Full-width sidebar with navigation menu, logo, and user profile
  • Top header with search, notifications, and user actions
  • Responsive - sidebar collapses to overlay on mobile devices

Mini Sidebar

The mini sidebar layout collapses the sidebar to show only icons, providing more space for the main content area. Users can toggle between expanded and collapsed states using the sidebar toggle button.

  • Collapsed sidebar showing only menu icons
  • Hover to expand and reveal full menu text
  • Toggle via the hamburger button in the topbar

Two-Column Layout

The two-column layout features a primary icon bar and a secondary navigation panel. This layout is ideal for applications with deep menu hierarchies.

  • Primary column with category icons
  • Secondary column with detailed sub-navigation
  • See layout-two-column.php for a working demo

License

Dreams EMR 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?

Note

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.

Support

Need Support?

If this documentation does not address your questions, please feel free to contact us via email at support@dreamstechnologies.com

Reach the team at GMT+5:30. Typical reply within 12–24 hours on weekdays — rarely up to 48 hrs during holidays. Support is available to verified buyers for template-related issues.

Contact Support

Important Note : 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.

Custom Work

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 your project isn't another cookie-cutter solution but 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.

thanks

Thank You

Thank you once again for downloading Dreams EMR.
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.

Review Link