内置 3 个站点、18 台机器、60 天遥测种子数据,无需数据库服务器即可本地运行
sitesignal — Vite 后台模板
作者 albertoguinda
SiteSignal 是一个工业资产监控仪表板模板,内置 3 个站点、18 台机器和 60 天遥测种子数据,提供交互式 3D 平面图、多资产分析、认证与多租户功能。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
交互式 3D 平面图,热点按严重程度脉冲,点击后侧面板显示实时传感器数据
多资产分析支持最多六个资产在 24 小时至 60 天窗口内比较同一指标
包含 193 个 Vitest 测试,覆盖工具函数、组件和 API 路由
支持多租户与基于角色的访问(admin/member/viewer),使用 Magic Link 无密码登录
提供 /design-system 路由实时渲染所有设计令牌和组件变体
模板详细介绍
SiteSignal 是一个工业资产监控仪表板模板,仓库为 albertoguinda/sitesignal。README 说明它自带真实遥测数据:3 个工业站点、18 台机器、60 天读数,并包含交互式 3D 平面图、多资产分析、认证、多租户、设计系统以及 193 个测试。
模板的主要界面包括:实时概览仪表板(KPI 卡片、迷你趋势指标、设备分布、可排序资产表、站点天气和实时告警流)、基于 react-three-fiber 的 3D 平面图(热点按严重程度脉冲,点击后侧面板加载传感器数据)、多资产分析(最多六个资产在 24 小时 / 7 天 / 30 天 / 60 天窗口内比较同一指标)、资产详情页,以及实时渲染所有设计令牌的 /design-system 路由。
技术栈方面,README 列出 React 19、Vite 8、Tailwind v4、react-three-fiber、TanStack Query、React Router v8、Recharts、Express 5、Drizzle ORM、PostgreSQL(本地开发使用嵌入式 PGlite)、Zod、Vitest 和 TypeScript。架构上,shared/types.ts 是客户端与服务端共享的类型契约。
部署方式包括 Vercel(含 vercel.json 无服务器函数路由)、Docker(多阶段构建,compose 包含 PostgreSQL)以及通用方式(npm run build 后 npm start,绑定 5000 端口)。环境变量包括 NODE_ENV、PORT、DATABASE_URL、PGLITE_DIR 和 BASE_URL。
README 未提供关于生产环境性能、并发能力或安全审计的说明,也未说明除种子数据外的实际数据接入实现细节。
适合你的项目吗?
适用场景
- 需要快速搭建工业设备监控仪表板原型或内部工具的团队
- 希望用自有 IoT 遥测管道替换种子数据以构建监控平台的项目
- 需要演示 3D 平面图与传感器数据联动交互的界面场景
- 评估多租户、角色权限和无密码认证在监控类应用中的实现方式
适合人群
- 工业物联网或设施管理领域的全栈开发者
- 需要可定制监控仪表板模板的前端或全栈团队
- 希望参考 React 19、Express 5、Drizzle ORM 与 PGlite 组合实践的项目
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Node 24,执行 git clone、npm install、npm run dev 后访问 http://localhost:5000
- 2
本地开发默认使用嵌入式 PGlite,无需数据库服务器,种子数据已加载
- 3
可通过 DATABASE_URL 连接外部 PostgreSQL,或设置 PGLITE_DIR 指定 PGlite 数据目录
- 4
Vercel 部署使用 npx vercel --prod,Docker 部署使用 docker compose up
- 5
通用部署执行 npm run build 后 npm start,服务绑定 5000 端口
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
https://github.com/albertoguinda/sitesignal/blob/main/LICENSEhttps://github.com/albertoguinda/sitesignal/blob/main/README.mdPermission is hereby granted, free of charge
许可证原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-15。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Vite · React
- 网站类型
- 后台
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-08-13
- 截图检查日期
- 2026-10-15
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261017 · 2026-10-16
查看当时使用的来源资料
SHA-256: 71e53f58c42483d8510125fe1ce2065bb9264af99ca2a4726d1ddfbb3a0608ac
2026-10-15T10:41:37.140Z
来源文件 / 仓库# SiteSignal
[](https://github.com/albertoguinda/sitesignal/actions/workflows/ci.yml)
[](#testing)
[](#deploy)
[](#tech-stack)
**Live demo: [https://sitesignalui.vercel.app](https://sitesignalui.vercel.app)**
SiteSignal is an industrial asset monitoring dashboard. It ships with real telemetry data — 3 industrial sites, 18 machines, 60 days of readings — an interactive 3D floor plan, multi-asset analytics, authentication, multi-tenancy, a documented design system, and a 193-test suite. Replace the seed data with your own IoT pipeline and you have a production-ready monitoring platform.


---
## Key Features
- **Interactive 3D Floor Plan** — Built with react-three-fiber. Clickable hotspots pulse by severity, orbit controls let you navigate the space, and selecting a hotspot loads real-time sensor data into a side panel.
- **Multi-Asset Analytics** — Compare the same metric across up to six assets over 24 h / 7 d / 30 d / 60 d windows, with aggregated stats and per-series summaries. Charts render from real bucketed readings, not mock data.
- **Live Overview Dashboard** — KPI cards, sparkline-style metric highlights, fleet distribution, sortable asset table with sticky headers, per-site weather forecasts, and a live alert feed.
- **Design System** — A living `/design-system` route renders every color token, type scale, spacing unit, and component variant live.
- **Production Architecture** — React 19, Vite 8, Express 5, Drizzle ORM, PostgreSQL (PGlite for zero-config local dev). The same code runs locally, in Docker, and on Vercel serverless functions.
- **193 Tests** — Full Vitest suite covering utilities, components, and API routes, with coverage reporting built in.
- **Multi-tenancy** — Organizations, role-based access (admin/member/viewer), and data isolation. Ready for SaaS deployment.
- **Magic Link Auth** — Passwordless login with secure session cookies, rate limiting, and security headers.
---
## Quick Start
```bash
git clone https://github.com/albertoguinda/sitesignal.git
cd sitesignal
npm install
npm run dev
```
Open [http://localhost:5000](http://localhost:5000). PGlite runs embedded — no database server required. The seed data (3 sites, 18 machines, 60 days of telemetry) is already loaded.
Requires Node 24.
---
## Deploy
### Vercel (recommended)
```bash
npx vercel --prod
```
The project includes a `vercel.json` with serverless function routing — the Express API and the static client deploy as one project. The production build (`tsc -b && vite build`) runs in CI-grade checks on every deployment.
### Docker
```bash
docker compose up
```
Multi-stage Dockerfile produces a minimal production image; the compose file includes PostgreSQL. One command, full stack.
### Anywhere Else
```bash
npm run build
npm start
```
Binds to port 5000. Set `DATABASE_URL` for external PostgreSQL, or leave it unset for embedded PGlite.
---
## How to Make It Yours
**1. Connect your own sensors**
Replace the seed data in `server/db/seed.ts` with your IoT telemetry pipeline. The schema in `server/db/schema.ts` defines `readings` and `alerts` — insert rows from MQTT, HTTP webhooks, or any ingestion path.
**2. Change the floor plan**
Edit the 3D scene in `src/components/asset-scene.tsx`. The `Hotspot` component accepts severity levels and triggers the panel update. Swap the geometry for your own facility layout.
**3. Adjust the data model**
Add new asset types in `shared/types.ts`, extend the schema in `server/db/schema.ts`, run `npm run db:generate`, and the API + UI follow the shared contract.
---
## Architecture
```
PRESENTATION React 19 + Vite 8 + Tailwind v4 + react-three-fiber
|
APPLICATION TanStack Query + React Router v8 + Auth context
|
DOMAIN shared/types.ts (TypeScript contract between client/server)
|
INFRASTRUCTURE Express 5 + Drizzle ORM + PostgreSQL (PGlite or external)
```
The type contract in `shared/types.ts` is the single source of truth. Server and client both import from it — no drift, no `any`.
| Layer | Tech | Purpose |
|-------|------|---------|
| Frontend | React 19, Vite 8, Tailwind v4 | UI, 3D rendering, styling |
| State | TanStack Query | Server state, caching, refetching |
| Routing | React Router v8 | Client routes, nested layouts |
| 3D | react-three-fiber + drei | Interactive floor plan |
| Charts | Recharts | Analytics time series |
| API | Express 5, Zod validation | REST endpoints, input validation |
| ORM | Drizzle ORM | Type-safe SQL, migrations |
| Database | PostgreSQL (PGlite embedded) | Zero-config local, production-ready |
| Auth | Magic links + HTTP-only cookies | Passwordless, secure sessions |
---
## Tech Stack
| Category | Technology | Version |
|----------|-----------|---------|
| Runtime | Node.js | 24.x |
| Frontend | React | 19.2 |
| Build | Vite | 8.2 |
| Styling | Tailwind CSS | v4 |
| 3D | react-three-fiber | 9.7 |
| Charts | Recharts | 3.10 |
| API | Express | 5.2 |
| ORM | Drizzle | 0.45 |
| Database | PostgreSQL / PGlite | embedded |
| Validation | Zod | 4.4 |
| Testing | Vitest | 4.1 |
| TypeScript | TypeScript | 7.0 |
| Containers | Docker | multi-stage |
---
## Screenshots
| View | Description |
|------|-------------|
|  | **Dashboard** — KPI cards, per-site ambient conditions, sortable asset table, live alert feed |
|  | **3D Floor Plan** — Click a pulsing hotspot, sensor panel updates in real time |
|  | **Asset Detail** — Full telemetry view for a single machine with 3D context |
|  | **Analytics** — Multi-asset metric comparison with aggregated stats and series summary |
|  | **Design System** — Every token, type scale, and component rendered live at `/design-system` |
---
## Testing
```bash
# Run all 193 tests
npm test
# Single run (CI mode)
npm run test:run
# Coverage report
npm run test:coverage
# Type checking (strict, zero any)
npm run typecheck
```
Tests live in `src/lib/__tests__/` and `server/__tests__/` and use Vitest with Testing Library.
---
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `NODE_ENV` | `development` | Environment mode |
| `PORT` | `5000` | Server port |
| `DATABASE_URL` | *(none)* | PostgreSQL connection string (omit for PGlite) |
| `PGLITE_DIR` | `./data/sitesignal` | PGlite data directory |
| `BASE_URL` | `http://localhost:5000` | Base URL for magic links |
---
## Credits
- Ambient conditions by [Open-Meteo](https://open-meteo.com)
- Embedded Postgres by [PGlite](https://pglite.dev)
- UI components by [Radix UI](https://www.radix-ui.com/)
- Icons by [Lucide](https://lucide.dev/)
- 3D rendering by [react-three-fiber](https://github.com/pmndrs/react-three-fiber)
---
MIT — see [LICENSE](./LICENSE)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

kiaalap
Free admin dashboard template focused on education, online course and school management. Build using Bootstrap…
Vite · 后台

react-vite-admin
This Starter utilizes React, Recoil, React Query, React Hooks, Typescript, Axios And Vite. 全新技术栈的后台管理系统
Vite · 后台

admin-antd-react
React + Ant Design Admin template
Vite · 后台

arco-admin-template
🔥基于 vite构建的react后台模版 使用: acro-design + react-router-dom v6 + mockjs + less,支持国际化,亮色暗色切换等
Vite · 后台

super-admin
React Admin template with multiple cached tabs 🔨... 管理后台多tab缓存标签页解决方案,正在建设中 🔨...
Vite · 后台

react-vite-tailwind-typescript-firebase-auth-template
Good starting point for your next application with React.JS, TypeScript, TailwindCSS, Firebase Auth and Vite.
Vite · 后台
