VueAdmin dashboard

nicegui_dashboard — Vue Admin dashboard Template

By s71m

A NiceGUI-based dashboard example template that provides foundational structure such as page templates, route management, and module hot reload, for developers to reference when building their own data dashboards.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Provides the PageTemplate page base class and pageconf.yaml configuration for a consistent page structure

02

web/components includes page management, page information, and module reload components

03

Example pages cover a basic page, a card grid, and a card page using Polars

04

The utility page shows currently running modules and can trigger a reload

05

Static assets include a drawer width script, header styles, and global styles

06

The README explains that adding a page only requires creating a new directory and page file, then clicking Reload

Template Details

This repository is an example template for building a dashboard with NiceGUI. The author chose NiceGUI after trying Streamlit, Dash, and Panel, and offers it as a starting reference for developers. The project is primarily Python; the repository tags include Vue, and the static assets directory contains JavaScript for adjusting the left drawer width along with header and global stylesheets.

Structurally, web/app.py is the application entry point, header.py defines the header layout, pagetemplate.py provides a common page template, and pageconf.yaml stores page configuration. web/components contains module reload, page configuration reading, page metadata, and page route management; web/pages provides an example page, a card grid page, a card page using Polars, and a utility page that visualizes currently running modules and supports reloading.

To add a page: refer to example_page.py, create a new directory under web/pages/ and add a .py file with a page class; after clicking Reload, the page will automatically appear in the application. The README also includes a link to a VueFlow-related demo video. The repository does not describe deployment, authentication, data source integration, or production use, so users must assess and supplement these themselves.

VueBackend

Is it right for your project?

Use Cases

  • As a starting point when you need to quickly prototype a Python data dashboard
  • When you want to understand how page templates, routing, and configuration are organized in NiceGUI
  • When you need to reload modules during development without restarting the service
  • When you need a dashboard page that displays data in a card grid
  • When you want to see how Polars is used in a NiceGUI page

Suitable For

  • Developers using Python and NiceGUI
  • Individuals or small teams needing a dashboard starter template
  • Projects looking to reference page modularization and hot reload practices
  • Developers interested in combining VueFlow with NiceGUI

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Install dependencies: pip install -r requirements.txt

  2. 2

    After entering the nicegui_dashboard directory, run python -m web.app

  3. 3

    Open http://localhost:8080 in a browser

  4. 4

    When adding a page, refer to web/pages/examples/example_page.py and create a new directory and page file under web/pages/

  5. 5

    The code is under the MIT license; retain the copyright and license notice when distributing. Demo assets and external services require separate verification of licensing and fees.

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in a public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.

Must comply with when using

  • The code of this version may be used, modified, used commercially, and distributed free of charge.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis

Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 81 / 100
Technologies
Vue
Website type
Admin dashboard
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2025-06-15
Screenshot last checked
2026-10-02

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Vue as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: a44d30c6bcb6217cba7e6aff4d5af2805430a8a934c4f7f5a2ed68b8aa2dd2d1

2026-10-02T23:32:49.082Z

Source file / repository

This repository demonstrates how quickly and elegantly you can create dashboards with **NiceGUI**. After trying Streamlit, Dash, Panel, and now NiceGUI, I've found that [NiceGUI](https://nicegui.io/) is fast, intuitive, and supports many plugins.

The purpose of this repository is to provide a friendly starting point for developers who want to work with NiceGUI.

----------

## Add new page  
  
- Explore [example_page.py](web%2Fpages%2Fexamples%2Fexample_page.py) to see how a page is built.  
- Create a new folder under `web/pages/` (e.g., `new_folder`).  
- Add a `new_page.py` file with a `NewPage` class.  
- Click the "Reload" button and watch it appear automatically in the application!.  
  
----------  
  ### **How to Start**

1.  Install the required dependencies using:
   ```bash
   pip install -r requirements.txt
   ```
    
2.  Launch the application:
   ```bash
   cd nicegui_dashboard
   python -m web.app
   ```
    
3.  Open your browser and navigate to:
    `http://localhost:8080`


### Explanation of project structure: `nicegui_dashboard`

#### **web/**

-   **`app.py`**: Main entry point for the application.
-   **`header.py`**: Defines the UI layout and functionality for the application's header.
-   **`pageconf.yaml`**: YAML configuration file for page settings.
-   **`pagetemplate.py`**: Base template for creating pages with a common structure.

----------

#### **web/components/**

-   **`modulereloader.py`**: Handles reloading of modules for dynamic updates during development without restarting the server.
-   **`pageconf.py`**: Manages page configurations stored in the YAML file.
-   **`pageinfo.py`**: Provides metadata about each page (e.g., route, name).
-   **`pagemanager.py`**: Creates the page structure (`{folder}/{module}`) and handles page routing.

----------

#### **web/pages/**

-   **`examples/example_page.py`**: Demonstrates how to create a new page using `PageTemplate`.
-   **`cards/cards_page.py`**: Implements a page displaying grid of cards.
-   **`cards/cards_polars_page.py`**: Similar to `cards_page.py` but with using Polars.
-   **`tools/project_modules_page.py`**: Visualizes currently running project modules, allowing for reloading.

----------

#### **web/static/**

-   Static files for styling and interactivity.
    -   **`drawer.js`**: JavaScript for dynamically changing the width of `ui.left_drawer` (sidebar).
    -   **`header.css`**: CSS for styling the application's header.
    -   **`styles.css`**: Global styles for the dashboard.






https://github.com/user-attachments/assets/cadec471-1204-446f-bb4e-2ad72adeebfd

## VueFlow for NiceGUI

https://github.com/user-attachments/assets/11dba36d-17fe-47e8-82b2-8f94fa83de84










Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.