Introduction

Dreams Money Thumbnail 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.

Contact Support Create Support ticket

Requirements

System Overview

The Dreams POS Nuxt template is built with Nuxt 4.2.0 and Vue 3, powered by a modern Node.js environment. Dependencies are managed via your preferred package manager.

Core Technologies
Nuxt
Framework

Nuxt 4.2.0

Frontend Framework

Bootstrap 5.3.8

Frontend Library

Vue 3.5

System Requirements
Node.js

LTS version

Package Manager

npm, pnpm, yarn, or bun

Version Control

Git (optional but recommended)

Code Editor

VsCode or any other code editor

Development Tools
Development Server

Nuxt Dev Server

Version Control

Git

Web Browser

Any modern browser

Important Note

For production, run a full build (nuxt build) and deploy the Nitro output. For SSR, use a production-grade Node.js server or a supported adapter (Node, Serverless, Edge). Ensure your Node.js environment and dependencies are installed via your chosen package manager.

Features

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
Nuxt 4.x Architecture

Nitro‑powered build and deployment pipeline

Vue 3

Modern, reactive UI architecture

TypeScript Support

Generated typings and TS project references

File‑based Routing

Automatic routes from pages/ folder

Layouts & Meta

Shared layouts and SEO meta management

Performance

Optimized cache & HTTP handling

Debug Extension

Development debugging tools

Aliases & Assets

Custom path aliasing and static asset handling

Form Validation

Vee‑validate with Yup schema validation

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

NuxtJS Project Structure

Project Overview

This NuxtJS project follows the standard Nuxt 3 directory structure, organizing application code, components, pages, layouts, assets, and configuration files for better maintainability and scalability.

template/ (Root Project)
app/ (Application Directory)
assets/ (Assets & Resources)
css/
CSSStylesheets
fonts/
Font files
img/
authentication/
avatar/
brand/
customer/
flags/
icons/
products/
theme/
users/
logo.svg, favicon.png, etc.
json/
JSON data files
scss/
base/
components/
layout/
pages/
utils/
vendors/
main.scss
components/ (Vue Components)
Dashboard/
*.vue (Component files)
layouts/
default.vue (Default layout)
pages/ (Routes & Pages)
Dashboard/
index.vue (Home page)
*.vue (Page files)
plugins/
global.ts (Global plugins & components)
app.vue (Root component)
router.options.ts (Router configuration)
public/ (Static assets)
favicon.png
utils/ (Utility functions)
index.ts
store.ts (State management)
.gitignore
nuxt.config.ts (Nuxt configuration)
package.json (Dependencies & scripts)
package-lock.json
tsconfig.json (TypeScript configuration)
README.md
Legend
Directories
Vue Files
TypeScript/JavaScript Files
CSS Files
Git Files
SCSS Files
Node.js Files
Image Files
Other Files
Font Files

NuxtJS Template Structure

app/app.vue: Root Component

The root component is the entry point of the Nuxt application. It wraps all pages with the layout system.

    
<template>
  <NuxtLayout>
    <NuxtPage />
  </NuxtLayout>
</template>
    

app/layouts/default.vue: Default Layout Template

The default layout wraps all pages and provides the main application structure with header, sidebar, and content areas. It uses Vue's composition API for dynamic layout behavior.

    
<template>
  <div class="main-wrapper" :class="posWrapperClass">
    <template v-if="shouldShowHeaderAndSidebar">
      <CommonLayoutsHeader />
      <CommonLayoutsSidebar />
    </template>

    <template v-if="shouldShowPosHeader">
      <CommonPosHeader />
    </template>

    <slot />
  </div>
</template>

<script>
export default {
  name: "DefaultLayout",

  computed: {
    // Hide header and sidebar on login/register pages
    shouldShowHeaderAndSidebar() {
      const path = this.$route.path
      return !(
        path === "/" ||
        path.includes("/login") ||
        path.includes("/register") ||
        path.includes("/coming-soon") 
      )
    },

    shouldShowPosHeader() {
      return this.$route.path.includes("/pos/")
    },

    posWrapperClass() {
      const path = this.$route.path
      if (path === "/pos/pos-1") {
        return "pos-five"
      } else if (path === "/pos/pos-5") {
        return "pos-three pos-four"
      }
      return ""
    },
  },
}
</script>
    

app/pages/index.vue: Home Page

Pages in NuxtJS use file-based routing. Each Vue file in the pages directory becomes a route. This page uses a component for its content.

    
<template>
    <ModulesAuthenticationLogin />
</template>

<script lang="ts">
import { defineComponent, onMounted, onBeforeUnmount } from "vue";

export default defineComponent({
  name: "LoginPage",
  setup() {
    onMounted(() => {
      document.body.classList.add("account-page");
    });

    onBeforeUnmount(() => {
      document.body.classList.remove("account-page");
    });
  },
});
</script>
    

app/pages/dashboard/admin-dashboard.vue: Dashboard Page

Pages can use components directly. Nuxt automatically imports components from the components directory, making them available globally.

    
<template>
    <DashboardAdminDashboard />
</template>

<script>
export default {
    data(){
        return{
            
        }
    }
}
</script>
    

app/components/: Components Directory

