React后台

kwtsms-monday — React 后台模板

作者 boxlinknet

kwtSMS for monday.com 是一个免费的 monday.com 市场应用,通过 kwtSMS 网关发送单向短信,面向在 monday 看板上维护联系人并希望直接发短信的 GCC 客户。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

通过 kwtSMS 网关发送单向短信,支持账户设置、默认发送者 ID 和国家前缀

02

条目视图标签页可从 Phone 列或指派人发送单条短信,并在时间线保留完整历史

03

看板菜单支持对选中条目批量发送,发送前预览逐条解析结果,并按批次去重

04

提供四条自动化触发器:条目创建、状态列变更、任意列变更、日期列前 T-N 天

05

模板占位符覆盖条目、列、用户、看板和日期时间,缺失值替换为空而不发送字面占位符

06

仪表盘部件展示余额、今日/本月发送量、7 天失败率及已送达/失败堆叠柱状图

模板详细介绍

该模板对应 monday.com 市场应用 kwtSMS for monday.com,通过 kwtSMS 网关发送单向短信,主要面向在 monday 看板上保存联系人、希望不切换到其他工具即可发短信的 GCC 客户。README 说明其运行时托管在 monday-code(Cloud Run),使用 Node 20、Express 4、React 18 + Vibe;凭据、配置、模板、日志和去重索引存放在 @mondaycom/apps-sdk 的 SecureStorage 中,并配有模块级进程内缓存(TTL 10–60 秒)。功能包括账户设置、条目视图标签页单发、右键条目快捷发送、看板菜单批量发送、看板视图自由发送、仪表盘部件,以及四条自动化触发器和一组模板占位符。README 也给出了本地开发命令、monday-code 部署命令和所需 OAuth 作用域。README 未提供界面截图说明、定价、多语言支持或除 GCC 之外的号码覆盖范围。

React后台

适合你的项目吗?

适用场景

  • 在 monday 看板上管理 GCC 客户联系人,需要直接从条目发送短信通知
  • 对选中的多条看板条目批量发送短信,并在发送前核对每个条目的号码解析
  • 用自动化配方在条目创建、状态变更或日期临近时触发短信
  • 在仪表盘上查看短信余额、发送量和失败率

适合人群

  • 在 monday.com 上维护联系人并希望直接发短信的 GCC 客户
  • 需要按条目或批量发送单向短信的 monday.com 团队
  • 希望通过 monday 自动化配方触发短信的用户

上手与定制指南

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

  1. 1

    本地开发需要 Node 20,以及 .env.test 中列出的 kwtSMS 和 monday 凭据(该文件被 gitignore)

  2. 2

    构建命令:npm run build:server(tsc → dist/)、npm run build:client(vite → dist-client/)或 npm run build

  3. 3

    测试命令:npm test 仅运行单元测试;npm run test:integration 会调用真实 kwtSMS API 并消耗点数

  4. 4

    部署到 monday-code 使用 mapps code:push -i <draft-version-id>

  5. 5

    应用需要 boards:read、boards:write、notifications:write、users:read、updates:write 作用域

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 本地开发需要 Node 20,以及 .env.test 中列出的 kwtSMS 和 monday 凭据(该文件被 gitignore),即需要自备 kwtSMS 与 monday 账号凭据。
  • 集成测试会调用真实 kwtSMS API 并消耗点数,可能产生短信费用。
  • 部署到 monday-code 需使用 mapps code:push -i <draft-version-id>,依赖 monday-code 托管环境。
  • 运行时托管在 monday-code(Cloud Run),属于外部托管服务。
  • 凭据、配置、模板、日志和去重索引存放在 @mondaycom/apps-sdk 的 SecureStorage 中,依赖 monday 平台存储。
  • 需要 boards:read 作用域以读取列值、条目和看板。
  • 需要 boards:write 作用域以在发送后写入状态列。
  • 需要 notifications:write 作用域以在余额为零或网关离线时发送应用内通知。
  • 需要 users:read 作用域以将条目指派人解析为其资料电话。
  • 需要 updates:write 作用域以从配方发布时间线更新。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Requires Node 20 and the kwtSMS + monday credentials listed in `.env.test` (gitignored).

README 原文

npm run test:integration # hits real kwtSMS API; consumes points

README 原文

For deployment onto monday-code, `mapps code:push -i <draft-version-id>`.

README 原文

- **Runtime**: hosted on monday-code (Cloud Run). Node 20, Express 4, React 18 + Vibe.

README 原文

- **Storage**: `SecureStorage` from `@mondaycom/apps-sdk` for credentials, config, templates, logs, and dedup indexes. Module-level in-process cache (10-60s TTL) fronts every read to keep the warm path fast.

README 原文

- `boards:read`: read column values, items, boards for placeholder and phone resolution

README 原文

- `boards:write`: write status column after a send

README 原文

- `notifications:write`: post in-app bell notifications on zero balance / gateway offline

README 原文

- `users:read`: resolve assigned People on items to their profile phone

