docs: add Compile & Deploy to New PC section to README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
ff
2026-06-10 15:22:41 -04:00
parent 949e64c129
commit 2b3ac99173

View File

@@ -482,6 +482,52 @@ After a successful test, the sync will run automatically at the scheduled hour e
---
## Compile & Deploy to New PC
### The Plan
On your dev PC, run `npm run build` — this compiles the Frontend (React → `dist/`) and Backend (TypeScript → JS). The result is placed in a new deploy folder that contains no source code, then copied via USB to the office PC.
```
/home/ff/Desktop/DentalManagement-Deploy/ ← copy this to the new PC (no source code inside)
```
### New Office PC — One-time Setup (manual)
| Step | How |
|---|---|
| Install Linux, Chrome, PostgreSQL, Python, Node | Manually |
| Install RustDesk | Manually |
| Paste the deploy folder from USB | You |
| Run `setup.sh` | You |
| Enter license key in Activation page | You |
### Updates (after bug fixes)
Build on dev PC → copy only the updated `dist/` folders via USB to the office PC (not the whole folder):
```
apps/Backend/dist/ → /home/ff/Desktop/DentalManagement-Deploy/apps/Backend/dist/
apps/Frontend/dist/ → /home/ff/Desktop/DentalManagement-Deploy/apps/Frontend/dist/
```
### License System
- All PCs (including your dev PC) need a license key every 3 months
- Keys have no machine ID — just an expiry date + your HMAC signature
- Generate a key: `node /home/ff/Desktop/LicenseGenerator/generate-license.js`
- Key format: `DENTAL-{24-char-signature}-YYYY-MM-DD`
- `secret.key` must be backed up — losing it invalidates all existing keys
### Free vs Premium
| Tier | Features |
|---|---|
| **Free** | MassHealth Eligibility, MassHealth Claim, Documents, Payments, Database Backups, Reports |
| **Premium (license required)** | CCA, DDMA, United, Tufts Eligibility & Claims, Pre-Auths, AI SMS |
---
## Claude Code Memory
Claude Code (the AI assistant used to build this project) stores its memory locally on the PC. This memory contains project context, architecture decisions, feature history, and working preferences — allowing Claude to pick up where it left off in new sessions.