TCM Clinic Management System: customer records · treatment records · service packages · review and follow-up
Documentation site: cuihairu.github.io/sinomed
Demo site https://sinomed.cuihairu.site/ | Demo account admin / 123 (for sandbox exploration; data is reset periodically)
The demo environment starts with a single
compose.ymlat the repo root: server + admin frontend + a persistent SQLite volume. WithDEMO_SEED=true, it idempotently seeds a fully fictional, de-identified demo dataset (customers, TCM treatment records, service packages, review and follow-up, appointments, stored-value ledger, and pending-checkout orders). Staff demo accounts:gu(director),shen(TCM physician),su(front desk), all with the password123. Images are published to ghcr.io by CI (latest+sha-<short commit>).
A single design language runs across five device targets: a graphite × antique gold theme (the grey and gold from the brand logo), a rice-paper background, and serif headings, plus three switchable theme colors — pine green, cinnabar, and indigo. Below are screenshots of the implemented pages for each target (all data is fictional demo data).
Admin frontend (web · customer records / consultation chart)
Theme switching (admin frontend · appearance settings; four theme colors, one click each)
Appointment scheduling (admin frontend · booking / arrival list / arrival-to-consult handoff / per-day doctor-by-time-slot schedule grid; mini-program self-service booking implemented)
Billing and checkout (admin frontend · settlement desk: pending-checkout queue + stored-value / WeChat / Alipay / cash / per-visit card deduction payments, receipt printing, refund and daily reconciliation)
Herbal prescription (admin frontend · prescription create / query: herb doses and special decoction methods; compatibility review, allergy check, pricing, decoction and paste fulfillment, and the dispensary workbench)
Desktop workstation (desktop · consultation charting + receipt printer / barcode scanner status)
Mini program (app · bottom tabs: home / self-service booking / card / profile; card lookup implemented — openid and SMS two-factor, gated by sinomed.phone-lookup.mode (default off) with audit logging, see the phone-card-lookup ruling; customer login and card purchase remain planned)
In-store kiosk (kiosk · service selection and ordering)
Waiting-area display (tablet · promo carousel + queue calls)
The admin frontend also has designs for the daily report, service packages, orders, ad displays, appearance settings, and more; see docs/design/mockups/ and the documentation site.
Implemented today: appointment scheduling (admin list / booking / arrival handoff / per-day schedule grid, plus mini-program self-service booking), billing (settlement desk with stored-value / WeChat / Alipay / cash / per-visit card deduction, receipt printing, refund and daily reconciliation), herbal prescription (create / query with compatibility review, allergy check, pricing, decoction and paste fulfillment, dispensary workbench), mini-program card lookup (openid + SMS two-factor, mode-gated by sinomed.phone-lookup.mode, audited), famous-doctor tiering (level 0-3 with roster sort and surge cap), desktop workstation, in-store kiosk, waiting-area display.
Online payment gateway stays open pending real merchant credentials (out of scope by policy until then). Not planned, by recorded decision (2026-10-14 ruling reaffirmed): Western / patent medicine prescriptions, multi-store chains, purchase orders and stocktaking — single-store TCM clinic scope. Scope rulings live in docs/research/features.md; the audit trail is docs/审计-文档一致性.md.
sinomed/
├── server/ # Server (Java 21 / Maven, includes Dockerfile and deployment scripts)
├── web/ # Admin frontend (Ant Design Pro / Umi, Node.js 24, pnpm)
├── app/ # Mini program (Taro multi-platform project, Node.js 24, pnpm)
├── desktop/ # Desktop workstation shell (Tauri 2, Windows)
├── kiosk/ # In-store kiosk (service selection and ordering)
├── tablet/ # Waiting-area display (promo carousel + queue calls)
└── docs/ # Documentation site (VitePress) and research notes
- Source code for
server/,app/, andweb/is maintained directly in this repository. - Backend build (requires Java 21; Maven version pinned at 3.10.0 by the wrapper in
server/.mvn/wrapper):cd server && ./mvnw -B package. - Frontend build (requires Node.js 24): in
web/, runpnpm install && pnpm build; the mini program underapp/works the same way.
For details on each component, see the README in each directory and the documentation site.
See README.zh.md for the Chinese version.









