Skip to main content

ការសម្រេចចិត្ត (DEC និង ADR)

រាល់ការសម្រេចចិត្តសំខាន់ៗ ត្រូវបានសរសេរទុក ជាមួយហេតុផល ជម្រើសដែលបានពិចារណា និងផលវិបាក។ អត្ថបទពេញជាភាសាអង់គ្លេស។ របៀបអាន និងរបៀបស្នើការសម្រេចចិត្តថ្មី៖ GOVERNANCE.md។ [km-review]

DEC — ការសម្រេចចិត្តរបស់គម្រោង (20)​

IDDecisionDateStatus
DEC-001Eligibility computation moves to M42026-07-31—
DEC-002Request-alert push moves to M4, token registration to M32026-07-31—
DEC-003Metrics event capture is a per-milestone requirement2026-07-31—
DEC-004Scope cut to a buildable core2026-08-07—
DEC-005All 14 districts are seeded; two codes ship provisional2026-08-18—
DEC-006iOS build target added, capped at device/simulator build2026-08-27—
DEC-007M7 internal-testing backend reached via tunnel, not a hosted deploy2026-08-29—
DEC-008New M8 (ungraded): a demo-script for explaining the app to a first-time viewer2026-08-29—
DEC-009The portal's request board is public; sign-in gates staff actions only2026-09-06accepted
DEC-010Portal staff sign in with a username and password, not Google2026-09-06accepted
DEC-011A skippable three-slide intro before sign-in2026-09-22accepted
DEC-012The demo is the deliverable; the Play Store release comes after it, if at all2026-09-23accepted
DEC-013Portal passwords come from the environment; nothing seeds one2026-09-23accepted
DEC-014v1 has no hospital staff: the portal is admin-only2026-09-26accepted
DEC-015An admin approves every request before any donor is alerted2026-09-26accepted
DEC-016Account deletion: personal data goes, anonymous counts stay2026-09-26accepted
DEC-017Admins may sign in to the portal with Google2026-09-28accepted
DEC-018No card on the project: the functions run in the portal, Firebase stays on Spark2026-09-29accepted
DEC-019Guidance follows Cambodian practice; the cooldown waits for the NBTC2026-09-29accepted
DEC-020Code under Apache-2.0, docs and images under CC BY 4.02026-09-30accepted

ADR — ការសម្រេចចិត្តផ្នែកស្ថាបត្យកម្ម (10)​

IDDecisionStatus
ADR 0001Stack & architectureaccepted
ADR 0002Authentication via Google Sign-In, not phone OTPaccepted
ADR 0003Donor location precision — how much of a donor's location we storeaccepted
ADR 0004ABO/Rh compatibility lives in a database lookup tableaccepted
ADR 0005Security verification targets OWASP ASVS Level 1accepted
ADR 0006Flutter app follows the course architecture — layered features, Riverpod 2.x with code generationaccepted
ADR 0007Session JWT lives one hour; expiry is repaired by silent re-authentication, not a refresh tokenaccepted
ADR 0008A request notifies at most 25 donors, and only notified donors get a match rowaccepted
ADR 0009Firebase (Firestore + Cloud Functions) replaces Spring Boot and PostgreSQLaccepted — on branch feat/firebase-backend; main unchanged until the branch runs the golden path
ADR 0010The portal's server runs the functions; Cloud Functions and the Blaze plan goaccepted