135 lines
6.5 KiB
Markdown

# 🏥 ระบบบริหารจัดการโรงพยาบาล - ฝั่งผู้ใช้งาน (Frontend)
โปรเจคนี้เป็น **ส่วน Frontend ของระบบบริหารจัดการโรงพยาบาล (Hospital Management System)**
Frontend พัฒนาโดยใช้ **React (Vite)** ทำงานร่วมกับ **Backend API v2.0** ที่เก็บอยู่ที่:
🌐 [Hospital Management API - Gitea](https://gitea.softwarecraft.tech/gitea/hospital-management-api)
ส่วน Frontend ให้บริการทั้งผู้ใช้งานทั่วไป (ผู้ป่วย) และผู้ดูแลระบบ (Admin) โดยเชื่อมต่อกับ API สำหรับฟีเจอร์ต่าง ๆ ตามเวอร์ชัน 2.0
---
## 🚀 ฟีเจอร์หลักที่รองรับ (v2.0)
### 👨‍⚕️ การจัดการข้อมูลหลัก (Core Data Management)
**แพทย์ (Doctor)**
- R1 - ลงทะเบียนแพทย์
- R2 - รายชื่อแพทย์
- R3 - แก้ไขข้อมูลแพทย์
- R4 - ลบข้อมูลแพทย์
**ผู้ป่วย (Patient)**
- R5 - ลงทะเบียนผู้ป่วย
- R6 - รายชื่อผู้ป่วย
- R7 - แก้ไขข้อมูลผู้ป่วย
- R8 - ลบข้อมูลผู้ป่วย
**พนักงาน / นางพยาบาล (Staff / Nurse)**
- R9 - เพิ่มพนักงาน
- R10 - ลงทะเบียนนางพยาบาล
- R11 - รายชื่อนางพยาบาล
- R12 - แก้ไขข้อมูลนางพยาบาล
- R13 - ลบข้อมูลนางพยาบาล
---
### 🩺 การจัดการเฉพาะทาง (Specialized Management)
**การนัดหมาย (Consultation)**
- R14 - จัดตารางการนัดหมาย
- R15 - ยกเลิกนัดหมาย
- R16 - ดูรายละเอียดการนัดหมายแต่ละรายการ
**ตารางแพทย์ / นางพยาบาล (Doctor / Nurse Schedule)**
- R17 - เพิ่มตารางแพทย์
- R18 - เพิ่มตารางนางพยาบาล
- R19 - ดูตารางนางพยาบาล (Pagination)
**ห้องผ่าตัด (Operating Room)**
- R20 - เพิ่ม / แก้ไข / ลบ ห้องผ่าตัด
- R21 - ดูรายชื่อห้องผ่าตัด
- R22 - จัดตารางใช้งานห้องผ่าตัด
**เวชระเบียน / ใบสั่งยา / ผลวินิจฉัย (Medical Record / Prescription / Lab Result / Medical Image)**
- R23 - สร้างเวชระเบียน
- R24 - แก้ไขเวชระเบียน
- R25 - ลบเวชระเบียน
- R26 - ดูเวชระเบียนตาม ID
- R27 - สร้างใบสั่งยาใหม่
- R28 - อัปโหลด / ดาวน์โหลดภาพทางการแพทย์
- R29 - สร้าง / ดูผล Lab ตามเวชระเบียน
**การจัดการคลังสินค้า (Inventory Management)**
- R30-R33 - จัดการ Inventory Item
- R34 - สร้าง Inventory Transaction
- R35 - จัดการ Supplier
- R36 - จัดการ Item Type
**การประกัน / การเรียกร้อง (Insurance Management)**
- R37-R38 - จัดการ Insurance Provider
- R39-R40 - จัดการ Insurance Claim
**การเรียกเก็บเงิน / การชำระเงิน (Billing & Payment)**
- R41-R45 - จัดการ Billing / Payment
**รายงาน (Reports)**
- R46 - รายงานสินค้าคงเหลือต่ำ
- R47 - รายงานสรุปการเงิน
- R48 - รายงานการนัดหมาย
**การจัดการผู้ใช้งาน (User Management)**
- R49-R56 - อัปเดตบัญชีผู้ใช้ / ตั้งค่าบทบาท / เชื่อมต่อผู้ป่วยและผู้ใช้งานอื่น ๆ
---
## 🔑 Default Credentials
สำหรับเข้าระบบครั้งแรก (Admin)
- Username: `admin@softwarecraft.tech`
- Password: `pasword123`
---
## 📖 API Endpoints
Frontend ใช้ API v2.0 สำหรับฟีเจอร์ต่าง ๆ เช่น:
**Authentication**
- POST `/api/auth/register-patient` - ลงทะเบียนผู้ป่วย
- POST `/api/auth/register-doctor-and-link` - ลงทะเบียนแพทย์และเชื่อมบัญชี
- POST `/api/auth/register-staff` - เพิ่มพนักงาน
- POST `/api/auth/login` - เข้าสู่ระบบ
- POST `/api/auth/link-patient-to-user` - เชื่อมผู้ป่วยกับบัญชี
**User Management**
- PUT `/api/v1.0/users/{id}/username` - อัปเดต username
- PUT `/api/v1.0/users/{id}/role` - อัปเดต role
- PUT `/api/v1.0/users/{id}/password` - อัปเดต password
- PATCH `/api/v1.0/users/{id}/deactivate` - ปิดใช้งานบัญชี
- PATCH `/api/v1.0/users/{id}/activate` - เปิดใช้งานบัญชี
**Doctor / Patient / Staff / Consultation / Medical Record / Prescription / Payment / Inventory**
- รองรับ CRUD ตามฟีเจอร์ v2.0 (ดูรายละเอียด API ด้านบน)
---
## 🧰 เทคโนโลยีที่ใช้
- **Frontend Framework:** React (Vite)
- **UI Library:** Tailwind CSS / Daisy UI
- **Routing:** React Router
- **State Management:** React Hooks
- **API Integration:** Fetch / Axios (เชื่อมต่อกับ [Hospital Management API](https://gitea.softwarecraft.tech/gitea/hospital-management-api))
- **Authentication:** JWT
---
## 🧪 การรันในเครื่องนักพัฒนา (Dev Environment)
```bash
# ติดตั้ง dependencies
npm install
# รัน Frontend บนโหมดพัฒนา
npm run dev
```