Files
bsk/README.md
T
tiennm99 0a08f80450 feat(phase-1): db schema init (bsk_init migration + roles)
- supabase/migrations/20260525163300_bsk_init.sql: bsk schema, app_role
  enum, app_users enrollment table, current_role() SECURITY DEFINER
  STABLE helper, RLS enabled with two SELECT policies (own row + admin)
- types/supabase-bsk.ts: hand-written placeholder mirroring canonical
  supabase gen output; regenerate via pnpm db:gen-types after migration
  applied
- lib/db/roles.ts: appRoles tuple + AppRole union + satisfies guard
  against generated enum + isAppRole type guard
- package.json: db:gen-types script
- README: one-line note on regenerating types after db:push
- plans/: include phase 02/04/06 detail files alongside the existing
  01/03/05 (planner output that wasn't committed with the trim)
2026-05-25 17:23:08 +07:00

1.7 KiB

BSK (Rewrite)

An educational rewrite of the BSK All-in-One Clinic Management System into a modern web stack.

Original project: lds217/BSK-All-in-One-Clinic-Management-System by @lds217 — a Java/Swing desktop application with a Netty server and SQLite backend, built for small Vietnamese clinics.

This repository is a clean-room reimplementation for learning purposes. No source code is copied from the original; features and data shapes are reimplemented from the upstream README and observable behavior. See NOTICE for full attribution.

Status

Planning phase. See PLAN.md for the architecture and phased roadmap.

Stack

  • pnpm + Next.js 16 (App Router) + TypeScript
  • Supabase (Postgres + Auth + Storage) — shared across personal projects via schema-per-app
  • Upstash Redis + QStash — shared across personal projects via key prefixes
  • Vercel for hosting
  • shadcn/ui + Tailwind CSS

Important disclaimers

  • Educational use only. This codebase is not certified for clinical use and must never be deployed against real patient data. Use synthetic data only.
  • No HIPAA / GDPR compliance is implied or attempted on the free-tier infrastructure.
  • This is a derivative work for learning; if you are the upstream author and would like additional attribution or removal, please open an issue.

Database

After pnpm db:push, run pnpm db:gen-types to refresh types/supabase-bsk.ts.

License

This repository is licensed under the Apache License 2.0. The original project does not currently carry an explicit license; see NOTICE for the attribution stance.