HTML后台SaaS

loggic-dashboard — HTML 后台模板

作者 olimartel6

Loggic Dashboard 是一个自托管的 Node.js + Express 仪表盘,把冷邮件线索、租户部署、任务和回复记录集中到一个页面,数据以本地 JSON 文件存储。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-15查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

单页展示线索、演示部署、回复记录和付费客户等 KPI

02

3D Mapbox 地图按行业着色标记所有潜在客户,支持热力图切换和状态/行业/城市筛选

03

从 Instantly.ai 拉取冷邮件活动分析,并显示最近 12 条线索的打开/点击/回复数据

04

租户网格支持一键删除并从 SaaS 配置自动重新部署

05

所有数据存储在本地 data/ 目录的 JSON 文件中,无需数据库

06

手动回复日志覆盖 Messenger、Instagram、邮件、电话和短信渠道

模板详细介绍

Loggic Dashboard 最初用于管理 LogicSupplies 的冷启动流程,现作为模板开源。它把 Instantly 冷邮件活动分析、GitHub 动态、手动回复日志、每日任务面板和租户部署状态集中到一个屏幕,每 60 秒刷新。后端是单文件 server.js,前端使用普通 HTML、Tailwind CSS CDN、Chart.js 和 Mapbox GL JS 渲染 3D 地图。所有数据存放在 data/ 目录的 JSON 文件中,无需数据库,单个 Node 进程即可运行。

README 明确说明这是一个个人使用的模板,而非打磨过的产品。仪表盘在没有环境变量时也能运行,但 3D 地图至少需要 MAPBOX_TOKEN 才能渲染;租户列表和地图接口需要 LOYALTY_REPO_PATH 指向包含租户配置的 SaaS 仓库。Instantly 分析、GitHub 动态、Telegram 收件箱计数等集成均为可选。README 的 Roadmap 列出了尚未实现的功能,如 Instantly 回复 webhook、Slack/Telegram 通知、CSV 导出和 Postgres 适配器。

HTML后台SaaS

适合你的项目吗?

适用场景

  • 独立 SaaS 创始人希望在一个屏幕上查看冷启动外联和租户部署的整体状态
  • 使用 Instantly.ai 运行冷邮件活动,需要集中查看活动分析和最近线索
  • 在魁北克等地为本地商家部署多个租户演示,需要按行业和城市在地图上查看分布
  • 通过 Messenger、Instagram 等渠道手动跟进潜在客户,需要记录对话状态和每日任务

适合人群

  • 运行小型 SaaS 并自行管理冷启动外联的独立开发者
  • 使用 Instantly.ai 和 GitHub 且愿意自行配置环境变量的技术用户
  • 需要自托管、数据留在本地的线索跟踪工具的团队
  • 能够接受个人项目模板、愿意按 README 自行调整配置的开发者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    克隆仓库后运行 npm install,复制 .env.example 为 .env 并按需填写变量

  2. 2

    运行 node server.js 后访问 http://localhost:4242

  3. 3

    3D 地图需要 MAPBOX_TOKEN(pk.* 公开令牌),可从 account.mapbox.com 免费获取

  4. 4

    租户列表和地图接口需要设置 LOYALTY_REPO_PATH 指向包含租户配置的 SaaS 仓库

  5. 5

    Instantly、GitHub、Telegram 等集成为可选,未配置时对应功能不可用

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 3D 地图渲染至少需要 MAPBOX_TOKEN(Mapbox 公开令牌),需在 account.mapbox.com 注册获取;未配置时地图无法渲染。
  • 租户列表与地图接口需要设置 LOYALTY_REPO_PATH,指向包含租户配置的 SaaS 仓库,否则 /api/demos 和 /api/map 不可用。
  • Instantly 冷邮件活动分析需要 INSTANTLY_API_KEY 与 INSTANTLY_CAMPAIGN_ID,属于外部服务凭据。
  • GitHub 动态面板需要设置 GITHUB_USER,并依赖本机 gh CLI。
  • Telegram 收件箱计数需要 TELEGRAM_INBOX_PATH 指向本地收件箱文件夹,未配置时该功能不可用。
  • 作者明确说明这是个人使用模板而非打磨过的产品,不保证生产级质量。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

