Mirobody
The canonical registry of human health — roughly two thousand standardized indicators, clinical and lifestyle, resolved into one language.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Zamboanga Regional Medical Center's online system for patients, staff and referring facilities.
A web app with two patient services:
Patients get SMS messages at each step, plus automatic reminders.
The home page has two buttons: Public (records, OPD, tracking, directory and the referral portal) and Staff (Flag Ceremony Attendance and the Staff Panel). /#staff opens the Staff side directly, e.g. for a bookmark on hospital PCs.
Requires Node.js 22. Without a DATABASE_URL, the app uses a built-in database stored in ./data, so nothing else needs installing.
npm install
cp .env.example .env # Windows: copy .env.example .env
npm start # http://localhost:3000
npm test
On Windows PowerShell, if npm is blocked by "running scripts is disabled", type npm.cmd instead of npm.
| Page | URL |
|---|---|
| Home | / |
| Request records | /request-records |
| Book OPD | /book-opd (add ?department=PEDIA to preselect a clinic) |
| Track / cancel | /track |
| Staff panel | /admin (first login: admin / admin123, or the ADMIN_USERNAME / ADMIN_PASSWORD you set) |
Vercel runs the API as a serverless function and serves the pages from public/. Supabase stores the data. The app creates its tables automatically on first use.
postgresql://postgres.abcdefgh:[YOUR-PASSWORD]@aws-0-ap-southeast-1.pooler.supabase.com:6543/postgres[YOUR-PASSWORD] with your database password. If the password contains symbols such as @, # or /, reset it to letters and numbers only in Project Settings → Database.In Vercel, open your project and go to Settings → Environment Variables. Add these:
| Name | Value |
|---|---|
DATABASE_URL | the Supabase connection string from step 1 |
SESSION_SECRET | a long random string (40+ letters and numbers) |
ADMIN_PASSWORD | the first staff password (you can change it later in Settings) |
CRON_SECRET | another long random string, used for reminders (step 3) |
HOSPITAL_NAME | your hospital's name |
SMS_PROVIDER, SEMAPHORE_API_KEY, … | see SMS setup |
Then go to Deployments, open the ⋯ menu on the latest deployment and choose Redeploy. Environment variable changes only take effect after a redeploy.
Vercel's free plan only runs scheduled jobs once a day, so reminders use a free external scheduler:
https://YOUR-APP.vercel.app/api/cron/reminders?key=YOUR_CRON_SECRET.Each call sends any reminders that are due. A reminder is never sent twice, even if calls overlap. You can test the URL in your browser: it should show {"ok":true,"sent":0}.
anon key anywhere.SESSION_SECRET.RECORDS_CLAIM_DAYS). If that date falls on a weekend or a closed date set in Settings, it moves to the next working day, so a Friday request is claimable on Monday.On the last step of a records request (email is required), the requester chooses:
This is the beginning of the README. Read the rest at the original. Read the full README ↗