README 原文

- `updates:write`: post timeline updates from recipes

README 原文
https://github.com/boxlinknet/kwtsms-monday/blob/main/LICENSEhttps://github.com/boxlinknet/kwtsms-monday/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

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

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

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

查看当时使用的来源资料

SHA-256: 2e96c127dd2cb635657ae461e392ce3e33bb08d6ba4db53405c197853c3a0b36

2026-10-15T06:43:11.034Z

来源文件 / 仓库
# kwtSMS for monday.com

[![monday marketplace](https://img.shields.io/badge/monday.com-marketplace-0073ea?logo=monday&logoColor=fff)](https://monday.com/marketplace)
[![Node.js](https://img.shields.io/badge/node-20.x-339933?logo=node.js&logoColor=fff)](https://nodejs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5-3178c6?logo=typescript&logoColor=fff)](https://www.typescriptlang.org/)
[![React](https://img.shields.io/badge/React-18-61dafb?logo=react&logoColor=000)](https://react.dev/)
[![Express](https://img.shields.io/badge/Express-4-000?logo=express&logoColor=fff)](https://expressjs.com/)
[![Jest](https://img.shields.io/badge/tests-jest-c21325?logo=jest&logoColor=fff)](https://jestjs.io/)
[![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE)

A free monday.com marketplace app that sends one-way SMS through the kwtSMS gateway. Built for GCC customers who keep contacts on monday boards and want to text them without bouncing to a separate tool.

## About kwtSMS

[kwtSMS](https://www.kwtsms.com) is a Kuwait-based SMS gateway operating since 2007, offering Bulk SMS, an SMS API, OTP SMS, Reminder SMS, and sender IDs. Proudly made in Kuwait.

## Features

- **Account Settings**: login with kwtSMS credentials, set default sender ID / country prefix, manage templates, inspect delivery logs, configure bell notifications.
- **Item View tab**: send a single SMS from any item using Phone columns or assigned People on the item. Full per-item history on the timeline.
- **Right-click item action**: quick single-item send from the context menu with "From this item / Custom number" modes.
- **Bulk send**: board menu action over selected items: pick a phone source once (Phone column or People column), preview per-item resolution, send to many with per-batch dedup.
- **Board view**: free-form quick send to arbitrary numbers with recent-messages log scoped to the board.
- **Dashboard widget**: balance, sent today, sent this month, 7-day failure rate + stacked delivered/failed bar chart.
- **Integration recipes (automation)**: four triggers:
  - When an item is created
  - When a status column changes to a value
  - When any column changes
  - T-N days before a date column
- **Template placeholders**: `{item.name}`, `{item.id}`, `{item.url}`, `{item.group}`, `{item.created_at}`, `{item.updated_at}`, `{item.creator_name}`, `{item.creator_email}`, `{column.<Title>}` (case-insensitive), `{user.name}`, `{user.email}`, `{user.phone}`, `{user.title}`, `{user.location}`, `{board.name}`, `{board.url}`, `{date}`, `{time}`. Missing values substitute to empty: never ship a literal `{...}` in an SMS.

## Architecture

- **Runtime**: hosted on monday-code (Cloud Run). Node 20, Express 4, React 18 + Vibe.
- **Storage**: `SecureStorage` from `@mondaycom/apps-sdk` for credentials, config, templates, logs, and dedup indexes. Module-level in-process cache (10-60s TTL) fronts every read to keep the warm path fast.
- **Cold-start mitigation**: Express awaits `SecureStorage` GCP-identity warmup before opening the port; a 2-minute keep-alive refreshes the auth token before its 3-minute TTL; a `/api/prewarm` GET endpoint is hit by every iframe on mount so POSTs (non-idempotent) never race a cold instance.
- **Phone normalisation**: GCC-aware with `libphonenumber-js`: accepts bare national, `00`-prefixed, `+`-prefixed, Arabic-Indic and Persian digits, leading zero trim, first-valid-match fallback across coverage countries.
- **Dedup**: per-batch only (in-memory `Set<string>` keyed by phone + cleaned body + sender). No time window, no persisted deduplication: two manual sends to the same number minutes apart always go through.

## Local development

Requires Node 20 and the kwtSMS + monday credentials listed in `.env.test` (gitignored).

```bash
npm install
npm run build:server       # tsc → dist/
npm run build:client       # vite → dist-client/
npm run build              # both
npm test                   # unit only
npm run test:integration   # hits real kwtSMS API; consumes points
```

For deployment onto monday-code, `mapps code:push -i <draft-version-id>`.

## Scopes

- `boards:read`: read column values, items, boards for placeholder and phone resolution
- `boards:write`: write status column after a send
- `notifications:write`: post in-app bell notifications on zero balance / gateway offline
- `users:read`: resolve assigned People on items to their profile phone
- `updates:write`: post timeline updates from recipes

## Support

<https://www.kwtsms.com/support.html>
反馈内容错误

看看同类模板

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