The dashboard runs without any env vars (everything degrades gracefully) but the Mapbox map needs at least `MAPBOX_TOKEN` to render — get a free pk.* token at [account.mapbox.com](https://account.mapbox.com/auth/signup/).

README 原文

| `LOYALTY_REPO_PATH` | Path to your loyalty SaaS repo with `src/config.js` containing tenant blocks. Required for `/api/demos` and `/api/map`. |

README 原文

| `INSTANTLY_API_KEY` + `INSTANTLY_CAMPAIGN_ID` | Pull cold email campaign analytics. |

README 原文

| `GITHUB_USER` | Your GitHub username. Powers the recent repos panel via the `gh` CLI. |

README 原文

| `TELEGRAM_INBOX_PATH` | Folder of Telegram inbox files (used by some Claude Code setups). |

README 原文

This is a personal-use template, not a polished product. Things I would add if it ever evolved:

README 原文
https://github.com/olimartel6/loggic-dashboard/blob/main/LICENSEhttps://github.com/olimartel6/loggic-dashboard/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-15。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 85 / 100
技术栈
HTML
网站类型
后台 · SaaS
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-04-25
截图检查日期
2026-10-15

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 HTML。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261017 · 2026-10-16

查看当时使用的来源资料

SHA-256: 0165797f4d61d4a53b5f3027087937a7ece208aa79c519b54b0960c5fd3ff6af

2026-10-15T06:06:57.525Z

来源文件 / 仓库
# Loggic Dashboard

> Self-hosted lead-tracking dashboard for a small SaaS — Mapbox 3D map of prospects, Instantly campaign analytics, GitHub activity, prospect responses log, daily tasks panel.

Built originally to manage **[LogicSupplies](https://logiccsupplies.ca)** — a Quebec studio that builds custom loyalty apps for local businesses (cafés, restaurants, salons, gyms). Open-sourced as a template for other indie SaaS founders who want a single screen showing the full pipeline of their cold outreach + tenant deployments.

![Dashboard map](https://raw.githubusercontent.com/olimartel6/loggic-dashboard/main/.github/screenshot.png)

## What it shows

- **KPIs** — leads in your campaign, demos deployed, responses logged, paying customers
- **Tasks panel** — daily todo + done-today list with priority and tags
- **Conversion funnel** — leads → emails sent → opens → clicks → replies → customers
- **3D Mapbox map** — every prospect plotted with industry-colored markers, clickable for details, with heatmap toggle and filter sidebar (status, industry, city)
- **Instantly engagement charts** — campaign analytics from the Instantly.ai cold email platform
- **Recent leads table** — last 12 prospects with open/click/reply stats
- **GitHub activity** — recent pushes from your account
- **Tenants grid** — one-click delete + auto-redeploy of any tenant from the SaaS config
- **Responses log** — manual conversation tracker (Messenger / Instagram / email / phone / SMS) with status pills
- **Telegram inbox** counter (optional)

All data is stored locally in JSON files in `data/`. No database required. Single Node process.

## Why I built it

I was running a SaaS where I had ~130 prospect demos deployed across Quebec, an active cold email campaign in Instantly, manual DM conversations on Messenger and Instagram, and a daily todo list scattered across notes apps. There was no single view of "what's the state of my pipeline and what should I do today?"

This dashboard merges all of those signals into one screen, refreshed every 60 seconds. Free, self-hosted, no SaaS subscription on top of my SaaS.

## Tech stack

- **Backend**: Node.js + Express. Single file (`server.js`).
- **Frontend**: Plain HTML + [Tailwind CSS via CDN](https://tailwindcss.com) + [Chart.js](https://www.chartjs.org/) + [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js/) for the 3D map.
- **Data**: JSON files in `data/` (responses, tasks, geocoded prospect coords).
- **Geocoder**: [Photon (komoot)](https://photon.komoot.io/) for tenant address → lat/lng. Free, no API key.
- **Deploy automation**: optional — if you set `DEPLOY_CMD`, the dashboard runs it after a tenant deletion. Default uses `vite build` + `gh-pages`.

## Quick start

```bash
git clone https://github.com/olimartel6/loggic-dashboard.git
cd loggic-dashboard
npm install
cp .env.example .env
# edit .env with your tokens / paths
node server.js
# open http://localhost:4242
```

The dashboard runs without any env vars (everything degrades gracefully) but the Mapbox map needs at least `MAPBOX_TOKEN` to render — get a free pk.* token at [account.mapbox.com](https://account.mapbox.com/auth/signup/).

## Configuration

All optional — see `.env.example` for the full list.

| Var | What it does |
|-----|--------------|
| `MAPBOX_TOKEN` | Public Mapbox token (pk.*). Required for the 3D map. |
| `LOYALTY_REPO_PATH` | Path to your loyalty SaaS repo with `src/config.js` containing tenant blocks. Required for `/api/demos` and `/api/map`. |
| `DEMO_BASE_URL` | Base URL of your tenant deployment, e.g. `https://demo.example.com/`. Used for per-tenant demo links. |
| `INSTANTLY_API_KEY` + `INSTANTLY_CAMPAIGN_ID` | Pull cold email campaign analytics. |
| `GITHUB_USER` | Your GitHub username. Powers the recent repos panel via the `gh` CLI. |
| `LEADS_DIRS` | Comma-separated folders with leads CSV exports. Counted in `/api/leads-files`. |
| `TELEGRAM_INBOX_PATH` | Folder of Telegram inbox files (used by some Claude Code setups). |
| `DEPLOY_CMD` | Override the deploy command run after tenant deletion. |

## Tenant config format

The dashboard expects your loyalty SaaS config to look like this (one block per tenant):

```js
const configs = {
  'tenant-slug': {
    businessName: "Some Café",
    slug: 'tenant-slug',
    tagline: '...',
    logo: '...',
    address: '123 Rue Example, Québec, QC',
    phone: '418-555-0000',
    // ... other tenant fields
  },
  // ... more tenants
};
```

Block boundaries: a quoted slug key, an opening `{`, content (which can include nested objects like `theme: {}` and `rewards: []`), and a closing `\n  },` with exactly 2 spaces of indent.

## Endpoints

| Method | Path | Purpose |
|--------|------|---------|
| GET | `/api/summary` | Aggregate KPI feed |
| GET | `/api/instantly` | Campaign analytics + recent leads |
| GET | `/api/demos` | Tenant list extracted from `config.js` |
| GET | `/api/map` | Tenant points with industry classification + cached coordinates |
| GET | `/api/github` | Recent repos via `gh` CLI |
| GET | `/api/telegram` | Inbox file count |
| GET | `/api/leads-files` | Local CSV stats |
| GET/POST/PATCH/DELETE | `/api/responses[/:id]` | Manual responses log CRUD |
| GET/POST/PATCH/DELETE | `/api/tasks[/:id]` | Tasks CRUD |
| POST | `/api/tasks/find` | Find tasks by text fragment |
| GET | `/api/deploy/status` | Deploy state machine current state |
| POST | `/api/deploy` | Trigger deploy |
| DELETE | `/api/tenant/:slug` | Remove tenant from config + delete images + auto-redeploy |
| GET | `/api/industries` | Industry metadata (label, color, glyph) |
| GET | `/api/config` | Public config for the frontend (Mapbox token, GitHub user, demo base URL) |

## Privacy notes

- All data lives in `data/*.json` on your machine. Nothing leaves your computer except API calls to Mapbox and Instantly.
- `data/` is gitignored — your prospect notes, response history and tasks never get committed.
- The Mapbox token is a `pk.*` (publishable) token — designed to be exposed to the frontend.

## Roadmap

This is a personal-use template, not a polished product. Things I would add if it ever evolved:
- Webhook receiver for Instantly reply events (auto-create response entries)
- Slack / Telegram notifications when a high-priority prospect replies
- CSV export of all logged responses
- Optional Postgres adapter for users who want multi-device sync

PRs welcome but expect slow review — this is a side project.

## Credits

Built by [Olivier Martel](https://github.com/olimartel6) for [LogicSupplies](https://logiccsupplies.ca), the Quebec loyalty app studio.

## License

[MIT](./LICENSE) — do whatever you want with it.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。