Dreams IOt Agent Banner

Introduction

Dreams IOT is a modern, responsive enterprise administration dashboard template designed with Tailwind CSS. Streamline hospital operations, monitor patient vitals, track medical devices, manage appointments, and gain actionable insights through a modern Tailwind CSS powered IOT healthcare dashboard.

Requirement

Technologies
React
Typescript
System Requirements
  • Node.js
  • Yarn or npm
  • Browser: Modern browsers (Chrome, Firefox, Safari, Edge)

Features

Dreams IOT offers One powerful dashboard variations and 10+ fully functional, prebuilt application modules with a clean, modular structure.

Prebuilt Applications
  • IOT Dashboard & Live Monitoring
  • Patients , Devices & Data
  • Ai & Tools, Mobile app
  • Authentication & Error pages
  • UI Interface
Layout & Mode Features
  • 3 Prebuilt Dashboard Variations
  • Multiple Sidebar Layout Options
  • Full responsive design (Mobile, Tablet, Desktop)
  • Full RTL Layout Direction Support
  • Layout Direction Variations

File Structure

Project Overview

The project follows a modular structure with clear separation of concerns.

dreams-IOT/
	│
	├── react/
	│	├── src/
	│	│	├── main.tsx
	│	│	├── index.css
	│	│	├── environment.tsx
	│	│	├── routes/
	│	│	│	├── router.tsx
	│	│	│	├── router.link.tsx
	│	│	│	└── lazyRoutes.ts
	│	│	├── layout/
	│	│	│	├── authLayout.tsx
	│	│	│	├── publicLayout.tsx
	│	│	│	├── errorLayout.tsx
	│	│	│	├── layoutPages.tsx
	│	│	│	├── DocumentStateSync.tsx
	│	│	│	└── LayoutRouteSync.tsx
	│	│	├── components/
	│	│	│	├── header/, footer/, sidebar/
	│	│	│	├── data-table/, dropdown-menu/
	│	│	│	├── common-select/, common-datepicker/
	│	│	│	├── error-boundary/, lightbox/
	│	│	│	└── image-with-base-path/
	│	│	├── views/
	│	│	│	├── dashboard/
	│	│	│	├── devices/
	│	│	│	├── patients/
	│	│	│	├── ai-tools/
	│	│	│	├── auth/
	│	│	│	├── error-pages/
	│	│	│	├── layout-pages/
	│	│	│	└── ui-interface/
	│	│	├── redux/
	│	│	│	├── store.ts
	│	│	│	├── themeSlice.ts
	│	│	│	├── layoutSlice.ts
	│	│	│	└── uiSlice.ts
	│	│	├── hooks/
	│	│	│	├── useAppDispatch.ts, useAppSelector.ts
	│	│	│	└── useSidebarToggle.ts, usePreline.ts
	│	│	├── style/
	│	│	│	├── css/style.css
	│	│	│	└── icon/
	│	│	├── types/
	│	│	└── utils/
	│	│		└── storage.ts
	│	├── package.json
	│	├── tsconfig.app.json
	│	├── vite.config.ts
	│	└── eslint.config.js
	│
	└── documentation/
		└── react.html
	

Structure

Structure Overview

Dreams IOT React uses React Router, lazy-loaded pages, and shared layouts to keep the app scalable and maintainable.

The app entry in src/main.tsx wraps routes with Provider and BrowserRouter, then mounts layout sync helpers.

Below is sample React app structure:

import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { Provider } from "react-redux";
import { BrowserRouter } from "react-router-dom";
import { store } from "./redux/store";
import AllRoutes from "./routes/router";

createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <Provider store={store}>
      <BrowserRouter>
        <AllRoutes />
      </BrowserRouter>
    </Provider>
  </StrictMode>
);

Installation

Prerequisites
Node.js Installation

Ensure that Node.js is installed and running on your system.

Package Manager

Use npm (recommended with this project lockfile) or Yarn if preferred.

npm -v
Vite

Vite is used as the build tool. It is installed automatically as a project dependency — no global installation required.

Installation Steps
1
Extract & Navigate

After downloading, extract the Dreams IOT package and navigate to the react directory.

2
Install Dependencies
npm install

This command will install all required dependencies into the node_modules directory.

3
Start Development Server
npm run dev

Starts the Vite development server with hot module replacement (HMR). Changes to React components, styles, and TypeScript modules are reflected instantly in the browser.

4
Open in Browser

Open your browser at the URL shown in the terminal (typically http://localhost:5173/)

Build

Run the build command to generate the production-ready output in the dist/ directory:

npm run build
Deployment

Deploy the dist/ folder contents to your web server. The build output contains all compiled HTML pages, optimized CSS, minified JavaScript, and vendor libraries ready for production.

Fonts

The default font is Google Sans Flex. To change the font:

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

@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap');

@theme {
  --font-family-primary: "Google Sans Flex", sans-serif;
}

Color System

The design token variables are defined in the @theme block of src/style/css/style.css. Here are the primary color tokens:

--color-primary: #023DC9;
--color-secondary: #FE1C06;
--color-dark: #020610;
--color-white: #FFFFFF;
--color-light: #F0F4F8;

--color-success: #10B981;
--color-warning: #F59E0B;
--color-danger: #EF4444;
--color-info: #0EA5E9;

Each of primary, secondary, success, warning, danger, info, purple, gray, light, pink, orange, cyan, indigo and teal also ship a full shade scale (100–900 plus a -hover/-transparent variant), e.g. --color-primary-100 through --color-primary-900 and --color-primary-hover. Semantic tokens for the sidebar (--sidebar-bg, --sidebar-menu-item) and topbar (--topbar-bg, --topbar-item) are also defined in the same block.

Background Color Change

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

.navbar-header { 
	@apply bg-(--topbar-bg)
}

Dark Mode

How it Works

Dark mode state is managed in Redux and persisted to localStorage. A sync component writes the current theme to a data-theme attribute on the <html> element, which a Tailwind custom variant reads to apply dark: utility classes.

src/redux/themeSlice.ts holds a darkMode boolean, initialized from localStorage and toggled via toggleTheme() / setTheme(bool):

const initialState = {
  darkMode: getStoredString("theme") === "dark",
};
// toggleTheme() / setTheme(bool) update state and localStorage

src/layout/DocumentStateSync.tsx is the single bridge that writes the attribute to the DOM whenever the Redux state changes:

document.documentElement.setAttribute("data-theme", darkMode ? "dark" : "light");

In src/style/css/style.css, a custom Tailwind variant reacts to that attribute so any dark: utility applies automatically:

@custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));

/* usage example */
body { @apply dark:bg-none dark:bg-[#1A1A1A]; }

RTL Support

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

<html lang="ar" 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 rtl.tsx in the HTML version for reference.

Icons

Use Lucide icons with spesific class

<i class="icon-house"></i>
<i class="icon-shopping-bag"></i>
<i class="icon-menu"></i>

Layout Options

Dreams IOT 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

License

Dreams IOT 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

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 Support

Custom Work

Do 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.
thanks

Thank You

Thank you for choosing **Dreams IOT**! 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