tiennm99 2d5e4e92f9 docs(plan): trim phase 1 to features present in original
Drop audit-log table + write helper, Playwright E2E, sign-in rate
limiting, and the `next=` open-redirect guard — none are present in
the original lds217/BSK project (Java/Swing/SQLite, no tests,
LAN-only).

Resolves D1-D7 from the planner's open-questions list:
- D1 magic link: defer
- D2 first-admin: advisory lock (Strategy A)
- D3 audit log: cut
- D4 sign-in route: [locale]/(auth)/sign-in
- D5 Playwright: defer
- D6 E2E target project: moot
- D7 rate-limit keying: cut

Generic-error-on-unenrolled is kept — it defends against the shared
auth.users enumeration vector, which is platform-introduced, not a
new feature.
2026-05-25 17:18:00 +07:00
2026-05-23 22:35:19 +07:00

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.

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.

Languages
TypeScript 87.7%
PLpgSQL 10.9%
JavaScript 1%
CSS 0.4%