Nuxt automatically imports all components from the app/components/ directory. Components are organized into subdirectories based on their functionality:

  • common/ - Common layout components (header, sidebar, etc.)
  • Dashboard/ - Dashboard-related components
  • Application/ - Application features (Chat, Email, Calendar, etc.)
  • Inventory/ - Inventory management components
  • Sales/ - Sales-related components
  • Settings/ - Settings components
  • And many more organized by feature...
app/components/common/layouts-header.vue: Header Component

Components can be used directly in layouts and pages. Here's an example of a header component:

    
<template>
    <!-- Header -->
    <div class="header">
        <div class="main-header">
            <!-- Logo -->
            <div class="header-left active">
                <NuxtLink to="/dashboard/admin-dashboard" class="logo logo-normal">
                    <img src="@/assets/img/logo.svg" alt="">
                </NuxtLink>
            </div>
            <!-- /Logo -->

            <a id="mobile_btn" class="mobile_btn" href="#" @click="toggleMobileBtn">
                <span class="bar-icon">
                    <span></span>
                    <span></span>
                    <span></span>
                </span>
            </a>

            <!-- Header Menu -->
            <ul class="nav user-menu">
                <!-- Navigation items -->
            </ul>
        </div>
    </div>
</template>

<script>
export default {
    methods: {
        toggleMobileBtn() {
            // Mobile menu toggle logic
        }
    }
}
</script>
    
app/components/Dashboard/AdminDashboard.vue: Dashboard Component

Components can contain complex logic and be reused across multiple pages. Components are automatically available by their directory structure:

    
<template>
  <div class="page-wrapper">
    <div class="content">
      <div class="d-flex align-items-center justify-content-between flex-wrap gap-3 mb-2">
        <div class="mb-3">
          <h1 class="mb-1">Welcome, Admin</h1>
          <p class="fw-medium">
            You have <span class="text-primary fw-bold">200+</span> Orders, Today
          </p>
        </div>
      </div>

      <div class="row">
        <!-- Dashboard widgets and charts -->
      </div>
    </div>
  </div>
</template>

<script>
export default {
    name: "AdminDashboard",
    // Component logic here
}
</script>
    

Component Naming Convention:

  • Components in components/common/layouts-header.vue are available as <CommonLayoutsHeader />
  • Components in components/Dashboard/AdminDashboard.vue are available as <DashboardAdminDashboard />
  • Nuxt automatically converts directory names and file names to PascalCase component names
  • All components are auto-imported, no manual imports needed!
NuxtJS Vue Component System

This project uses Nuxt 3 with Vue 3 composition API. Key features include:

  • File-based routing: Pages in app/pages/ automatically become routes
  • Layout system: Use <NuxtLayout> and layouts in app/layouts/ for consistent page structure
  • Auto-imports: Components in app/components/ are automatically imported and available globally
  • Vue components: Use Vue's template syntax with v-if, v-for, and computed properties
  • TypeScript support: Full TypeScript support with .ts files and lang="ts" in script tags
  • Server-side rendering: Configurable SSR support via nuxt.config.ts

Installation Guide

Follow these steps to set up the DreamsPOS NuxtJS application on your local development environment. This guide covers Node.js setup, package installation, and running the application.

Installation Steps
1
System Requirements

Ensure you have the required software installed for NuxtJS:

Node.js 18+ (LTS recommended)
npm
Nuxt 3.x
2
Navigate to Project Directory

Open your terminal and navigate to the template directory:

cd template
Note: Make sure you're in the directory containing package.json and nuxt.config.ts files.
3
Install Dependencies

Install all project dependencies using npm, yarn, pnpm, or bun:

Using npm:
npm install
Note: This will install all dependencies listed in package.json, including Nuxt, Vue, and all required packages.
4
Run Development Server

Start the Nuxt development server:

Using npm:
npm run dev
Access the application at:
http://localhost:3000
5
Update Base URL (Production)

For production deployment, update the base URL in nuxt.config.ts:

export default defineNuxtConfig({
  app: {
    baseURL: '/nuxt/template/', // Update this for your production path
  },
})
Note: This is only required for production deployment when your app is not served from the root path.
6
Build for Production

Build the application for production deployment:

npm run build

How Can I Use Theme Layouts?

Please do the below change in the html element at public/index.html file. ex: <html data-theme="default">

image
data-layout="default"
image
data-layout="mini"
image
data-layout="horizontal"
image
data-layout="detached"
image
data-layout="twocolumn"
image
data-layout="without-header"
pic

Custom Loader Implementation

The loader can be fully customized to align with your brand, including color, animation style, size, and duration.

Loader Html code:
image

The script for the custom loader are located in the pos-loader.vue file. You can find this file in the following directory:

Path: app/components/common/pos-loader.vue
pic

FAQs

With one purchase code you can use it on one domain name. You need to get new license for every new domain name, please check Envato Help Page for more information about licenses.

If you need support, or if you're facing any problems, please contact us via Envato Support
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.

Support

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.

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.

Don’t forget to Rate DreamsPos!
Please take a moment to rate our product on Themeforest. Your support means a lot to us. Just go to your Themeforest Profile > Downloads Tab, and you can leave a review for our script. Thank you!

License

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?

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.

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

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.

Review Link:https://themeforest.net/downloads