RotaCat — Smart ED scheduling, made effortless
Translation pending
HealthJavaScript · TypeScriptGitHub @vic-ecOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A shift scheduling PWA for the VHW Emergency Centre medical team. Replaces a manual PDF-based rostering process with an automated scheduler, admin tools, and a doctor-facing portal.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A shift scheduling PWA for the VHW Emergency Centre medical team. Replaces a
manual PDF-based rostering process with an automated scheduler, admin tools,
and a doctor-facing portal. This tool was created independently and is not
endorsed by WCG, NDoH, or VHW.
• Frontend: React + Vite + Tailwind CSS, deployed on Vercel
• Backend (scheduling engine): Python FastAPI + OR-Tools, deployed on Render
• Database / Auth / Storage: Supabase
2. Copy the environment template and fill in your Supabase values:Read the full README ↗A shift scheduling PWA for the VHW Emergency Centre medical team. Replaces a manual PDF-based rostering process with an automated scheduler, admin tools, and a doctor-facing portal. This tool was created independently and is not endorsed by WCG, NDoH, or VHW.
Install dependencies:
npm install
Copy the environment template and fill in your Supabase values:
cp .env.example .env.local
Then edit .env.local and set:
VITE_SUPABASE_URL — your Supabase project URLVITE_SUPABASE_PUBLISHABLE_KEY — your Supabase publishable keyBoth values are available in Supabase under Project Settings → API Keys.
Start the dev server:
npm run dev
The app will be available at http://localhost:5173
src/
components/ Shared UI components (layout, route guards)
context/ React context providers (auth/session state)
lib/ External service clients (Supabase)
pages/ Route-level page components
styles/ Global CSS and Tailwind entry point
VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY) in the
Vercel project settings./backend (added in a later phase) for the FastAPI
scheduling engine, deployed separately on Render.preview branchEvery branch pushed here gets its own Vercel preview deployment, but you can only sign in on one of them.
Login is gated by Cloudflare Turnstile, and a Turnstile site key only issues
tokens on hostnames listed in its Hostname Management allowlist. A per-branch
preview URL (rotacat-git-<branch>-vhw-ec.vercel.app) is not on that list, so
the widget fails with error 110200 (domain not allowed), no token arrives, and
the submit button stays disabled. Unsetting VITE_TURNSTILE_SITE_KEY for the
Preview environment does not help — Supabase Auth verifies the captcha
server-side, so sign-in then fails for a missing token instead. Nor is there
a wildcard: Cloudflare rejects vercel.app as a public-suffix domain.
So there is one long-lived branch, preview, whose Vercel alias never changes:
https://rotacat-git-preview-vhw-ec.vercel.app
That hostname is allowlisted in the Turnstile widget's Hostname Management list, so sign-in works there. Nothing needs to change in Cloudflare for a new branch.
To review a branch, point preview at its head:
git fetch origin <branch-to-review>
git push --force origin FETCH_HEAD:refs/heads/preview
Vercel redeploys and re-aliases the same hostname to that commit — including when that commit already has a preview deployment of its own under its real branch name.
One exception: Vercel will not build a commit that is already deployed to
production, so pointing preview at main's head (or at a PR head that
has just been merged and promoted) produces no deployment and leaves the alias
where it was. Review before merging, or push a throwaway commit on top.
preview is a disposable review pointer, never a source of truth: don't commit
to it, don't merge from it, and expect anyone to force-move it at any time.
Preview deployments are behind Vercel SSO (deployment protection is on for everything except custom domains), so a reviewer also needs access to the Vic-EC Vercel team to open them.
See FUTURE_IDEAS.md for unscoped feature ideas not yet
tied to a build phase.
This repository is proprietary — see LICENSE. It is published
on GitHub for visibility and collaboration, not as open-source software; no
license to use, copy, modify, or redistribute the code is granted.