# 🏥 ระบบบริหารจัดการโรงพยาบาล - ฝั่งผู้ใช้งาน (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 ```