Commit Graph

34 Commits

Author SHA1 Message Date
Gitead
75538126f2 docs: note server_names_hash_bucket_size fix for long local-<office> hostnames
Community Dentists of Lowell hit this during LAN HTTPS setup; documenting
it in Step 6 saves the next office from rediscovering it.
2026-07-31 10:11:36 -04:00
55d798b45f docs: add Google Cloud Vision setup section to root README
Fresh-machine setup guide didn't cover the Payment OCR Service's Google
Vision credentials — add it as its own section (enable API, create
service-account key, install as google_credentials.json, verify).
2026-07-30 23:52:37 -04:00
Gitead
8c65c3d625 docs: clarify RustDesk autostart opens a window, not just the service tray
The core service already auto-spawns its own tray icon per session, so
Step 18's autostart entry is specifically for opening the main window.
Also note that a permanent password avoids the OTP-refresh confusion
where the window briefly shows one password then updates to another.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-19 23:58:50 -04:00
Gitead
27e5b73138 docs: add step to remove gnome-keyring after enabling autologin
Autologin skips password entry, so the login keyring never unlocks and
apps keep popping "Authentication required". Document removing it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-19 22:54:58 -04:00
Gitead
78ee0b92fe docs: add optional step for auto-starting Chrome and RustDesk on login 2026-07-19 22:26:23 -04:00
Gitead
6062b646ce docs: fix Chrome install step, apt-key is removed on Debian 13+ 2026-07-19 22:12:39 -04:00
Gitead
158634f8de docs: add optional RustDesk remote support step to setup guide 2026-07-19 18:32:58 -04:00
Gitead
75781b92a6 docs: add auto-login and git install steps to setup guide 2026-07-19 18:27:06 -04:00
ff
8b245d00c6 docs: add troubleshooting for router DNS rebinding protection
Some routers (confirmed on Verizon Fios/G3100) block the local-<office>
hostname from resolving because it's a public domain pointing at a
private LAN IP, which matches the DNS rebinding attack pattern. Document
the router-level fix (DNS Rebind Protection exception) and the per-machine
hosts-file workaround for both the Debian server and Windows staff PCs,
including the antivirus hosts-file-lock gotcha on Windows.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 23:35:35 -04:00
c4c69bfd62 docs: document Twilio-only-scoped Cloudflare Tunnel variant
Adds the actual config used for Summit Dental Care, where the tunnel
points at nginx's port-80 Twilio-only block instead of the whole app,
so only /api/twilio/* is reachable from the internet.
2026-07-12 18:08:22 -04:00
0d2fe63b9b docs: note disabling Apache before nginx install
We hit this exact conflict during setup (Apache pre-installed and
bound to port 80), so nginx failed to start until it was disabled.
2026-07-12 17:57:15 -04:00
44dea49fd1 docs: add LAN HTTPS setup guide (nginx + certbot + Cloudflare DNS-01)
Documents the trusted-certificate setup used for local staff access,
needed because the Screen Capture API (Copy Agent screenshots) requires
a secure context.
2026-07-12 17:34:12 -04:00
b49877af52 docs: add Development Hosts & Ports section to README 2026-07-08 23:27:35 -04:00
8eb2bceabb docs: add nginx install instructions to README step 12
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-03 22:36:34 -04:00
Summit Dental Care
f93fef56aa docs: move rclone install to Step 7 with other system dependencies
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 00:28:30 -04:00
Summit Dental Care
3d0af3bcb6 docs: add rclone install step to README setup guide
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 00:09:57 -04:00
ff
921ecbe10a docs: add security setup section to README — passwd, root password, SSH check
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 15:51:15 -04:00
ff
2b3ac99173 docs: add Compile & Deploy to New PC section to README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 15:24:13 -04:00
ff
f5f3768108 feat: add Network Backup section to Database Management
PC2 can now automatically pull and restore a fresh copy of PC1's database
on a daily schedule. Config and API key are stored in local JSON files so
they survive database restores.

- New networkSyncConfigService: file-based config (network-backup-key.json,
  network-sync-config.json) that persists through DB restores
- New networkSyncService: streams live pg_dump from source PC over HTTP and
  pipes into psql, then reconnects Prisma and applies missing migrations
- 6 new endpoints: get/regenerate API key, serve backup stream (key-auth
  only), get/save sync config, trigger immediate sync
- Hourly cron job that fires only when current hour matches configured syncHour
- NetworkBackupManager component: shows this machine's key (show/copy/regen)
  and receiver config (enable toggle, hour picker 0-23, source URL + key,
  Save + Sync Now, last sync status)
- README setup guide for both PCs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 00:15:42 -04:00
ff
ddcc49b72c feat: add in-browser dial pad with Twilio Voice SDK
- New DialPad component on Patient Connection page: clickable keypad,
  call/hangup/mute buttons, duration timer, keyboard input support
- Backend: POST /api/twilio/voice-token issues Access Token for browser
  Device; POST /api/twilio/webhook/voice-browser is the TwiML webhook
  Twilio calls to bridge the browser to the patient's phone
- TwiML App SID field added to Twilio Settings (stored in templates JSON)
- README: one-time Twilio Console setup instructions for the dial pad

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 22:24:53 -04:00
ff
1b017177e9 feat: add stop-app script and update desktop shortcut setup
Adds stop-app.sh to kill all services by port (5000-5003, 3000/3001)
and updates setup-desktop-shortcut.sh to create both Start and Stop
desktop shortcuts in a single run. README Step 13 updated accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 22:00:06 -04:00
ff
070752380d feat: add license activation system with feature gates
- License key generator tool at ~/Desktop/LicenseGenerator
- Backend validator route (GET /api/license/status, POST /api/license/activate)
- Activation page in sidebar with status, key input, and free/premium feature list
- useLicense hook for frontend license state
- Feature gates: premium eligibility buttons (DDMA, DeltaIns, Tufts, United, CCA) disabled without license
- Feature gates: premium claim buttons (CCA, Delta MA, United, Tufts) and all PreAuth buttons disabled without license
- Free features always active: MassHealth eligibility/claim, Documents, Payments, Backups, Reports
- README: license key generator usage instructions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 21:22:34 -04:00
ff
594df39741 docs: add Claude Code memory backup instructions to README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 12:43:09 -04:00
ff
5dcc1b2af5 docs: document per-office Cloudflare env setup in README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 12:01:24 -04:00
Gitead
427cca7f40 docs: add desktop shortcut setup instructions to README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 00:03:10 -04:00
Gitead
58b2e4af93 docs: add Cloudflare tunnel setup guide and ports reference
Add step-by-step Cloudflare tunnel setup to README.md with Summit Dental Care as a multi-office example. Create docs/ports.md documenting all service hosts and ports.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 23:25:44 -04:00
Gitead
7929dc6e19 feat: office address, multi-template SMS manager, hardcoded defaults with auto-seed
- Add streetAddress/city/state/zipCode fields to OfficeContact (schema + storage + UI)
- Support {officeAddress} variable in batch reminder SMS
- Replace single SMS template field with full CRUD template list (add/rename/edit/delete)
- Store SMS template list under _sms_template_list; first template synced to batch reminder
- Hardcode all AI chat template defaults into codebase (reminder SMS, greetings, fallback)
- Add seed-templates.ts that auto-seeds default templates for all users on server boot
- Update README: note that templates are auto-configured on first boot

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 23:18:04 -04:00
Gitead
b73b8c97c6 docs: add nginx deploy instructions and fix Authorization header config
- Add proxy_set_header Authorization to /api/ location (required or token is stripped)
- Add Step 11 to README explaining how to install the nginx config

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 13:17:19 -04:00
Gitead
f126fb7364 docs: use venv python for SeleniumService run command 2026-04-18 21:48:01 -04:00
Gitead
1a9b0ee928 docs: update Step 8 — Python deps now installed automatically via npm install 2026-04-18 20:55:13 -04:00
Gitead
74f930b69a docs: update Step 5 PostgreSQL setup for Debian (md5 auth, dentalapp db) 2026-04-18 19:57:17 -04:00
ff
e10126f772 docs: rewrite README with complete step-by-step setup guide
Adds ordered setup steps (Node.js, Python, Chrome, PostgreSQL, Redis,
pip dependencies) so a fresh machine can be fully configured from
git clone to running the app without guessing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 22:30:15 -04:00
71b28c613c Update README.md 2026-04-14 01:33:48 +00:00
bb57c64679 Add README.md 2026-04-05 03:41:17 +00:00