專案

一般

配置概況

動作

Feature #163

已結束
SC SC

實作全端使用者認證、病歷持久化與 UI 優化

Feature #163: 實作全端使用者認證、病歷持久化與 UI 優化

是由 Sashiba Chou約 2 個月 前加入. 於 約 2 個月 前更新.

狀態:
Closed
優先權:
Normal
被分派者:
開始日期:
2026-02-11
完成日期:
2026-02-11
完成比例:

100%

預估工時:
5:00 小時
耗用工時:

概述

h3. 將系統從單機原型升級為多使用者醫療紀錄平台,新增 JWT 認證、SQLite 病歷/模板 CRUD,並優化歷史側邊欄與使用者設定介面的易用性。

h1. 變更範圍

h2. Backend(新增 4 檔、修改 2 檔)

  • 新增 auth.py:JWT + bcrypt 認證模組(24 小時 token 過期)
  • 新增 database.py:SQLAlchemy + SQLite 設定
  • 新增 models.py:User / Template / MedicalRecord ORM 模型
  • 新增 schemas.py:Pydantic 驗證 schema
  • 修改 main.py:新增 /register、/token、/users/me、/users/me/password、/records CRUD、/templates CRUD 等 API 端點
  • 修改 requirements.txt:新增 sqlalchemy、python-jose、passlib、python-multipart

h2. Frontend(新增 4 檔、修改 4 檔)

  • 新增 auth-context.tsx:React Context 認證狀態管理(localStorage token 持久化)
  • 新增 Login.tsx:登入/註冊雙模式表單
  • 新增 HistorySidebar.tsx:病歷歷史側邊欄(讀取/刪除/切換紀錄)
  • 新增 UserSettingsModal.tsx:使用者設定(變更密碼 + 模板 CRUD 含編輯功能)
  • 修改 layout.tsx:包裝 AuthProvider
  • 修改 page.tsx:認證閘門、側邊欄佈局、病歷切換確認對話框
  • 修改 TraumaAssessment.tsx:erNote 狀態提升至表單容器
  • 修改 ReviewTab.tsx:產生病歷時自動存檔至後端

h2. UI 優化

  • 時間戳記:後端 created_at 視為 UTC,前端補 Z 後以瀏覽器本地時區顯示
  • 智慧標籤:age/gender 缺一項時獨立顯示(如 ? y/o Female、50 y/o ?)
  • 刪除確認:病歷與模板刪除前皆彈出 window.confirm 確認
  • 模板編輯器:對話框寬度 80vw、文字區域最小高度 60vh,支援編輯既有模板(PUT 更新)

h1. 其他

  • 更新 CLAUDE.md:記錄 Anaconda 環境、完整架構說明、技術棧與開發進度

SC 是由 Sashiba Chou約 2 個月 前更新 動作 #1

  • 狀態New 變更為 Closed
動作

匯出至 PDF Atom